如果想简单的理清机器学习与数据挖掘二者的关系,不妨这样来理解,机器学习应用在数据分析领域 = 数据挖掘。同理,如果将机器学习应用在图像处理领域 = 机器视觉。当然这只是一种比较直白的理解,并不能见得绝对准确或者全面。我们权且这样处理。
但无论是机器学习,还是数据挖掘,你一定听说过很多名字吊炸天的传说,比如:SVM,神经网络,Logistic回归,决策树、EM、HMM、贝叶斯网络、随机森林、LDA... ....其实还是很多很多!在你学到一定程度的时候,就会发现自己了解的依然只是这个领域的冰山一角,而不免感叹学海无涯之苦了。
正式学习之前,你所需要的预备知识(主要是数学)应该包括:
微积分(偏导数、梯度等等)
概率论与数理统计(例如极大似然估计、中央极限定理、大数法则等等)
最优化方法(比如梯度下降、牛顿-拉普什方法、变分法(欧拉-拉格朗日方程)、凸优化等等)
机器学习与数据挖掘的四个阶段和两条路线
关于机器学习的路线图分为4个级别,每个级别都对应一本书必须要掌握的书。这5个级别如下:
Level 0(新手):阅读《Data Smart: Using Data Science to Transform Information into Insight》。需要了解电子表格、和一些算法的高级数据流。
Level 1(学徒):阅读《Machine Learning with R》。学习在不同的情况下用R语言应用不同的机器学习算法。需要一点点基本的编程、线性代数、微积分和概率论知识。
Level 2(熟练):阅读《Pattern Recognition and Machine Learning》。从数学角度理解机器学习算法的工作原理。理解并调试机器学习方法的输出结果,同时对机器学习的概念有更深的了解。需要有算法、较好的线性代数、一些向量积分、一些算法实现经验。
Level 3(大师):阅读《Probabilistic Graphical Models: Principles and Techniques》。深入了解一些高级主题,如凸优化、组合优化、概率论、微分几何,及其他数学知识。深入了解概率图模型,了解何时应该使用以及如何解释其输出结果。
第一条线路:
(基于普通最小二乘法的)简单线性回归-> 线性回归中的新进展(岭回归和LASSO回归)->(此处可以插入Bagging和AdaBoost的内容)-> Logistic回归 ->支持向量机(SVM)->感知机学习 -> 神经网络(初学者可先主要关注BP算法)-> 深度学习。
之所以把它们归为一条线路,因为所有这些算法都是围绕着 y = Σxiβi,这样一条简单的公式展开的,如果你抓住这条线索,不断探索下去,就算是抓住它们之间的绳索了。
当沿着第一条路线学习的时候,其实你已经攻克机器学习的半壁江山了!当然,在这个过程中,你一定时刻问问自己后一个算法与前一个的联系在哪里?最初,人们从哪里出发,才会如此设计出它们的。
第二条路线:
K-means -> EM->朴素贝叶斯->贝叶斯网络 -> 隐马尔科夫模型(基本模型,前向算法,维特比算法,前向-后向算法)->(卡尔曼滤波)。
这条线路所涉及的基本都是那些各种画来画去的图模型,一个学术名词是 PGM 。这条线的思路和第一条是截然不同的!贝叶斯网络、HMM(隐马尔科夫模型)是这个线路中的核心内容。K-means 和 EM 具有与生俱来的联系,认识到这一点才能说明你真正读懂了它们。而EM算法要在HMM的模型训练中用到,所以你要先学EM才能深入学习HMM。所以尽管在EM中看不到那种画来画去的图模型,但我还把它放在了这条线路中,这也就是原因所在。
朴素贝叶斯里面的很多内容在,贝叶斯网络和HMM里都会用到,类似贝叶斯定理,先验和后验概率,边缘分布等等(主要是概念性的)。最后,卡尔曼滤波可以作为HMM的一直深入或者后续扩展。尽管很多machine learning的书里没把它看做是一种机器学习算法(或许那些作者认为它应该是信号处理中的内容),但是它也确实可以被看成是一种机器学习技术。
机器学习和人工智能作为未来科技的发展方向,有着不错的前景和发展空间,但是正如这个领域的浩如烟海般的博大一样,学习的过程也是漫长而苦楚的,只有真正喜欢并且坚持的人,才能真正在机器学习领域有所建树。
↧