这篇博客主要记录了我自己的学习路线及相应的资料汇总。总时间跨度约为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,再到核方法,这些变化演进是在解决什么问题,都是要理解透彻的。最后,就是多实战了,实战才能更好地理解和运用。
我的微信公众号:帕尼尼古
欢迎关注~