推薦 | 從小白到入門算法,17本經典書籍資料(附下載)

【導讀】文中也提到了學習者的經驗分享,但願對那些剛接觸機器學習,準備往這個方向發展的同志們提供一些可借鑑的經驗。java

本次資料的下載方式,整理不易,望獲取的同時能傳播給更多須要的夥伴!在公衆號【飛馬會】後臺回覆數字「55」,便可查看獲取方式,記得按要求快速獲取保存哦!另外,想加入人工智能交流羣,在後臺回覆「入羣」

一、入門Python,掌握數據分析經常使用工具

第一次接觸Python是在2016年4月,本科階段的工做差很少完成,就開始聯繫研究生階段的導師,但願可以跟他作一些項目。他給我安排的第一個工做即是使用Python爬取空氣質量數據,並告訴我可使用scrapy這個庫。我與Python的邂逅,便從這個爬蟲開始了。程序員


若是想要深刻了解一些Python的知識,推薦你們學習《流暢的Python》一書,封面以下。這本書我看了前面的九章,講的十分不錯,加深了本身對於Python裏面內存管理、經常使用函數、類等的認識。面試




除了Python的基礎知識,想要往數據分析、機器學習方向發展的話,還須要掌握一些經常使用的庫,包括Pandas、Numpy、Matplotlib、Sklearn等等。算法

關於前三個,推薦的書是《利用Python進行數據分析》:sql




關於Sklearn的使用,包括調用常見的機器學習算法、使用網格搜索尋找最優的參數,能夠參考的一本書是《Python機器學習及實踐 從零開始通往Kaggle競賽之路》編程



若是上面的書你都看完了,我以爲算是入門Python數據分析了。json

二、初識機器學習,反覆讀反覆看

第一次據說機器學習這個名詞,大概是在2016年8月份,是我如今的舍友向我提到的,當時並無太在乎,直到研究生階段開始,才慢慢有所接觸。當時身邊的人的廣泛反應是,這傢伙你們都在學,特別能掙錢。也許當時本身也是想着能多掙錢,纔會開始入門機器學習的吧。不過如今,已經開始慢慢把機器學習當作一種興趣,一種愛好去看待了。數組

想必你們都知道,入門機器學習,不得不看的三本書是吳軍老師的《數學之美》、李航博士的《統計學習方法》和周志華老師的《機器學習》,也就是所謂的西瓜書。數據結構






可是有時候,有些算法好比SVM,說實話兩本書講的都不是最好的,仍是得結合網上比較流行的帖子進行學習,整理了幾個我看過的一些比較好的帖子,分享給你們:機器學習

SVM:blog.pluskid.org/?page_id=68…
Word2Vec:blog.csdn.net/itplus/arti…
EM算法:blog.csdn.net/randy_01/ar…

其餘的算法,你們結合兩本書進行學習就能夠了。值得一提的是,Xgboost和LightGBM是在面試階段比較常考的兩個機器學習方法,可是在上面的幾本書中都沒有涉及,我以前整理了一個簡單的帖子,但願對你們有所幫助(最後的參考資料裏面會有)。



除了書籍資料外,視頻資料推薦的主要是吳恩達老師和李宏毅老師的機器學習入門課,地址以下:

吳恩達機器學習:www.bilibili.com/video/av507…
李宏毅機器學習:www.bilibili.com/video/av359…

若是你是剛入門機器學習的話,個人建議就是反覆看,反覆讀,直到你能不依靠書本將模型的原理解釋清楚爲止。

三、面試不斷碰壁,Leetcode得刷,得多刷

理想很豐滿,現實很殘酷,在本身剛學了點機器學習知識的時候,就出去面試闖蕩,結果倒是不斷的碰壁,機器學習理論和經驗少是一方面,數據結構題也是一問三不知,能想到的,只有時間或者空間複雜度最差的那種解法。因此我說啊,Leetcode不只得刷,還得多刷。

不過咱也不必着急,你得有一個計劃,好比天天作三道五道,日積月累才行。儘管我如今在面試的過程當中仍是有一些問題寫不出來,但大部分狀況下,仍是可以獲得一個比較優的解。

關於刷leetcode這事,你能夠往兩個方向上走。一是按照從easy到medium到hard的方向。二是按照分類走,好比先刷樹相關的,再刷數組相關的,依次類推。我本身是用的第一種方式啦,不過從校招面試的經驗看,面試官關注的題主要集中在數組、鏈表、二叉樹和動態規劃上面,能夠先把這幾部分的弄明白。

在語言選擇上,建議仍是不要用Python吧,Python的小trick仍是有點多的,就好比字符串表達式的值,咱們用eval函數就能夠獲得,可是在真正面試的時候,這樣是絕對不行的,因此建議仍是Java或者C++吧。畢竟這兩門語言,你總要掌握一門的。

除了在Leetcode上面刷題外,有兩本書能夠給你們參考,一是《劍指offer》,二是《程序員代碼面試指南:IT名企算法與數據結構題目最優解》,封面以下:





四、相遇深度學習,論文積累是關鍵

關於深度學習,也是研一下才開始慢慢學習的,當時主要接觸的是CNN、LSTM這些個算法,對於一些比較深刻的如GAN、Seq2Seq、Transformer之類的,尚未接觸。真正帶我相遇深度學習的,能夠說是李宏毅老師的深度學習課:www.bilibili.com/video/av977…

固然,吳恩達老師的課也十分精彩:mooc.study.163.com/university/…

除此以外,不得不提的一本書是咱們所謂的深度學習聖經,不過說實話,我以爲這本書雖然寫得好,但仍是有必定閱讀難度的:



我的感受,深度學習這東西,重在不斷積累和反思吧,多讀論文,多寫代碼。論文的話你們日常能夠多關注PaperWeekly這個公衆號,代碼的話我建議若是論文給出了參考代碼,你們能夠嘗試着去敲一敲,不只加深本身對於論文思路的認識,還能夠提高本身的動手實踐能力。

五、推薦與計算廣告,廣度優先VS深度優先

在整個研究生階段,我其實並無造成一個主要的研究方向,你們可能看我平時的公衆號推薦系統相關的東西比較多,但我並非研究這個的,主要仍是本身對這個東西比較感興趣,因此看的多了些。推薦系統的兩本入門書籍是《推薦系統實踐》和《推薦系統與深度學習》:





深度學習領域仍是挺多的,如推薦系統和計算廣告、CV、NLP等等,這就引出了廣度優先VS深度優先的問題。我的感受仍是深度優先爲主吧,肯定好本身的一個研究方向,而後在這個領域進行深挖。不過同時,也要兼顧廣度,深度學習的東西都是相通的,好比Transformer最開始主要應用於文本領域,GAN主要應用於圖像領域,這兩種方法如今也都開始在推薦系統中使用。

最近本身要開始研究計算廣告方面的知識了,由於本身入職以後可能從事這一方面的工做,那仍是給你們推薦兩本書吧,一本是你們所熟知的《計算廣告》,另外一本是黃皮書《互聯網廣告的市場設計》,想要入門這個方向的同窗,建議先看黃皮書,再看《計算廣告》一書。





六、Hive和Spark,數據處理的標配

Hive和Spark你們仍是要學一下的,使用Hive來存儲數據,使用spark sql和Hive sql來處理數據,感受是互聯網裏面的主流方式。關於hive,掌握一些經常使用的函數的使用方法,如concat_ws,row_number,case..when,if,get_json_object等等,對於spark sql,掌握其運行的基本原理,以及一些常見問題的處理方法。首先,學會如何處理數據傾斜,有時候由於一個數據傾斜問題,一成天都浪費在調試一個spark代碼中了,其次,學習如何儘可能減小spark任務的空間佔用,同時加速spark任務運行速度,spark做業在線上調用時,會佔用公共資源,你的任務佔用的資源越多,別人佔用的資源就越少,同時,若是你的任務運行的快,也能夠給別人的任務更多的空間。spark能夠經過不少語言來實現,不過我建議仍是學習一下scala吧,畢竟能夠和java無縫銜接。除了spark和hive,掌握必定的excel知識也是必要的。

那麼這裏有兩本書推薦給你們,《Hive編程指南》和《Spark內核機制解析及性能調優》:








好了,分享了這麼多,小編把上面提到的一些學習資料進行了整理,除了《互聯網廣告的市場設計》一書沒有找到pdf資源外,其餘的都整理好了,目錄以下:




資料領取方式

關注公衆帳號【飛馬會

後臺回覆數字【55


便可查看下載方式



往期福利關注飛馬會公衆號,回覆對應關鍵詞打包下載學習資料;回覆「入羣」,加入飛馬網AI、大數據、項目經理學習羣,和優秀的人一塊兒成長!

回覆 數字「1」下載從入門到研究,人工智能領域最值得一讀的10本資料(附下載)

回覆 數字「2」機器學習 & 數據科學必讀的經典書籍,內附資料包!

相關文章
相關標籤/搜索