自學機器學習入門指南

jamesehng發表於2017-10-31

前言

本篇是Kabuto_hui(ISN國家重點實驗室成員)的公眾號投稿,感謝Kabuto_hui。更多技術文章請訪問,Kabuto_hui的csdn部落格連結:http://blog.csdn.net/kabuto_hui

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

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

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

​ 在這篇文章中,我為實用機器學習制定了一個具體的自學路線圖,您可以用來定位自己並規劃自己下一步的學習計劃。

​ 我思考過很多關於框架和系統的方法(正如我部落格上證明的)。我認為這篇文章中所提到的自學方法是我以前思考的一個極大的擴充,在社群裡也收穫了一些贊同的聲音。

機器學習路線圖

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

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

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

​ 結構化的方法通過將注意力集中在你需要學習的部分上。它通過對材料的表現進行排序,側重於實踐方面,為工程師和程式設計師量身定做。

​ 路線圖讓您可以根據自己的位置和您想要的位置來定位自己。

自學是通向成功的途徑

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

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

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

​ 機器學習是一門應用學科,如程式設計。理論學習非常重要,但是更重要的是你要花時間去應用這些理論。你必須去練習,這非常重要。你需要去建立一種對流程,演算法和問題的直覺。

自學機器學習入門指南

能力水平劃分

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

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

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

自習

每個層次所面臨的問題

每一個能力層都面臨著一系列不同的問題,如下:

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

每個層次的學習目標

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

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

自學活動

每個層次的目標定義了要實現這個目標的活動型別。你可以自己計劃你的活動(強烈鼓勵),以下是每個層次的建議活動:

初學者

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

新手

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

中級

  • 對演算法,問題和工具進行小調查
  • 通過參加機器學習的相關比賽以提高自己的應用機器學習的技能

高階

  • 以結構化的方法開發演算法,問題和工具的擴充套件
  • 為社群做貢獻

如何使用本路線圖

該路線圖是一個有用的工具,你可以在各種學習機器學習的方式上把它作為:

  • **學習指南:**使用它作為目標和活動的線性指南。耐心和努力將使你在短時間內達到高階水平。
  • **精簡指南:**用作上述線性指南,但將目標縮小到您正在尋求掌握的特定機器學習領域,而不是更廣泛的應用機器學習領域。這可能是一個特定的問題或演算法類。
  • **資訊過濾器:**此路線圖可以用於幫你過濾你所遇到的資訊和資源。這是一個非常重要的功能,你可以快速的評估部落格文章,論文和書籍是否你目前的層次所匹配。

學習範圍

自學機器學習入門指南

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

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

原則

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

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

提示

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

  • 從一個可以在一小時內完成小專案開始
  • 每週完成一個專案以建立和保持你的動力以及你可以構建一個專案的工作區
  • 在你的部落格,Facebook,Google+,Github上分享你的成果,隨時隨地展示你的興趣,增加技能,知識並獲得反饋。

行動步驟

花點時間寫下來

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

機器學習是一個旅程

相關文章