機器學習入門書單
機器學習該怎麼入門,有哪些推薦的書單呢?早聽說我師兄的師兄和師兄講,機器學習實戰+統計學習方法;後來我的師兄和我講,機器學習實戰+統計學習方法+西瓜書。如果後面我師弟問我,我會和他講,python核心編程+機器學習實戰+統計學習方法+西瓜書+《Python 機器學習及實踐--從零開始通往kaggle競賽之路》。
1、Python核心編程
國內許多高校程序語言課程中開設了C語言、C++語言和JAVA語言,很少開設Python腳本語言方面的課程,但前輩們一般都會強烈推薦程序猿一定要懂一門編程語言和一門腳本語言,更何況,機器學習的開源項目基本都是依賴於Python語言進行開發。不過Python語言不是唯一的語言,現在還有許多演算法大牛,仍在第一線使用C++進行相關的項目開發。不過要注意的是,Python語言目前有Python2.X版本和Python3.X版本,儘管兩者都是Python,很多人在學習的時候都認為其實可以當做兩門不同的語言來學習。
2、機器學習實戰
這本書翻譯於國外的《Machine Learning in Action》,重點講述的是使用Python語言實現機器學習各種演算法,比較側重於實踐。這本書中還會提到許多數據處理的方法(包括缺失值、數據降維等),例子的思路比較通俗易懂。但是,這本書是一本實戰書,很少有公式推導,它並不是機器學習演算法工具書。如果不懂機器學習演算法,直接看這本書,基本等於是利用Python語言在實現各種需求,但不知道為啥要這麼做。所以初學者務必結合後面推薦的兩本書進一步學習,真正了解機器學習演算法原理。
3、統計學習方法
這本書和機器學習實戰的側重點恰恰相反,它完全是一本理論演算法書,從頭到尾全都是公式推導,是國內機器學習方向的經典書籍。這本書的前提是需要懂高等數學、概率論與隨機過程、線性代數等,不然的話這本書可能覺得看起來就是一本天書。但有一點,等你理解了這裡的推導,你基本上就懂了這些機器學習演算法的場景來由,你也就能理解機器學習實戰的那些例子了。
tips:如果打算往這個方向走的小夥伴們,千萬要硬著頭皮在大學時好好學這些數學的課程,不然以後入了行也只不過是模型調參工程師(可能不中聽,但現實就是這樣的)。
4、機器學習 (西瓜書)
這本書也是一本側重於演算法理論的書,相比於李航的統計學習方法,這本書介紹了更多目前正在廣泛使用的機器學習演算法和實際項目工程中演算法和數據處理方面實現的技巧。相比於前面那本書的無時無刻不在推公式,這本書在講解演算法推導時不僅用了許多通俗易懂的文字,而且演算法思想實現時都用了怎麼挑西瓜作為例子,是一本名副其實不折不扣的「西瓜書」。
5、Python 機器學習及實踐--從零開始通往kaggle競賽之路
這本書在業界流傳的並不是很廣泛,說起來只能算是作者博客內容和他自己kaggle實戰經驗的分享,而且作者和前面幾位相比算是小輩。之所以推薦這本書是因為作為入門者,他可以先拋開演算法思想原理,而直接看到到對應演算法的應用場景和實際效果。這本書可以教你直接使用目前的開源庫,通過調用演算法工具包對數據進行處理及訓練模型,然後返回模型預測結果。
但是作為機器學習工程師,不要僅限於享受這種樂趣,因為這會限制一個人的想像力。可以說,現在大部分演算法工程師都是無奈的在做這種苦逼的工作:①調參→結果,是否理想?是,能否進一步改進?②調參→結果,是否理想?否,繼續調參。。。。但千萬不要以為這就是演算法工程師,以為演算法工程師只要會調用各種演算法模塊就可以了,一定要學會真正理解演算法原理和使用場景,學會自己改進演算法,不然只會調參數,說不準人工智慧把你也代替了。
tips:您在後台留言可以獲取其中一些入門書籍的網盤鏈接和密碼。
我思故我在:無論是Python語言還是機器學習方面的書籍,絕非上述提到的那麼基本。在人人為我,我為人人的分享互聯網氛圍里,各方面的學習資源都特別多,包括公開課、書籍、公眾號、技術博客、開源社區等。但有一點,一定學會獨立思考,取之精華,去之糟粕,不要盲目照搬照學。另外,儘管我分享了各本書的PDF版本,但也希望大家支持作者,購買正版書籍。


※人工智慧世界裡的機器學習與深度學習
※人工智慧及機器學習的基本概念
TAG:機器學習 |