【机器学习】扎实入门机器学习的路子
今天是一點經驗分享,包大人當初用這個路子入門機器學習的。
前言
回顧了下我當初入門機器學習方式,發現還是有些特點的。因為是科班出身,所以是那種穩扎穩打,自頂向下,理論結合實踐的方式,比較注重用代碼實現去理解原理。代碼有個好處就是不會騙人,光看理論有種我明白了,但是很模糊,如果結合代碼就非常清晰了。用兩個字說就是“扎實”。
主要分為原理入門,編程理解,實戰應用,三個步驟。其中非常強調過程中的正反饋,和優質的資源。正反饋是長久堅持的動力來源。優質資料是高效正確的保證。
比較反對下面這樣囫圇吞棗,良莠不齊,就想著21天從入門到精通的方式。
第一、反對上來就給你推薦python,sklearn,pandas之類的。這些東西往往把細節都藏起來了,容易變成調包俠。
第二、?不推薦任何國內的非知名大學的視頻教程。大部分的東西不是抄就是質量太差,有吳恩達的公開課不看去買網課,留著錢買個大雞腿吃不好嗎。
第三、不推薦任何上來就是各種花里胡哨從開發到部署的實戰項目,抓住人就想心急吃熱豆腐的心理貪圖你的錢包。
第一階段:原理入門
目標是搞清楚機器學習的基本概念和基本的算法原理。這個階段的正反饋來自于新知識的獲取,原理的理解。不要好高騖遠。下面介紹幾種入門方法,分別對應看書入門黨,看視頻入門黨,有一些精選的優質資源推薦給初學者。推薦的資源,周志華《機器學習》,李航《統計學習方法》 Peter Harrington 《機器學習實戰》吳恩達 Coursra 機器學習公開課
首先看書入門黨,周志華和李航老師的西瓜書和統計學習方法都可以,可以快速地看完前幾章,不要具體到算法,如果你愿意,看完邏輯回歸就可以了,首先明白機器學習問題的定義,其次明白幾個關鍵的名詞,訓練驗證測試,偏差方差,樣本,特征,標簽。然后去看什么是監督學習什么是無監督學習,大概了解了這些之后,再到具體的算法。再推薦一本書《機器學習實戰》綠皮書,這些書的特點就是原理講的很明白,《機器學習實戰》所有的算法都用代碼實現了一遍,邏輯清晰很好理解,比那些用sklaern的書強一萬倍。
看視頻入門黨,推薦吳恩達 Coursera 上的《機器學習》,吳恩達老師設計的課程已經非常適合入門了,側重原理,邏輯清楚,機器學習的細節也面面俱到。
經過上述階段,你大概對機器學習要解決的問題,使用的方法和適用場景都有所了解了,這時候,你大概對算法的原理也都八九不離十,但是學習原理總是枯燥的,不過一定要堅持下來,千萬不要在這個階段滿足于調包。
第二階段:在編程中理解
目標是能夠自己動手實現算法的細節而不是用sklearn去調包。正反饋是自己動手從頭正確實現機器學習算法。?推薦資源?Peter Harrington 《機器學習實戰》吳恩達 Coursra 機器學習公開課編程作業。
這里推薦吳恩達老師機器學習課程的作業,不需要把每個算法都實現一遍,但是要在實踐中去理解機器學習的基本算法套路,比如梯度下降是怎么做的,鏈式法則怎么用程序表達。還有就是《機器學習實戰》的配套代碼,這本書的最大好處是讓你能夠用最基本的python語法,從底層上讓你構建代碼,實現我們常說的比如郵件過濾,數據分類的應用。
很多時候你要寫最基本的代碼和結構去做這些工作,而不是像sklearn去調用fit 和predit,你能實現算法的底層原理,知道決策樹的分割增益計算如何寫代碼,梯度下降如何寫代碼,知道機器學習是如何從0到1實現的。
不過這本書比較老舊了,重點也不是講解理論方面的東西,可以當成第二個階段的教材,和第一階段互補。
另外。如果你是NLP方向的同學,可以看一下詞向量GloVe的代碼實現,為什么推薦GloVe的代碼,他是一個用純c語言寫的機器學習做矩陣分解來求解詞向量的程序,包含實現隨機梯度下降,損失函數定義,數據并行處理等基本的要素,是麻雀雖小,五臟俱全,代碼邏輯清晰,涉及到機器學習的方方面面,而且,毫無調包,代碼量不大,很容易看懂。
第三階段:實戰應用
目標是把機器學習應用到實際問題中,加深對算法的理解。正反饋來自于使用機器學習工具來解決實際問題。推薦資源Kaggle。
這時候,你對機器學習的原理,實現都有了解了,但是機器學習畢竟是一門應用的科學,我們通過在實戰中學習機器學習。所以這個階段非常適合打比賽。這里比較推薦Kaggle平臺,不推薦國內的競賽平臺,除非你想給自己添堵,被排行榜上各種騷操作嚇呆。至于怎么玩kaggle,推薦kaggle kernel上的開源討論,以及一些比較好的Grand Master的分享。
后話
上面三個階段,在具體的知識點上可以互相交叉。比如,你看完了邏輯回歸,動手實現了一下,然后上kaggle做了一個數據集的任務。不是說非得把所有的長篇大論看完了,這樣能更有利于你學習。
如果你有什么特別好的資源推薦,或者入門方法,歡迎放到評論區~
本站qq群955171419,加入微信群請掃碼:
總結
以上是生活随笔為你收集整理的【机器学习】扎实入门机器学习的路子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【学术相关】Github大盘点!2021
- 下一篇: ie浏览器安全使用网银支付功能方法