系统学习Machine Learning之路漫漫总规划
本人是一个半吊子的数学专业学生,半吊子的算法学习者,半吊子的机器学习爱好者,半吊子的电脑算法作曲者……自从工作以来深受半吊子的后遗症的残害。所以想系统的学习一次机器学习……不想再半吊子下去了!
PS. 本人英语阅读能力有待提高,翻译不足之处,望体谅且提出,谢谢。
本文的机器学习与其他学习的关系图及其框架是参考[Swami Chandrasekaran][1]的”Becoming a Data Scientist - Curriculum via Metromap”,它给了一个地铁图方便我们从以下10个领域足部的学习,最后成为一个合格的数据科学家:
- Fundamentals 基础知识
- Statistics 统计学
- Programming 编程
- Machine Learning 机器学习
- Text Ming / NLP 神经语言程序学
- Data visualization 形象化处理
- Big Data 大数据
- Data Ingestion 数据获取
- Data Munging 数据修改
- Toolbox 工具箱
[Link][2]
1、基础知识
根据地铁图,可以知道基础知识基本上是涉及线性代数
矩阵论
数据库
以及一些基础操作。
2、统计学
统计学这个模块主要要学习的就是数理统计,其中包括概率论
贝叶斯
(关于贝叶耶的角度看ML,推荐大神的一本著作,文末附链接) 蒙特卡罗
假设检验
卡方检验
最大似然估计
核密度估计
相关性
等。
3、编程
而程序这块,主要是推荐学习R语言和python以及Spark ,由于本人曾经短暂师从David Cope 学习电脑作曲算法,那时开始沉迷LISP。所以以后的代码我会先用Lisp写一遍基础代码,然后再用python再次实现。本人是一个从没有任何编程基础刚写代码不到一年的小白,最开始是用matlab实现各种功能的,后学习python便于学习机器学习。
4、机器学习
以前没有看到这张图的时候,我是看Andrew Ng的机器学习的课程入门的。然后自己在实习工作工程中,曾应用RNN,RBM,CNN,SVM,K-Means等。基本上属于现学现买,没有一个很完整的知识体系架构。地铁图建议我们从什么是ML? 入门开始,然后监督学习->无监督学习 -> 了解分类,预测,过拟合 -> 分类-> 回归 -> 聚类 -> 神经元网络
5、NLP
自然语言处理算是机器学习的一个大方向了,自己在学习作曲算法的时候也借鉴了不少思想,但是还没有深入了解NLP,所以在这里也就不多说了。
6、形象化
这个主要是让我们写的代码做的东西成果图像化,图像化有利于我们看到我们算法的问题,比如是否过拟合啦。当然有时间精力的话更希望做交互式的界面出来的。
7、大数据
8、获取数据
9、数据修改
10、工具
然后有一篇博文讲的是mooc中学习这里地铁图的知识点的课程,链接为:http://blog.csdn.net/samantha_wang/article/details/44086227 推荐之