ml handout

做者:Leon
連接:https://www.zhihu.com/question/20691338/answer/102249162
來源:知乎
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。

我看到有人在問,Andrew Ng的視頻,還有代碼這些的資料。再次整理一下:php

一、機器學習實戰的書:《機器學習實戰 (圖靈程序設計叢書 72)》 [美]Peter Harrington, 李銳, 李鵬, 曲亞東, 王斌 書評 簡介 電子書下載 Kindle電子書html

二、Andrew Ng老師的視頻教程:Machine Learning:斯坦福大學機器學習我的筆記完整版(附全部視頻和字幕) (如今Andrew Ng老師沒開新課了,這是一個同窗本身下載的全部視頻和相關資料,你們能夠自行下載)git

三、Andrew Ng老師早期的一個機器學習公開課:斯坦福大學公開課 :機器學習課程github

四、Andrew Ng老師機器學習課的代碼。Python版本:icrtiou/Coursera-ML-AndrewNg算法

Matlab版本:vugsus/coursera-machine-learning編程

 

另外,鑑於如今深度學習這麼的火熱,並且如今作機器學習也避免不了瞭解及應用深度學習,我這裏也加入一些深度學習的內容。網絡

一、入門的數學和編程基礎和機器學習的要求是同樣的。框架

二、入門讀物仍是推薦Andrew Ng老師組織的一個WIKI,UFLDL Tutorial - Ufldl , 很是建議你們老老實實花兩個星期的時間把這個wiki的內容和相關程序本身實現一次。並且,這個wiki是有中文版本的,在每一個頁面的最下面均可以點擊查看中文版本。(PS:我還很榮幸的當時參與了當時的翻譯工做,爲內容的中文化作了一點點微小的工做。)。機器學習

三、如今的深度學習應用最爲普遍的就是卷積神經網絡(Convolutional neural network, CNN),因此建議你們能夠多看看這個方面的內容。正好這幾天Fei Fei Li老師的CNN課程又開課了,你們有興趣能夠去看看。這個網站會同步更新,並且有中文翻譯。【中文字幕】2017春季CS231n 斯坦福深度視覺識別課ide

四、作深度學習避免不了的要選擇一個平臺,Tensorflow,Caffe,Torch,MxNet等等都是選擇。若是是新手,尤爲是基於Windows平臺的新手,我仍是比較建議用Tensorflow。具體的內容能夠參見這個莫煩系列教程 - Tensorflow教程

五、最後,就是勤聯繫、勤聯繫、勤聯繫啦。

六、最後的最後,若是沒有項目參與,那麼最好的檢驗本身的學習成果的手段就是參加比賽啦。國外的Kaggle,KDD CUP,...。國內的天池大數據競賽,...。

 


這幾年,機器學習絕對是計算機領域最熱門的話題和方向。筆者不屬於專門研究機器學習,可是平時的工做會常常用到一些相關的算法。所以,對於機器學習也僅僅是入門的水平。可是我想也正是由於我只是一個入門漢,因此可以從咱們入門者的角度來總結如何入門,但願對還在門外的同窗有一些幫助。

數 學

不少人翻看任何一本機器學習的書,看到一推的數學公式就開始打退堂鼓了。開始搜索,提問「機器學習須要哪些數學知識?」而後獲得的結果可能會是「矩陣分析,機率論,優化設計……」並且還會有大量的人推薦一些例如「All of Statistics」,「Convex Optimation」等等外文教材。至少我當時面對的狀況就是這樣的。這種狀況極可能後面會朝如下畫風發展。

看到上述推薦的那些經典教材,你像看待聖經同樣看待他們。抱着一種學會了那些課,我再看機器學習的書簡直就會是探囊取物的想法,你下載了巨多相關材料。可是,慢慢你會發現,除了把他們下載了下來,你並無任何的進步。你並無完完整整的看完一本,你並無在機器學習方面卓越超羣。

入門階段真的須要這麼多的數學儲備嗎?未必。

入門階段我感受你只要有普通工科專業大一大二那幾門基礎數學課「線性代數」,「高數」,「機率論與數理統計」就可讓你入門了。

因此,千萬別被機器學習中的數學所嚇倒而不知道該如何下手。

只要有上述的幾門課的基礎,你徹底能夠看懂很大一部分機器學習算法。

程序語言

機器學習入門最佳的方法其實就是理論和代碼一塊兒學習。一邊看相應的理論推導,一邊看而且實踐經典代碼。因此,爲了更快入門,我推薦你最好可以懂點MATLAB或者是Python語言。

Matlab和Python說實話作高端的機器學習確定是不推薦的,可是若是你想的是機器學習快速入門,那這兩門語言絕對是絕佳選擇。

 

第一步

有了上述基礎後,你能夠開始看點機器學習的相關內容了。我看不少人推薦elements of machine learning。我想說,你想讓一個基礎爲零的人去看這本書,真的合適嗎???

因此,我推薦的是Machine Learning in action,(這裏面的完成語言爲Python)這是英文版本的。固然若是你以爲英文對你是一個徹底過不去的坎,(雖然我建議作技術的人都必須至少要看得懂英文)如今有中文版本,叫「機器學習實踐」。

這本書用盡可能少的公式把機器學習的基本算法都過了一遍,並且還講得很清楚,更爲重要的是他將公式和代碼結合了起來。所以,你的機器學習並無那麼的抽象了,你知道算法裏的公式如何的轉化爲代碼。

因此,第一步,你能夠耐着性子將這本書看完。反正我當時,把書中的代碼本身敲了一次,雖然代碼有的下載,你也能夠選擇只是把代碼看懂完事。但我仍是建議,本身敲一次,運行運行,這樣你會獲得不同的體會。

 

第二步

學習Coursera上面Andrew Ng老師的machine learning的課程。這門課造福了衆多機器學習的入門者,不只僅是由於課程全面,內容由淺入深。更加劇要的是這門課程每次課都有課堂做業,做業不須要你寫出來全部的代碼,可是關鍵代碼要你寫出來,並且還會教你如何調試代碼。

初學者學這門課的時候極可能會買有耐心,又是英文的,又有進度要求,又有做業。不要緊,你能夠把視頻下載下來(不少網盤裏都有下載好的視頻),而後慢慢的去啃。做業也是,可能你本身不能一口氣寫出來,不要緊,在本身作了大量嘗試後,去Github上面下載一些別人寫好的代碼看一看,找找本身的問題到底出在了哪裏。

總之,必定要耐着性子過一遍甚至是幾面這個課程。

 

第三步

這時候你已經對機器學習不少簡單的算法比較清楚了,可是可能尚未一種大的全局觀。因此,我建議你們能夠看看這兩本中文教材。周志華老師的西瓜書《機器學習》和李航老師的《統計學習方法》,這兩本書都是做者花了大量心思編寫的,也是在中國衆多科技書籍中可貴的兩本佳做。

英文書籍,能夠推薦《Patten Recognition and Machine Learning》,《Elements
of Statistical Learning》
(可是這本書難度比較大,若是你有足夠的耐心,能夠慢慢啃,屢次的啃。相信每次都會有不一樣的收穫。我本身已經看了好幾回,可是確實每次都沒有徹底看完,可是目前我遇到不少問題,我去翻這本書,仍是能找到不少答案,尤爲是我作稀疏相關的工做,裏面的相關內容講解很是清楚。)

 

第四步

這時候,機器學習你已經能夠說大概入門了。後面的事情,就得根據你的需求來制定相關的學習路線。

好比,作大數據分析的,得去學學spark,Hadoop等計算框架;

另外,圖模型,深度學習……等等內容,都是一些方向。

天然語言處理、圖像識別、語音識別等等也是一些應用方向,更有大量的領域知識須要結合。

 

 

在前沿部分和第一到第三步的內容,若是你能按照這幾步走下來,入門是確定能夠的。至於後面的機器學習精通部分,我也只能說:Good Luck and Have Fun

 

 

廣告時間:機器學習、將來智能、機器人相關話題,可關注公衆號:

平衡小車之家

編輯於 2018-01-15

相關文章
相關標籤/搜索