如何自学人工智能路径规划(附资源,百分百亲身经验)
2018-08-01 15:16 经济与编程 阅读(5846) 评论(15) 编辑 收藏 举报
下面的每个资源都是我亲身学过的,且是网上公开公认最优质的资源。
下面的每个学习步骤也是我一步步走过来的。希望大家以我为参考,少走弯路。
请大家不要浪费时间找非常多的资料,只看最精华的!
综述,机器学习的自学简单来说分为三个步骤
前期:知识储备包括数学知识,机器学习经典算法知识,编程技术(python)的掌握
中期:算法的代码实现
后期:实战水平提升
机器学习路径规划图
一、数学基础
很多人看到数学知识的时候就望而却步,数学是需要的,但是作为入门水平,对数学的要求没有那么的高。假设你上过大学的数学课(忘了也没事),需要的数学知识啃一啃还是基本能理解下来的。
1.1、数学内容
线性代数:矩阵/张量乘法、求逆,奇异值分解/特征值分解,行列式,范数等
统计与概率:概率分布,独立性与贝叶斯,最大似然(MLE)和最大后验估计(MAP)等
优化:线性优化,非线性优化(凸优化/非凸优化)以及其衍生的如梯度下降、牛顿法等
微积分:偏微分,链式法则,矩阵求导等
信息论、数值理论等
上面的看不太懂没事,不是特别难,学习一下就能理解了。
1.2、数学资源
网上有很多人会列举大量大量的课程资源,这是非常不负责任的事,学完那些我头发都得白了。实际上,我们只需要学习其中的一部分就够了。
1.2.1、吴恩达的斯坦福大学机器学习王牌课程CS229,课后就有对学生数学知识的要求和补充,这些数学知识是完全符合机器学习要求的,不多也不少。墙裂推荐要看,不过只有英文版的。
链接:https://pan.baidu.com/s/1NrCAW38C9lXFqPwqTlrVRA 密码:3k3m
1.2.2、深度学习的三大开山鼻祖之一Yoshua Bengio写的深度学习(包含了机器学习)领域的教科书,现在以开源的形式在网上公开。这部书被誉为深度学习的圣经。在这里我们只看这本书的第一部分,也就是数学基础。囊括了机器学习所需的所有必备数学基础,而且是从最基础的说起,也不多,必读的。
链接:https://pan.baidu.com/s/1GmmbqFewyCuEA7blXNC-7g 密码:6qqm
1.2.3、跟机器学习算法相结合的数学知识。上面两部分是理论层面的数学,机器学习算法中会对这些数学进行应用。
链接:https://zhuanlan.zhihu.com/p/25197792,知乎专栏上的一篇好文章,囊括了所有的应用知识点。
好了,数学方面我只推荐上面三个资源,三个都是必看的。里面很多可能你现在看不太懂,没关系。先大概过一遍,知道自己的数学水平在哪。在看到算法知识的时候,不懂的再回来补就好。后期需要更多的数学资料我会再更新的。
二、编程技术
编程语言:python3.5及以上,python易学,这个这期先不细讲。
三、经典算法知识
算法包括机器学习和深度学习,机器学习是深度学习的基础。所以务必先学机器学习的经典算法,再学深度学习的算法。
3.1、机器学习
3.1.1、课程资料
首推吴恩达的CS229,经典中的经典,在网易公开课里有视频,翻译,课程讲义,笔记是非常非常完备的。墙裂推荐。这个课程对数学有一定的要求,但我觉得只要你上过大学的数学,然后补一下上面的数学,完全可以直接来看这个CS229。
假设你的数学真的很差的话,怎么办?吴恩达在coursera上也开了一门跟CS229完全匹配的课程,coursera机器学习课。这门课是CS229的翻版,唯一不同的是它对数学基本是没有要求了,如果你对数学真的不懂的话,那就先看这个的教程吧。它跟CS229的关系就是同样的广度,但是深度浅很多,不过你学完coursera还是要回过头来看CS229的。这个也是免费的。
CS229课程视频:http://open.163.com/special/opencourse/machinelearning.html
课程讲义和中文笔记:https://pan.baidu.com/s/1MC_yWjcz_m5YoZFNBcsRSQ 密码:6rw6
3.1.2、配套书籍:
机器学习实战,必看。用代码实现了一遍各大经典机器学习算法,必须看,对你理解算法有很大帮助,同时里面也有应用。如果大家看上面纯理论的部分太枯燥了,就可以来看看这本书来知道在现实中机器学习算法是怎么应用的,会很大程度提升你的学习兴趣,当初我可是看了好几遍。
书籍及课后代码:链接:https://pan.baidu.com/s/15XtFOH18si316076GLKYfg 密码:sawb
李航《统计学习方法》,配合着看
链接:https://pan.baidu.com/s/1Mk_O71k-H8GHeaivWbzM-Q 密码:adep,配合着看
周志华《机器学习》,机器学习的百科全书,配合着看。
链接:https://pan.baidu.com/s/1lJoQnWToonvBU6cYwjrRKg 密码:7rzl
3.2、深度学习
说到深度学习,我们不得不提斯坦福的另一门王牌课程CS231,李飞飞教授的。这门课的课程,课后习题,堪称完美。必须必须看。整个系列下来,特别是课后的习题要做,做完之后你会发现,哇哦!它的课后习题就是写代码来实现算法的。这个在网易云课堂上有。
视频地址:http://study.163.com/course/introduction.htm?courseId=1004697005
课程笔记翻译,知乎专栏:https://zhuanlan.zhihu.com/p/21930884
墙裂建议要阅读这个知乎专栏,关于怎么学这门课,这个专栏写的很清楚。
课后作业配套答案:https://blog.csdn.net/bigdatadigest/article/category/7425092
3.3、学习时间
到这里了,你的机器学习和深度学习算是入门了。学完上面这些,按一天6小时,一周六天的话,起码也得三个月吧。上面是基本功一定要认真学。但是,还找不了工作。因为你还没把这些知识应用到实际当中。
3.4、实战部分
3.4.1、实战基础
这一个阶段,你要开始用tensorflow(谷歌的深度学习框架)、scikit-learn(python的机器学习框架),这两个框架极大程度地集成了各大算法。其实上面在学习cs231n的时候你就会用到一部分。
scikit-learn的学习:http://sklearn.apachecn.org/cn/0.19.0/
这是scikit-learn的官方文档中文版翻译,有理论有实战,最好的库学习资源,没有之一。认真看,传统的机器学习就是用这个库来实现的。
Tensorflow的学习:https://tensorflow.google.cn/api_docs/python/?hl=zh-cn
官方文档很详尽,还有实战例子,学习tensorflow的不二之选
3.4.2、实战进阶
仅仅看这两个教程是不够的,你需要更多地去应用这两个库。
接下来推荐一部神书,机器学习和深度学习的实战教学,非常非常的棒,网上有很多号称实战的书或者例子,我看了基本就是照搬官网的,只有这一本书,是完全按照工业界的流程解决方案进行实战,你不仅能学习到库的应用,还能深入了解工业界的流程解决方案,最好的实战教学书,没有之一。书名是hands-on-ml-with-sklearn-and-tf
链接:https://pan.baidu.com/s/1x318qTHGt9oZKQwHkoUvKA 密码:xssj
3.4.3、实战最终阶段
kaggle数据竞赛,如果你已经学到了这一步,恭喜你离梦想越来越近了:对于我们初学者来说,没有机会接触到机器学习真正的应用项目,所以一些比赛平台是我们不错的选择。参加kaggle竞赛可以给你的简历增分不少,里面有入门级别到专家级别的实战案例,满足你的各方面需求。如果你能学到这一步了,我相信也不需要再看这个了。
上述所有资料的合集:https://pan.baidu.com/s/1tPqsSmSMZa6qLyD0ng87IQ 密码:ve75
补充:
学到这个水平,应该是能够实习的水平了,还有很多后面再说吧。比如深度学习和机器学习的就业方向,深度学习得看论文,找工作还得对你得编程基础进行加强,具体就是数据结构与算法,我当年在这个上面可是吃了很大的亏。
这里面关于深度学习和机器学习的就业其实是两个方向,上面的其实也没有说全。一般来说,你得选择一个方向专攻。我建议的是,自学的最好在后期侧重机器学习方向,而不是深度学习。深度学习的岗位实在是太少,要求太高。机器学习还算稍微好点。
重点:上面的学习路径是主要框架,但是不意味着仅仅学习这些就够了。根据每个人基础的不同,你有可能需要另外的学习资料补充。但是,我希望大家可以按照上面的主框架走,先按上面我推荐的资源学,有需要的再去看别的(我之后也会推荐),上面的我能列出来的都是最经典的,最有效率,而且我亲身学过的。
后续文章:
上面每个学习步骤还可以细分开来,这是接下来文章的重点。比如python怎么学,cs229和cs231学习过程中会碰到什么困难,kaggle怎么用,数学还跟不上怎么办?后续都会一一说明。
欢迎转载,但请注明出处,尊重作者,谢谢大家了!
欢迎讨论交流,微信公众号:learningthem