我的机器学习入门之路(上)——传统机器学习
這篇博客主要記錄了我自己的學習路線及相應的資料匯總。總時間跨度約為6個月,主要是利用了晚上的時間和周末的時間,每天堅持下來,日積月累,回過頭來,可能會驚訝于自己的進步。
對于一個機器學習的小白來說,往往不知道如何入門機器學習,畢竟機器學習的知識點非常多,方向也比較多,所以,在我們進行學習之前,有必要對機器學習的大方向做一個匯總比較與選擇。機器學習的應用方向主要包括:搜索、推薦、廣告、風控、計算機視覺(CV)、自然語言處理(NLP)、知識圖譜、語音等。從知識點分類的角度主要可以分為傳統機器學習和深度學習。
考慮到現在CV方向的飽和與落地問題,且NLP也比較容易學習和上手,所以我的學習路線選擇如下圖
傳統的機器學習理論與方法是基礎,需要先進行學習與夯實。然后進入學習深度學習(主要是自然語言處理)的階段。接下來,經過這上面兩個階段的學習,就有了一些基礎知識,可以拓寬到知識圖譜、推薦、廣告等方向的應用了,學習的難度就不那么大了。下面分為三大部分來總結三個階段的學習過程。
這篇博客記錄第一部分:傳統機器學習。
?
傳統的機器學習方法相關的書籍有很多,比較出名的機器學習三件套包括:周志華的《機器學習》、李航的《統計學習方法》、Peter Harrington的《機器學習實戰》。這三本書我也都買了,不過我是以李航的《統計學習方法》為主要理論書籍的,第一遍進行精度,理解每一個方法的原理,不懂的地方就去網上查相應的博客,查查別人是怎么理解的。另外那兩本書我看了前面的幾章,個人比較喜歡精簡的風格,所以沒有精讀那兩本書后面的章節。
總結下來,對于某一個機器學習方法(如邏輯回歸等),我是以《統計學習方法》作為理論知識學習書籍,先學習了其基礎原理,然后去網上搜索相對應的講解博客和一些相對應的面試題,就可以進行更深入的理解。
下面是我收藏的一些不錯的學習資料
1、邏輯回歸(Logistic Regression)
邏輯回歸計算過程的推導、并行化的實現:https://blog.csdn.net/ligang_csdn/article/details/53838743
邏輯回歸的常見面試點:https://www.cnblogs.com/ModifyRong/p/7739955.html
達觀數據對邏輯回歸的一些總結:https://zhuanlan.zhihu.com/p/79014680
2、樸素貝葉斯
樸素貝葉斯學習筆記:https://blog.csdn.net/qll125596718/article/details/8445217
3、感知機
感知機perceptron:https://blog.csdn.net/dream_angel_z/article/details/48915561
4、支持向量機(SVM)
理解SVM的三層境界:https://blog.csdn.net/v_july_v/article/details/7624837
Scikit-learn實例之理解SVM正則化系數C:https://blog.csdn.net/mingtian715/article/details/54574700
5、決策樹
ID3、C4.5、CART、隨機森林:https://www.2cto.com/kf/201605/509184.html
淺談隨機森林的幾個tricks:https://zhuanlan.zhihu.com/p/29408863
6、GBDT
GBDT算法原理深入理解:https://blog.csdn.net/yangxudong/article/details/53872141
GBDT算法的特征重要度計算:https://blog.csdn.net/yangxudong/article/details/53899260
7、XGBoost
XGBoost入門介紹:https://segmentfault.com/a/1190000010301082
通俗、有邏輯地說下XGBoost的原理:https://blog.csdn.net/github_38414650/article/details/76061893
RF、GBDT、XGBoost面試級整理:https://blog.csdn.net/qq_28031525/article/details/70207918
XGBoost缺失值引發的問題及深度分析:https://tech.meituan.com/2019/08/15/problems-caused-by-missing-xgboost-values-and-their-in-depth-analysis.html
8、LightGBM
lightgbm中文文檔:https://lightgbm.apachecn.org/#/
如何通俗理解LightGBM:http://www.julyedu.com/question/big/kp_id/23/ques_id/2908
比XGBoost更快--LightGBM介紹:https://zhuanlan.zhihu.com/p/25308051
LightGBM基本原理介紹:https://blog.csdn.net/qq_24519677/article/details/82811215
LightGBM如何調參:https://www.jianshu.com/p/b4ac0596e5ef
LightGBM調參方法(具體操作):https://www.cnblogs.com/bjwu/p/9307344.html
GBDT、XGBoost、LightGBM的區別和聯系:https://www.jianshu.com/p/765efe2b951a
從XGB到LGB:美團外賣樹模型的迭代之路:https://t.cj.sina.com.cn/articles/view/5901272611/15fbe462301900n684
9、PCA
PCA原理總結:https://www.cnblogs.com/pinard/p/6239403.html
PCA原理詳解:https://blog.csdn.net/zhongkelee/article/details/44064401
t-SNE完整筆記:http://www.datakit.cn/blog/2017/02/05/t_sne_full.html
10、K-means
K-means最優K值的選取:https://blog.csdn.net/qq_15738501/article/details/79036255
EM算法的收斂性與K-means算法的收斂性:https://blog.csdn.net/u010161630/article/details/52585764
11、EM算法
如何感性地理解EM算法:https://www.jianshu.com/p/1121509ac1dc
人人都懂EM算法:https://zhuanlan.zhihu.com/p/36331115
12、FM
FM的理解與實踐:https://zhuanlan.zhihu.com/p/50426292
FM推薦算法原理:https://www.cnblogs.com/pinard/p/6370127.html
FM:https://blog.csdn.net/google19890102/article/details/45532745
13、梯度下降法
梯度下降、牛頓法、擬牛頓法:https://blog.csdn.net/a819825294/article/details/52172463
BGD、SGD、MBGD:https://www.cnblogs.com/maybe2030/p/5089753.html
優化方法總結:https://blog.csdn.net/u010089444/article/details/76725843
深度學習最全優化方法總結:https://zhuanlan.zhihu.com/p/22252270
14、正則化
歸一化、標準化、正則化的關系:https://blog.csdn.net/zyf89531/article/details/45922151
L0、L1、L2范數:https://blog.csdn.net/zouxy09/article/details/24971995
深入理解L1、L2正則化:https://zhuanlan.zhihu.com/p/29360425
15、樣本不均衡
訓練集類別不均衡問題的處理:https://blog.csdn.net/heyongluoyao8/article/details/49408131
欠采樣和過采樣:https://www.zhihu.com/question/269698662
Focal Loss理解:https://www.cnblogs.com/king-lps/p/9497836.html
16、特征工程
特征工程之特征選擇:https://www.cnblogs.com/pinard/p/9032759.html
特征選擇:卡方檢驗、F檢驗和互信息:https://www.cnblogs.com/massquantity/p/10486904.html
幾種常用的特征選擇方法:https://blog.csdn.net/LY_ysys629/article/details/53641569
17、模型集成
Bootstrip、Bagging、Boosting:https://blog.csdn.net/MrLevo520/article/details/53189615
模型融合:https://blog.csdn.net/shine19930820/article/details/75209021
kaggle 模型融合(stacking)心得:https://zhuanlan.zhihu.com/p/26890738
18、kaggle
kaggle比賽的一些小套路:https://blog.csdn.net/pearl8899/article/details/82145480
kaggle入門:https://blog.csdn.net/u012162613/article/details/41929171
如何在kaggle首站進入前10%:https://dnc1994.com/2016/04/rank-10-percent-in-first-kaggle-competition/
kaggle中的kernel入門:https://blog.csdn.net/IAMoldpan/article/details/88852032
19、其它
機器學習常見評價指標:https://blog.csdn.net/zhihua_oba/article/details/78677469
常見損失函數:https://blog.csdn.net/weixin_37933986/article/details/68488339
偏差、誤差、方差的區別與聯系:https://www.zhihu.com/question/27068705
如何選取超參數:https://blog.csdn.net/u012162613/article/details/44265967
最小二乘法小結:https://www.cnblogs.com/pinard/p/5976811.html
拉普拉斯平滑處理:https://blog.csdn.net/daijiguo/article/details/52222683
穿越問題:https://blog.csdn.net/phrmgb/article/details/79997057
數據增強:https://zhuanlan.zhihu.com/p/41679153
協同過濾:https://blog.csdn.net/yimingsilence/article/details/54934302
AI筆面試題庫:https://www.julyedu.com/question/topic_list/23
……
?
其它書籍:機器學習的其它相關書籍,我涉獵過的不多,有《美團機器學習實踐》、《百面機器學習》、PRML。這里強烈推薦葫蘆書《百面機器學習》,可以作為自己機器學習知識點查缺補漏的經典書籍。
?
在學習下來,我感覺中文的這些機器學習書籍都是只給出了“知其然”的解答,并沒有給出“知其所以然”的解答,但是我在閱讀PRML的時候,真的感覺作者一直在告訴我這些方法究竟是怎么得到的,其來龍去脈都非常清晰。有時間的話,計劃再細細拜讀PRML。其次,還是多比較不同的機器學習方法,才能更融會貫通,比如從感知機和SVM的聯系與區別,從感知機發展到SVM,再到核方法,這些變化演進是在解決什么問題,都是要理解透徹的。最后,就是多實戰了,實戰才能更好地理解和運用。
?
我的微信公眾號:帕尼尼古
歡迎關注~
?
?
總結
以上是生活随笔為你收集整理的我的机器学习入门之路(上)——传统机器学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 345. 反转字符串中
- 下一篇: 我的机器学习入门之路(中)——深度学习(