机器学习五步走
经常会有人问“我该如何在机器学习方面更进一步,我不知道我接下来要学什么了。”
一般我都会给出继续钻研教科书的答案。
每当这时候我都会收到一种大惑不解的表情。但是进步确实就是持续的练习,保持较强的求知欲,并尽你可能的完成具有挑战性的工作。其实这些你都懂的,是吧!
但是为什么偏偏是教科书呢?因为他是为数不多的几种可以让你真真让你获取坚实知识的媒介。是的,你可以选择选一门课,注册MOOC,参加一些讨论班。但是只有教材才是会让你持续进步的。教材的每一页都会留下你的印记。你会不知不觉的就记住了章节标题,例子和练习题。你会在边页处写写画画做点笔记,你会把常用的章节折起来,并且还会根据学习内容去寻找一些相关程序来学习。其实你的教科处已经成为了知识的一部分。成功的学习不仅仅只是看看教科书。通过这样的方式来用教科书,你能掌握任何一门学科——当然也包括机器学习。
在下面的内容中,我会循序渐进的列举一些优秀的教科书供你参考。我结合我自己经历并咨询了UC Berkeley的研究生,博士后和教授们后给出了这份参考教科书。当然我是故意少列了的,因为列再多反而是你选择烦恼。
当然,如果你想更换一些学习资料, Metacademy是个不错的选择。
Level 0: Neophyte
我妹妹是贸易方面的写作者。曾经她问我怎样去简单的了解一些数据科学的基础知识。在阅读了基本这方面的介绍性的书籍后,我推荐了这本Data Smart.通过这本书我妹妹可以基本解决其工作问题,甚至又一次我和她关于逻辑回归还进行了一次比较深入的探讨。
Expectations:你能了解一些基本的机器学习算法,你能够通过Excel完成一些基本的算法编写。(在完成整本书后你还能会点R语言)。
Necessary Background:熟悉Excel操作——假如你有点计算机/数学背景的话你应该能够很好的掌握。另外,它不像典型的教科书那么枯燥。
Key Chapters:书很短,而且每章都通熟易懂,而且我认为你可以跳过工作表相关的内容。第8和10章是一些基本的概述。
Capstone Project:用 this dataset来试一下你是否能够在给出一些属性条件的情况下预测汽车的MPG。这将考验你是否能用机器学习的方式来解读数据,并且能用机器学习的技术解决问题。
Level 1: Apprentice
这是一本例子导向的书,但是同时你可以学习到很多有用的机器学习知识和R编程语言。我是Scipy的忠实用户,但是当我看了几章这本书后,我现在大部分的问题都会选择用R去解决了。
Expectations:你能够判断出哪些机器学习的算法适合哪些问题,并且能够用R语言来完成代码的编写。
必要的背景:没有真正的先决条件,但以下将帮助(这些可以学到/审查时):一些编程经验(R)一些代数概率论的基本微积分一点
Necessary Background:没有特别的要求,但是如果你有以下的知识将会很有帮助:
- R的基本的编程能力
- 基本的代数知识
- 基本的微积分知识
- 一点概率论知识
Key Chapters:这是一本很短的书,因此我推荐大家阅读全文,尤其是好好思考那些例子,并用R语言去完成。如果你时间有限,你也可以略过第8和12章。
Capstone Project:用 this dataset 试试你是否能够在给定相关属性值的情况下预测出食品等级。用三个不同的机器学习方法去解决这个问题,并且选出最合适的一个。建立一个分类器,并能预测评估是“good”还是“bad”,过程中你一定要选好“good”和“bad”之间的阀值。这能测试你的数据滤除能力,处理大数据来那个的能力,机器学习的基本知识还有你编写R代码的能力。
Level 2: Journeyman
这个阶段,再也不是学习一些表面的浅层知识了,我们将逐渐的深入,并且更加的严谨的推导。在一阶段将会有许多数学问题去处理,但是如果你想把机器学习当成你终生的事业来做,那么你必须过掉这关。PRML这本书是一座很好的桥梁,可以让你做的更顺些。你要不断的使用它,阅读他并且爱上他。但是你要时刻保持注意,并不知只有贝叶斯方法是机器学习方法。(译者注,这本书很多都是以贝叶斯方法为基础进行阐述的。)
Expectations:能够识别,完成,调试和解释大部分现有的机器学习方法。当然,对于一些特定问题,你应该有一些自己的想法去研究更高级的机器学习算法。而数据科学家则应该必须至少处于这一步。
Necessary Background:
- 你应该熟悉大部分的聚类和分类算法;
- 线性代数:理解矩阵代数和行列式运算;
- 一些多变量和向量微积分运算能力——比如知道什么是Jacobian
- 能够用R,Matlab,Scipy或者是Julia完成一些机器学习算法的编写。
Key Chapters:详细阅读1——12.1章。至于12.2 – 14章你可以在需要的时候再去阅读。
Capstone Project:完成 Online Variational Bayes Algorithm for Latent Dirichlet Allocation 并且分析一个你选择的数据。证明你写的LDA是正确的。这能测试你是否能够理解并解释前沿的机器学习算法,并且能否进行在线的推理和近似。当然这也测试了你的编写代码能力,数据预处理能力和实际的解决问题的能力。
注意:PRML花了很多的时间在Bayesian机器学习方面。因此如果你对Bayesian统计不熟,我强烈建议你先看看Doing Bayesian Data Analysis 的前五章。
Level 3: Master
这一阶段你有大量的知识需要去钻研:凸优化理论,测度理论,概率论,离散优化,线性代数,微分几何甚至是计算神经学。但是当你真正在这一阶段的时候,你也许也已经知道该去学哪些了。这里我仅仅推荐一本书: Probabilistic Graphical Models: Principles and Techniques 是一本机器学习研究者都应该去钻研的神书。PGMs是一本机器学习进阶的书,如果你熟读了此书,不管你学习哪一个机器学习方向你都能轻松驾驭了。
Expectations:对于新问题你应该能够构造概率模型,确定合理的推理技术并且能评估你的方法。对于模型之间的关系你也有了更深入的理解,比如深度信念网络也可以看成是因素图模型。
Necessary Background:
- 你应该熟悉大部分的机器学习算法
- 线性代数——知道怎样解释特征值
- 多变量和向量的微积分求解
- 能够用R,Matlab,Scipy或者是Julia完成一些机器学习算法的编写。
Key Chapters:1-8章内容类似于Bishop’s Pattern Recognition and Machine learning的2-8张的内容,但是更深入一些。9-13章是本书的精华部分。第19章对于预处理数据是非常有用的。14和15章当你要用时,你再去读他把。
Capstone Project:这一阶段了,你应该自己去定义和探索自己的机器学习项目了。也许还会知道一点当前最火热的“big data”
Level 4: Grandmaster
如果你获得主人地位,你就会拥有一个足够强大的ML背景小说追求任何ML-related专业化水平:例如:也许你感兴趣深度学习应用程序或刻画小说?也许你应该成为Metacademy贡献者?
当你过了master阶段,你已经有了很强的机器学习背景去探索任何机器学习相关的更专业的领域:比如你想去做深度学习(deep learning)相关的应用或者研究。当然或许你也许会变成一位Metacademy的贡献者。