1. 程式人生 > >機器學習和python學習之路吐血整理技術書從入門到進階(珍藏版)

機器學習和python學習之路吐血整理技術書從入門到進階(珍藏版)

轉載自某大佬部落格:https://pymlovelyq.github.io/2018/10/15/machineLearning/

“機器學習/深度學習並不需要很多數學基礎!”也許你在不同的地方聽過不少類似這樣的說法。對於鼓勵數學基礎不好的同學入坑機器學習來說,這句話是挺不錯的。不過,機器學習理論是與統計學、概率論、電腦科學、演算法等方面交叉的領域,對這些技術有一個全面的數學理解對理解演算法的內部工作機制、獲取好的結果是有必要的。機器學習確實需要對一些數學領域有深入理解,缺乏必要的數學知識,很可能在更深入的學習中不斷遇到挫折,甚至導致放棄。
說的很多小夥伴恐怕心都涼了一半,或者已經開始打退堂鼓了。不要緊,山人自有妙法。下面就給大家分享一下,主要是一些資源(書籍或者視訊課程)。人工智慧(機器學習或資料探勘等)中最最重要的數學就是線性代數與概率論(還有其他,但這兩者比重最大)。

所以我找了個書單自學,電子書為主,順便分享出來。使用電子書的形式是因為,個人偏好。即使我買了實體書,一旦找到了電子書,我馬上就會把紙質書扔到床底下。如果侵犯了任何人的權益,煩請及時通知。

前言:技術書閱讀方法論

一.速讀一遍(最好在1~2天內完成)

人的大腦記憶力有限,在一天內快速看完一本書會在大腦裡留下深刻印象,對於之後複習以及總結都會有特別好的作用。
對於每一章的知識,先閱讀標題,弄懂大概講的是什麼主題,再去快速看一遍,不懂也沒有關係,但是一定要在不懂的地方做個記號,什麼記號無所謂,但是要讓自己後面再看的時候有個提醒的作用,看看第二次看有沒有懂了些。

二.精讀一遍(在2周內看完)

有了前面速讀的感覺,第二次看會有慢慢深刻了思想和意識的作用,具體為什麼不要問我,去問30年後的神經大腦專家,現在人類可能還沒有總結出為什麼大腦對記憶的完全方法論,但是,就像我們專業程式設計師,打程式碼都是先實踐,然後就漸漸懂了過程,慢慢懂了原理,所以第二遍讀的時候稍微慢下來,2周內搞定。記住一句話:沒看完一個章節後,總結一下這個章節講了啥。很關鍵。

三.實踐(在整個過程中都要)

實踐的時候,要注意不用都去實踐,最好看著書,敲下程式碼,把重點的內容敲一遍有個肌肉記憶就很不錯了。
以及到自己做過的專案中去把每個有涉及的原理的程式碼,研究一遍,就可以了

百度網盤連結:https://pan.baidu.com/s/1wIL_5arbxhjvzWeyba89kA
提取碼:b379
備註:檔案比較大,網盤直接開啟會顯示損壞,裡面已經整理並且壓縮好,需要下載後才可以打。

avatar
avatar
avatar
Alt text
Alt text

一. 數學基礎

1.微積分:《微積分學教程》 (F.M.菲赫金哥爾茨)俄羅斯的數學書

avatar

2.線性代數:《Linear Algebra and Its Applications,Third Edition (David C.Lay)》講得很實際,線性代數最重要的就是與實際應用相聯絡才能夠理解其意義

avatar

3.概率與統計:《概率論與數理統計 (陳希孺)》或《概率論與數理統計(盛驟/謝式千/潘承毅)》這兩本書都很不錯

 ![3.1.png](https://i.loli.net/2018/10/27/5bd3d780336eb.png)

4.隨機過程:《應用隨機過程:概率模型導論 (Sheldon M. Ross)》這本書已經出到第10版了

這四門是數學的基礎,當然數學本身就是博大精深的。

二. 機器學習與資料探勘(偏理論)

1.《 統計學習方法 (李航)》

3.2.png

2.《統計學習基礎 (Trevor Hastie, Robert Tibshirani, Jerome Friedman)》

3.《Pattern Recognition and Machine Learning (Christopher Bishop)》

4.《Introduction to Machine Learning (Ethem Alpaydin)》(《機器學習導論》)

6.《Data Mining (韓家煒) 》

7.《現代模式識別 (孫即祥) 》

3.4.png

個人覺得《統計學習方法》與《統計學習基礎》這兩本書是基礎,後面的書內容相差不大,所以前兩本書應該看,而入門的話,後面的書可以選1到2本精讀,剩下的書可作參考。

三. 智慧演算法(偏應用)

1.《Web智慧演算法 (Haralambos Marmanis, Dmitry Babenko)》

2.《集體智慧程式設計 (Toby Segaran)》

3.《推薦系統實踐 (項亮)》

6.png

4.《資料之魅 (Pbilipp K.Janert)》

這幾本書均是從實踐的角度講解了機器學習中常用的演算法,非常值得一看。
有人推薦,學習機器學習的話可以先讀《統計學習方法》和《統計學習基礎》打底,這樣就包含了大部分的演算法,然後再深入研究某個演算法。

四.機器學習入門級:

1.《數學之美》;作者吳軍大家都很熟悉。這本書主要的作用是引起了我對機器學習和自然語言處理的興趣。裡面以極為通俗的語言講述了數學在這兩個領域的應用。

2.《Programming Collective Intelligence》(中譯本《集體智慧程式設計》);作者Toby Segaran也是《BeautifulData : The Stories Behind Elegant Data Solutions》(《資料之美:解密優雅資料解決方案背後的故事》)的作者。這本書最大的優勢就是裡面沒有理論推導和複雜的數學公式,是很不錯的入門書。目前中文版已經脫銷,對於有志於這個領域的人來說,英文的pdf是個不錯的選擇,因為後面有很多經典書的翻譯都較差,只能看英文版,不如從這個入手。還有,這本書適合於快速看完,因為據評論,看完一些經典的帶有數學推導的書後會發現這本書什麼都沒講,只是舉了很多例子而已。

3.《Algorithms of the Intelligent Web》(中譯本《智慧web演算法》);作者Haralambos Marmanis、Dmitry Babenko。這本書中的公式比《集體智慧程式設計》要略多一點,裡面的例子多是網際網路上的應用,看名字就知道。不足的地方在於裡面的配套程式碼是BeanShell而不是python或其他。總起來說,這本書還是適合初學者,與上一本一樣需要快速讀完,如果讀完上一本的話,這一本可以不必細看程式碼,瞭解演算法主要思想就行了。

4.《統計學習方法》;作者李航,是國內機器學習領域的幾個大家之一,曾在MSRA任高階研究員,現在華為諾亞方舟實驗室。書中寫了十個演算法,每個演算法的介紹都很乾脆,直接上公式,是徹頭徹尾的“乾貨書”。每章末尾的參考文獻也方便了想深入理解演算法的童鞋直接查到經典論文;本書可以與上面兩本書互為輔助閱讀。

5.《Machine Learning》(《機器學習》);作者TomMitchell[2]是CMU的大師,有機器學習和半監督學習的網路課程視訊。這本書是領域內翻譯的較好的書籍,講述的演算法也比《統計學習方法》的範圍要大很多。據評論這本書主要在於啟發,講述公式為什麼成立而不是推導;不足的地方在於出版年限較早,時效性不如PRML。但有些基礎的經典還是不會過時的,所以這本書現在幾乎是機器學習的必讀書目。那麼Mitchell的<機器學習>是經典的入門之作。當然,因為年代久遠,很多新的模型都沒有涉及到,但不影響他的經典性——入門級。

6.《機器學習實戰》對於程式設計師,想快速瞭解模型流程和優缺點的,甚至是實現模型的,那麼是我比較推薦的,現在已經有中文版了<機器學習實戰>。這本書,提到了很多常見的模型,開始就是模型背景簡介,之後是模型優缺點和應用場景、在接著演算法實現和案例。而且,在書的最後,提及了一些比較切合時代的話題——大資料下機器學習。

《機器學習基礎》對於想從事機器學習的入門人員,比較推薦一本有中文版的<機器學習基礎>(Simon Rogers的,英國格拉斯哥大學電腦科學學院講師),這本書適合高年級本科生和研究生。從理論的角度,推導了各個演算法,以及探究了各個模型的特性等。涉及數學和矩陣的地方,都有詳細的參照。適合高階點的入門,看這本書,可以體會一下自己的數學和矩陣,有種必須要加強的感覺。

3.5.png

7.《Mining of Massive Datasets》(《大資料》);作者Anand Rajaraman[3]、Jeffrey David Ullman,Anand是Stanford的PhD。這本書介紹了很多演算法,也介紹了這些演算法在資料規模比較大的時候的變形。但是限於篇幅,每種演算法都沒有展開講的感覺,如果想深入瞭解需要查其他的資料,不過這樣的話對演算法進行了解也足夠了。還有一點不足的地方就是本書原文和翻譯都有許多錯誤,勘誤表比較長,讀者要用心了。

8.《Data Mining: Practical Machine Learning Tools and Techniques》(《資料探勘:實用機器學習技術》);作者Ian H. Witten 、Eibe Frank是weka的作者、紐西蘭懷卡託大學教授。他們的《ManagingGigabytes》[4]也是資訊檢索方面的經典書籍。這本書最大的特點是對weka的使用進行了介紹,但是其理論部分太單薄,作為入門書籍還可,但是,經典的入門書籍如《集體智慧程式設計》、《智慧web演算法》已經很經典,學習的話不宜讀太多的入門書籍,建議只看一些上述兩本書沒講到的演算法。

五.機器學習深入級:

1.《Pattern Classification》(《模式分類》第二版);作者Richard O. Duda[5]、Peter E. Hart、David。模式識別的奠基之作,但對最近呈主導地位的較好的方法SVM、Boosting方法沒有介紹,被評“掛一漏萬之嫌”。

2.《The Elements of Statistical Learning : Data Mining, Inference, andPrediction》,(《統計學習基礎:資料探勘、推理與預測》第二版);作者RobertTibshirani、Trevor Hastie、Jerome Friedman。“這本書的作者是Boosting方法最活躍的幾個研究人員,發明的Gradient Boosting提出了理解Boosting方法的新角度,極大擴充套件了Boosting方法的應用範圍。這本書對當前最為流行的方法有比較全面深入的介紹,對工程人員參考價值也許要更大一點。另一方面,它不僅總結了已經成熟了的一些技術,而且對尚在發展中的一些議題也有簡明扼要的論述。讓讀者充分體會到機器學習是一個仍然非常活躍的研究領域,應該會讓學術研究人員也有常讀常新的感受。”[7]

3. 機器學習與資料探勘(偏理論)

百度網盤連結:https://pan.baidu.com/s/1wIL_5arbxhjvzWeyba89kA

提取碼:b379

備註:檔案比較大,網盤直接開啟會顯示損壞,裡面已經整理並且壓縮好,需要下載後才可以打。

附java從入門SE到進階EE推薦書籍50+本:

https://pymlovelyq.github.io/2018/10/26/java/

附學習資料庫從入門到進階書籍pdf版吐血整理推薦(珍藏版):

https://pymlovelyq.github.io/2018/10/12/database/

附機器學習和python學習之路吐血整理技術書從入門到進階(珍藏版):

https://pymlovelyq.github.io/2018/10/15/machineLearning/

附演算法與資料結構+一點點ACM從入門到進階吐血整理推薦書單(珍藏版):

https://pymlovelyq.github.io/2018/10/06/Algorithm/

附python從入門到進階推薦書籍最全整理pdf分享附網盤連結已拿BT豆瓣offer:

https://pymlovelyq.github.io/2018/10/20/python/

附安卓入門到進階推薦書籍整理pdf附網盤連結已拿阿里豆瓣offer(珍藏):

https://pymlovelyq.github.io/2018/09/04/An/

附C/C++語言推薦書籍從入門到進階帶你走上大牛之路(珍藏版):

https://pymlovelyq.github.io/2018/10/10/CC/

附Web前端書單從HTML到JS到AJAX到HTTP從框架到全棧過來人幫你走更少彎路(珍藏版):

https://pymlovelyq.github.io/2018/10/17/WebFont/

總結:天下沒有不勞而獲的果實,望各位年輕的朋友,想學技術的朋友,在決心扎入技術道路的路上披荊斬棘,把書弄懂了,再去敲程式碼,把原理弄懂了,再去實踐,將會帶給你的人生,你的工作,你的未來一個美夢。