如何更好地學習機器學習?

Daetalus發表於2015-01-03

Metacademy的創始人Colorado Reed釋出過一篇名為“機器學習練級攻略”,文中回答了初學者經常問他的一個問題:如何才能更好地學習機器學習?這篇文章將總結Colorado的建議並分步講解他文中的路線圖。

如何更好地掌握機器學習

Colorado是伯克利大學的在讀博士,同時也是Metacademy的創始人。Metacademy是一個優秀的開源平臺,許多專業人員共同在這個平臺上編寫wiki文章。目前,這些文章主要圍繞著機器學習和人工智慧這兩個主題。

在Colorado的建議中,更好地學習機器學習的方法就是不斷的通過書本學習。他認為讀書的目的就是讓心中有書。

一個博士在讀生給出這樣的建議並不令人驚訝,以前本站可能還推薦過類似的建議。這個建議還可以,但我不認為適用每個人。如果你是個開發者,想實現機器學習的演算法。下面列出的書籍是一個很好的參考,可以從中逐步學習。

機器學習路線圖

他的關於機器學習的路線圖分為5個級別,每個級別都對應一本書必須要掌握的書。這5個級別如下:

  • Level 0(新手):閱讀《Data Smart: Using Data Science to Transform Information into Insight》。需要了解電子表格、和一些演算法的高階資料流。
  • Level 1(學徒):閱讀《Machine Learning with R》。學習在不同的情況下用R語言應用不同的機器學習演算法。需要一點點基本的程式設計、線性代數、微積分和概率論知識。
  • Level 2(熟練工):閱讀《Pattern Recognition and Machine Learning》。從數學角度理解機器學習演算法的工作原理。理解並除錯機器學習方法的輸出結果,同時對機器學習的概念有更深的瞭解。需要有演算法、較好的線性代數、一些向量積分、一些演算法實現經驗。
  • Level 3(大師):閱讀《Probabilistic Graphical Models: Principles and Techniques》。深入瞭解一些高階主題,如凸優化、組合優化、概率論、微分幾何,及其他數學知識。深入瞭解概率圖模型,瞭解何時應該使用以及如何解釋其輸出結果。
  • Leval 4(宗師):隨便去學吧,記得反饋社群。

Colorado針對每個級別中列出的書中章節閱讀建議,並給出了建議去了解的相關頂級專案。

Colorado後來重新發布了一篇部落格,其中對這個路線圖做了一點修改。他移除了最後一個級別,並如下定義了新的級別:好奇者、新手、學徒、熟練工、大師。他說道,Level 0中的機器學習好奇者不應該閱讀相關書籍,而是瀏覽觀看與機器學習有關的頂級視訊。

機器學習中被忽視的主題

Scott Locklin也閱讀了Colorado的那篇部落格,並從中受到了啟發,寫了一篇相應的文章,名為“機器學習中被忽視的想法”(文中有Boris Artzybasheff繪製的精美圖片)。

Scott認為Colorado給出的建議並沒有充分的介紹機器學習領域。他認為很少有書籍能做到這一點,不過他還是喜歡Peter Flach所著的《Machine Learning: The Art and Science of Algorithms that Make Sense of Data》這本書,因為書中也接觸了一些隱晦的技術。

Scott列出了書本中過分忽視的內容。如下所示:

  • 實時學習:對流資料和大資料很重要,參見Vowpal Wabbit
  • 強化學習:在機器人方面有過討論,但很少在機器學習方面討論。
  • “壓縮”序列預測技術:壓縮資料發現學習模式。參見CompLearn
  • 面向時間序列的技術。
  • 一致性預測:為實時學習精確估計模型。
  • 噪聲背景下的機器學習:如NLP和CV。
  • 特徵工程:機器學習成功的關鍵。
  • 無監督和半監督學習。

這個列表很好的指出了機器學習中沒有注意到的領域。

最後要說明的是,我自己也有一份關於機器學習的路線圖。與Colorado一樣,我的路線圖僅限於分類/迴歸型別的監督機器學習,但還在完善中,需要進一步的調查和新增所有感興趣的主題。與前面的“讀這些書就可以了”不同,這個路線圖將會給出詳細的步驟。

打賞支援我翻譯更多好文章,謝謝!

打賞譯者

打賞支援我翻譯更多好文章,謝謝!

任選一種支付方式

如何更好地學習機器學習? 如何更好地學習機器學習?

相關文章