自學機器學習入門指南

前言

本篇是Kabuto_hui(ISN國家重點實驗室成員)的公衆號投稿,感謝Kabuto_hui。更多技術文章請訪問,Kabuto_hui的csdn博客連接:http://blog.csdn.net/kabuto_hui程序員

自學機器學習:一條你可能缺乏的路線圖

本文翻譯自原做者Jason Brownlee的文章,原做者於2014年6月發表在Start Machine Learning算法

Dr. Jason Brownlee是一位優秀的丈夫,驕傲的父親,學術研究員,做家,專業的機器學習開發者和從業者;他致力於幫助開發人員開始學習並掌握機器學習。編程

​ 在這篇文章中,我爲實用機器學習制定了一個具體的自學路線圖,您能夠用來定位本身並規劃本身下一步的學習計劃。網絡

​ 我思考過不少關於框架和系統的方法(正如我博客上證實的)。我認爲這篇文章中所提到的自學方法是我之前思考的一個極大的拓展,在社區裏也收穫了一些贊同的聲音。框架

機器學習路線圖

​ 機器學習是一個巨大的學習領域。他有很是多的算法,理論,技術和各類各樣的問題,要想學習他確實有必定的壓力。機器學習

​ 機器學習也是跨學科的。你可能須要程序員的知識和統計學家的知識,假設你沒有這麼多的預先知識時,你會感到困難。工具

​ 真正須要的是一種結構化的方法,爲學習機器學習中詳細的主題和層次提供一個路線圖,並集成一些流行的資源如書籍和開放課程等。學習

​ 結構化的方法經過將注意力集中在你須要學習的部分上。它經過對材料的表現進行排序,側重於實踐方面,爲工程師和程序員量身定作。ui

​ 路線圖讓您能夠根據本身的位置和您想要的位置來定位本身。.net

自學是通向成功的途徑

​ 自學是指以本身的速度,按照本身的條件和本身的時間表去學習。

​ 自學是學習機器學習的最佳途徑。這並不意味着你必須本身作這一切,這遠遠不夠。它要求要有高效率的學習方法和利用網絡上最好的課程,書籍和指南。

​ 自學也和本科和研究生那樣正式的課程同樣。它是一種積極的將材料整合到您本身的知識庫中並擁有它的過程。擁有這些知識,你能夠深刻的瞭解你最感興趣的領域。

​ 機器學習是一門應用學科,如編程。理論學習很是重要,可是更重要的是你要花時間去應用這些理論。你必須去練習,這很是重要。你須要去創建一種對流程,算法和問題的直覺。

能力水平劃分

學習機器學習的結構化方法分爲四個能力層次:

  • 初學者
  • 新手
  • 中級
  • 高級

這四個層次是根據他們面臨的問題和他們擁有的學習目標來界定的。反過來,每一個級別都有一套不一樣的活動來追求他們的目標。

自習

每一個層次所面臨的問題

每個能力層都面臨着一系列不一樣的問題,以下:

  • **初學者:**主要的困惑是機器學習是什麼。淹沒於海量的信息之中。對所提供的大部分信息的中未明確假定的先驗知識感到沮喪。
  • **新手:**被算法的數學描述所困擾。努力將機器學習應用到實際問題上,缺少尋找問題的能力。
  • **中級:**對介紹性的材料感到無聊。渴望更多的細節和更深的想法。渴望展現並推進他們的知識和技能。
  • **高級:**癡迷於從系統和解決方案中得到最大收益。尋求更大的貢獻的機會。激發了突破界限的靈感。

每一個層次的學習目標

能力層級中,每一層都有一個單一的目標和許多相應的子任務。以下:

  • **初學者:**創建一個明確的基礎,並準備開始進入這個領域
  • **新手:**應用機器學習的開發與實踐
  • **中級:**深刻了解算法,問題和工具
  • **高級:**拓展某個領域如算法,問題和工具等

自學活動

每一個層次的目標定義了要實現這個目標的活動類型。你能夠本身計劃你的活動(強烈鼓勵),如下是每一個層次的建議活動:

初學者

  • 發現機器學習的「Whys」(如機器學習的重要及爲何它你很重要)
  • 明確那些可能會對你產生阻礙的自身限制(如沒有學位,數學能力不強等)
  • 探討該領域的基礎定義和概念(如機器學習問題和算法)

新手

  • 學習應用機器學習過程當中的步驟。
  • 經過應用機器學習的步驟去了解足夠的工具和庫的細節(基本熟悉工具和庫)
  • 練習經過使用應用機器學習解決端到端問題

中級

  • 對算法,問題和工具進行小調查
  • 經過參加機器學習的相關比賽以提升本身的應用機器學習的技能

高級

  • 以結構化的方法開發算法,問題和工具的擴展
  • 爲社區作貢獻

如何使用本路線圖

該路線圖是一個有用的工具,你能夠在各類學習機器學習的方式上把它做爲:

  • **學習指南:**使用它做爲目標和活動的線性指南。耐心和努力將使你在短期內達到高級水平。
  • **精簡指南:**用做上述線性指南,但將目標縮小到您正在尋求掌握的特定機器學習領域,而不是更普遍的應用機器學習領域。這多是一個特定的問題或算法類。
  • **信息過濾器:**此路線圖能夠用於幫你過濾你所遇到的信息和資源。這是一個很是重要的功能,你能夠快速的評估博客文章,論文和書籍是否你目前的層次所匹配。

學習範圍

​ 我建議您將範圍集中在分類和迴歸類型問題以及相關算法和工具上。這些是兩個最多見的底層機器學習問題,大多數其餘問題能夠用獲得。

​ 有機器學習的子領域,如計算機視覺,天然語言過程,推薦系統或增強學習。這些領域能夠簡化爲分類和迴歸問題,而且它們的學習也徹底符合的路線圖結構。我建議不要潛入這些領域,直到你處於中等水平。

原則

​ 我有一些務實的原則,可能會幫助您使您在機器學習目標方面取得快速有效的進展。由他們撐起了這個路線圖。

  • **機器學習是一個旅程:**你須要知道你如今在哪裏和你想去哪裏。這將須要時間和努力,但有不少幫助可用。
  • **建立半正式的工做產品:**以博客文章,技術報告和代碼存儲庫的形式記錄學習和發現的內容。你將快速地爲你和其餘人提供一系列展現出的技能和知識以供思考。
  • **及時學習:**在你須要它以前不要學習複雜的主題。例如,只須要學習足夠的關於機率論和線性代數知識以便理解目前你所學習的算法,而不是花3年的時間去學習統計學和數學再去開始學習機器學習。
  • **充分利用現有技能:**若是你會編程,經過實現算法遠比學習它的數學原理更加容易理解。使用你熟悉的語言。專一一件事情,不要同時學習一門新的語言,工具或者庫來使其複雜化。
  • **理想是掌握:**掌握機器學習須要不斷的學習。你永遠不可能徹底掌握它,你只能繼續學習,學習和改進。

提示

如下是3個提示,以有效地充分利用本指南和你機器學習的歷程:

  • 從一個能夠在一小時內完成小項目開始
  • 每週完成一個項目以創建和保持你的動力以及你能夠構建一個項目的工做區
  • 在你的博客,Facebook,Google+,Github上分享你的成果,隨時隨地展現你的興趣,增長技能,知識並得到反饋。

行動步驟

花點時間寫下來

  • 你認爲你目前在什麼層次,你正在被什麼困惑?
  • 你想要達到什麼層次,你想要作什麼?

機器學習是一個旅程
相關文章
相關標籤/搜索