如何自學人工智慧路徑規劃(附資源,百分百親身經驗)

經濟與程式設計發表於2018-08-11

下面的每個資源都是我親身學過的,且是網上公開公認最優質的資源。

下面的每個學習步驟也是我一步步走過來的。希望大家以我為參考,少走彎路。

請大家不要浪費時間找非常多的資料,只看最精華的!

綜述,機器學習的自學簡單來說分為三個步驟

前期:知識儲備包括數學知識,機器學習經典演算法知識,程式設計技術(python)的掌握

中期:演算法的程式碼實現

後期:實戰水平提升

機器學習路徑規劃圖

如何自學人工智慧路徑規劃(附資源,百分百親身經驗)

一、數學基礎

很多人看到數學知識的時候就望而卻步,數學是需要的,但是作為入門水平,對數學的要求沒有那麼的高。 假設你上過大學的數學課(忘了也沒事),需要的數學知識啃一啃還是基本能理解下來的。

1.1、數學內容

線性代數:矩陣/張量乘法、求逆,奇異值分解/特徵值分解,行列式,範數等

統計與機率:機率分佈,獨立性與貝葉斯,最大似然(MLE)和最大後驗估計(MAP)等

最佳化:線性最佳化,非線性最佳化(凸最佳化/非凸最佳化)以及其衍生的如梯度下降、牛頓法等

微積分:偏微分,鏈式法則,矩陣求導等

資訊理論、數值理論等

上面的看不太懂沒事,不是特別難,學習一下就能理解了。

1.2、數學資源

網上有很多人會列舉大量大量的課程資源,這是非常不負責任的事,學完那些我頭髮都得白了。 實際上,我們只需要學習其中的一部分就夠了。

1.2.1、吳恩達的史丹佛大學機器學習王牌課程CS229,課後就有對學生數學知識的要求和補充,這些數學知識是完全符合機器學習要求的,不多也不少。牆裂推薦要看,不過只有英文版的。

連結: 密碼:3k3m

1.2.2、深度學習的三大開山鼻祖之一Yoshua Bengio寫的深度學習(包含了機器學習)領域的教科書,現在以開源的形式在網上公開。這部書被譽為深度學習的聖經。在這裡我們只看這本書的第一部分,也就是數學基礎。囊括了機器學習所需的所有必備數學基礎,而且是從最基礎的說起,也不多,必讀的。

連結: 密碼:6qqm

1.2.3、跟機器學習演算法相結合的數學知識。上面兩部分是理論層面的數學,機器學習演算法中會對這些數學進行應用。

連結:,知乎專欄上的一篇好文章,囊括了所有的應用知識點。

好了,數學方面我只推薦上面三個資源,三個都是必看的。裡面很多可能你現在看不太懂,沒關係。先大概過一遍,知道自己的數學水平在哪。在看到演算法知識的時候,不懂的再回來補就好。後期需要更多的數學資料我會再更新的。


二、 程式設計技術

程式語言:python3.5及以上,python易學,這個這期先不細講。


三、經典演算法知識

演算法包括機器學習和深度學習,機器學習是深度學習的基礎。所以務必先學機器學習的經典演算法,再學深度學習的演算法。

3.1、機器學習

3.1.1、課程資料

首推吳恩達的CS229,經典中的經典,在網易公開課裡有影片,翻譯,課程講義,筆記是非常非常完備的。牆裂推薦。 這個課程對數學有一定的要求 ,但我覺得只要你上過大學的數學,然後補一下上面的數學,完全可以直接來看這個CS229。

假設你的數學真的很差的話,怎麼辦?吳恩達在coursera上也開了一門跟CS229完全匹配的課程,coursera機器學習課。這門課是CS229的翻版,唯一不同的是它對數學基本是沒有要求了,如果你對數學真的不懂的話,那就先看這個的教程吧。它跟CS229的關係就是同樣的廣度,但是深度淺很多,不過你學完coursera還是要回過頭來看CS229的。這個也是免費的。

CS229課程影片:

課程講義和中文筆記: 密碼:6rw6

3.1.2、配套書籍:

機器學習實戰,必看。用程式碼實現了一遍各大經典機器學習演算法,必須看,對你理解演算法有很大幫助,同時裡面也有應用。 如果大家看上面純理論的部分太枯燥了,就可以來看看這本書來知道在現實中機器學習演算法是怎麼應用的,會很大程度提升你的學習興趣 ,當初我可是看了好幾遍。

書籍及課後程式碼:連結: 密碼:sawb

李航《統計學習方法》,配合著看

連結: 密碼:adep,配合著看

周志華《機器學習》,機器學習的百科全書,配合著看。

連結: 密碼:7rzl

3.2、深度學習

說到深度學習,我們不得不提史丹佛的另一門王牌課程CS231,李飛飛教授的。這門課的課程,課後習題,堪稱完美。必須必須看。整個系列下來,特別是課後的習題要做,做完之後你會發現,哇哦!它的課後習題就是寫程式碼來實現演算法的。這個在網易雲課堂上有。

影片地址:

課程筆記翻譯,知乎專欄:

牆裂建議要閱讀這個知乎專欄,關於怎麼學這門課,這個專欄寫的很清楚。

課後作業配套答案:https://blog.csdn.net/bigdatadigest/article/category/7425092

3.3、學習時間

到這裡了,你的機器學習和深度學習算是入門了。學完上面這些,按一天6小時,一週六天的話,起碼也得三個月吧。上面是基本功一定要認真學。但是,還找不了工作。因為你還沒把這些知識應用到實際當中。

3.4、實戰部分

3.4.1、實戰基礎

這一個階段,你要開始用tensorflow(谷歌的深度學習框架)、scikit-learn(python的機器學習框架),這兩個框架極大程度地整合了各大演算法。其實上面在學習cs231n的時候你就會用到一部分。

scikit-learn的學習:

這是scikit-learn的官方文件中文版翻譯,有理論有實戰,最好的庫學習資源,沒有之一。認真看,傳統的機器學習就是用這個庫來實現的。

Tensorflow的學習:

官方文件很詳盡,還有實戰例子,學習tensorflow的不二之選

3.4.2、實戰進階

僅僅看這兩個教程是不夠的,你需要更多地去應用這兩個庫。

接下來推薦一部神書,機器學習和深度學習的實戰教學,非常非常的棒,網上有很多號稱實戰的書或者例子,我看了基本就是照搬官網的,只有這一本書,是完全按照工業界的流程解決方案進行實戰,你不僅能學習到庫的應用,還能深入瞭解工業界的流程解決方案,最好的實戰教學書,沒有之一。書名是hands-on-ml-with-sklearn-and-tf

連結: 密碼:xssj

3.4.3、實戰最終階段

kaggle資料競賽,如果你已經學到了這一步,恭喜你離夢想越來越近了:對於我們初學者來說,沒有機會接觸到機器學習真正的應用專案,所以一些比賽平臺是我們不錯的選擇。參加kaggle競賽可以給你的簡歷增分不少,裡面有入門級別到專家級別的實戰案例,滿足你的各方面需求。如果你能學到這一步了,我相信也不需要再看這個了。

上述所有資料的合集: 密碼:ve75

補充:

學到這個水平,應該是能夠實習的水平了,還有很多後面再說吧。比如深度學習和機器學習的就業方向,深度學習得看論文,找工作還得對你得程式設計基礎進行加強,具體就是資料結構與演算法,我當年在這個上面可是吃了很大的虧。

這裡面關於深度學習和機器學習的就業其實是兩個方向,上面的其實也沒有說全。一般來說,你得選擇一個方向專攻。我建議的是,自學的最好在後期側重機器學習方向,而不是深度學習。深度學習的崗位實在是太少,要求太高。機器學習還算稍微好點。

重點:上面的學習路徑是主要框架,但是不意味著僅僅學習這些就夠了。根據每個人基礎的不同,你有可能需要另外的學習資料補充。但是,我希望大家可以按照上面的主框架走,先按上面我推薦的資源學,有需要的再去看別的(我之後也會推薦),上面的我能列出來的都是最經典的,最有效率,而且我親身學過的。


後續文章:

上面每個學習步驟還可以細分開來,這是接下來文章的重點。比如python怎麼學,cs229和cs231學習過程中會碰到什麼困難,kaggle怎麼用,數學還跟不上怎麼辦?後續都會一一說明。

歡迎轉載,但請註明出處,尊重作者,謝謝大家了!

文章首發,討論學習,個人公眾號:learningthem

更多幹貨,會繼續分享


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31549715/viewspace-2199863/,如需轉載,請註明出處,否則將追究法律責任。

相關文章