想要入門機器學習,我推薦這幾本書(文末福利)

本文始發於個人公衆號:TechFlow,原創不易,求個關注


最近有很多小夥伴私信我,主要圍繞的問題有兩個,一個問題是想要入門機器學習,應該看什麼書比較好?第二個問題是,有沒有一些福利分享?最近剛好在做整理工作,於是抽了一點時間,把之前看過的電子書都整理了一下,從其中選出了幾本我個人覺得質量比較高的推薦給大家。

這幾本書按照豆瓣評分從高到低排序。


第一本 Python深度學習


這本書和其他基本相比起來名氣要小一些,但是在國外這本書很火。它的作者是大名鼎鼎的Chollet,是Keras框架的作者,被譽爲Keras之父,在業內算是頂級的大牛了。這樣的大牛寫的書,質量可想而知。

我讀這本書是在去年,大概連讀帶實踐一共有了一個多月,我記得很清楚,那一個多月我沒碰PS4,可想而知它的魅力。這本書嚴格說起來屬於深度學習的範疇,幾乎沒有傳統機器學習的內容。也因此它更加聚焦,幾乎把深度學習領域常用的算法和模型都介紹了一遍,也附上了詳細的代碼演示。書裏的代碼演示以及選擇的案例都非常精彩,照着敲就可以獲得很愉悅的體驗。並且全書使用Keras框架實現,整體模型的實現非常爽快,沒有冗餘的代碼, 也沒有反人類的設計。在學完深度學習的同時還能做到keras入門,不得不說是買一送一了。

如果非要說缺點的話也是Keras,這個框架相對沒有TensorFlow和Pytorch那麼流行。所以我學完了之後,幾乎沒有再用過Keras,因此稍稍打了點折扣。但現在TensorFlow2.0將Keras嵌入了其中,學習Keras對於學習TensorFlow2.0也有幫助,所以這也不算太大的問題。

豆瓣評分:9.5

推薦指數:✩✩✩✩✩


第二本 Scikit-learn與TensorFlow機器學習實用指南


這是大名鼎鼎OREILLY出版社的書,這個出版社在業內非常有名,出品的幾乎都是精品。和其他的書面面俱到不同,這本書當中涉及到的模型其實不多,我翻了一下目錄,只有LR、SVM、決策樹、隨機森林、DNN、CNN這幾種。實際上機器學習的核心模型,我們日常當中最經常用到的也就是這麼幾種。書中的每一個模型都講解得很深入,不僅有公式、原理還有代碼演示。實際上我之前的文章當中,也借鑑過書中的演示數據。

這本書的另外一個優點是圍繞機器學習這個概念講解得很透徹,其實機器學習並不像大家所想的那樣只是搭建或者是實現一個模型,然後用起來就完事了。在實際的工業場景當中,機器學習的模型只是一個很小的一部分,算法工程師面對的是從數據到應用再到迴流、迭代的一整個鏈路的事情。很少會有書會涉及模型之外的內容,但是實際上這部分內容是非常重要的。這本書在這點上做得很好,如果你是初學者, 你看完之後,一定對機器學習本身會有更深刻的理解。雖然也許會的模型不多,工具庫的使用也不熟練,但是至少在機器學習這個領域內的認知已經合格了。

有優點自然也有缺點,缺點之一是中文版比較少,我只找到了網友翻譯的開源版本。相對來說排版的質量會差一些,一些字句也不如英文版清晰。另外一個問題是深度學習的部分講得比較淺顯,很多模型不夠深入。

豆瓣評分:9.2

推薦指數:✩✩✩✩✩


第三本 統計學習方法


img

這本書我接觸也比較早了,早在我大三實習的時候就有大牛將它推薦給了我,我第一章都沒有讀完就放在kindle裏喫灰了。之前一段時間又拿出來重新溫習了一遍,完全顛覆了之前的認知,這本書沒有任何問題,就只是我之前太菜了而已。實際上也的確如此,這本書在業內的地位還是很高的,並且內容的質量非常不錯。

這本書從名字上看似乎和機器學習一點關係也沒有,其實不然,雖然說是統計,但是其中講的都是機器學習的方法。大概是因爲年代太久了的關係,在那個年代還沒有機器學習這個熱門詞出現,這些算法還被歸納到統計的範疇當中。這本書一共兩百多頁,講了十幾個模型,平均二十多頁一個模型,而且每個模型講得都很清楚,基本上所有知識點都講到了,質量也很高。也看得出來,這本書的乾貨非常足,而且很精煉。

但是它的缺點也很明顯,整本書讀起來可讀性不行,非常容易勸退。初學者很難一口氣肝完,因爲太像是課堂筆記或者是講課課件了。並且也沒有代碼相關的演示,純粹的理論,讀完了之後想要實踐會有無從下手的感覺。我個人感覺它更適合查漏補缺當做工具書,方便隨時查閱。

豆瓣評分:9.0

推薦指數:✩✩✩


第四本 西瓜書


這是一本明星書,在業內也是大名鼎鼎,南大著名教授周志華寫的,因爲封面上畫滿了西瓜被稱爲西瓜書。他的人工智能實驗室非常出名,有考研或者保研的同學可以考慮一下。之前總有朋友和我開玩笑說因爲周志華,南大的計算機學院已經快變成人工智能學院了。

周教授盛名在外,寫的書質量自然也是不錯的。這本書一共440+頁,囊括了機器學習十幾個算法,不但講解了算法,對於數據的處理、模型的評估方法以及一些常見的指標也都有覆蓋。對於一些術語或者是專業名詞,書籍的頁腳還提供了註解,書中還提供了詳細的插圖和公式推導,和統計學習方法這本書一樣,乾貨很滿。

說完了優點來聊聊缺點,和《統計》這本書一樣,乾貨太滿可能導致不好消化,尤其是初學者。豆瓣上排名第一的評論就指出這本書作爲自學入門的書是不合適的,實際上我也不是靠這本書入門的。有網友說這本書是周教授平時授課內容的一個集合版,所以可能要配合授課效果更好,僅僅憑着自己閱讀理解上會有些困難。另外,本書當中的一些符號和術語的翻譯不夠嚴謹,我一時也想不起來例子了,如果你讀過國外英文的材料再來看這本書一定會有這樣的感覺。

總結一下,這本書是本好書,但是不太適合初學者自學入門。需要在看書的過程當中查閱很多資料進行查漏補缺。

豆瓣評分:8.6

推薦指數:✩✩✩


第五本 機器學習實戰


img

這本書知名度也不低,我曾經也在知乎上推薦過。關於這本書的質量其實網上存在一定的爭議,我個人讀過兩遍,第一次讀的時候是在幾年前入門的時候。那時候讀的時候驚爲天人,因爲書裏的每一個模型都有詳細的代碼實現,照着敲一遍就可以在本地跑起來。並且對於一些模型的講解也算是細緻,比如SVM,除了嚴謹的公式推導之外,還有SMO算法的實現。從這點上來說對於初學者非常友好。

但是今年我第二次讀到這本書的時候,一些看法發生了改變,最大的感覺就是這本書裏的代碼寫得實在是太爛了。還不是一點半點爛,是非常爛。總有一些莫名其妙的縮寫,一些代碼看起來也不夠精簡,很明顯還有更優雅的寫法,以及面向對象部分幾乎沒有,作者是把它當成面向過程寫的。另外一個很大的問題是,書中的一些內容有些過時了,關於一些模型的講解也不夠深入,比如決策樹,只是淺嘗輒止。關於熱門的sklearn庫的使用也沒有提及,讀者學完了之後還需要自己去找api。

hhhhh說了這麼多,感覺黑比誇多得多。我原本也是不想把這本書放上來的,但是後來看到豆瓣當中關於這本書評論第一條就是:一個合格的讀者,應該明白自己需要什麼。我想了一下,覺得很有道理,對於頭腦清楚,知道自己要什麼的讀者來說,這本書其實還是很不錯的。如果你只是想要速成,走一條捷徑,用兩三天變成一個“會用”機器學習模型的人,那麼它顯然不適合你,如果你想要多深入一點,知道這些模型背後的代碼實現是怎樣的,那麼也許你會看得很開心(忽略代碼質量的話)。

豆瓣評分:8.1

推薦指數:✩✩✩✩


總結


我們做個簡單的總結,上面這五本書,我個人推薦的閱讀順序是scikit-learn和TensorFlow使用指南 -> 機器學習實戰 -> Python深度學習 -> 統計學習方法 -> 西瓜書。當然你也可以反過來讀,從難到易,體會一把從地獄到天堂的感覺【大霧】。

我個人覺得如果你可以把這幾本書啃完,當中的代碼親自動手實驗一次,我覺得入門機器學習對你來說一定不是問題。如果你還有更好的書或者是資料,也可以在後臺或者是留言當中分享給我。

最後,在公衆號後臺回覆機器學習入門,我把這些書的開源資料分享給你。

如果喜歡本文,可以的話,請點個關注,給我一點鼓勵,也方便獲取更多文章。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章