机器学习原理与实践(开源图书)-总目录,建议收藏,告别碎片阅读!
人类社会和自然界每时每刻都会生产大量数据,数据即信息,如果有效利用这些信息和数据,如何根据个体和机构的特定需求从海量数据中建立模型或发现有用的知识? 现在我们有了足够的基础设施收集数据和处理数据的能力,诸如:物联网、全球导航系统、互联网、工业互联网、电信网络、移动通信网络、传感器网络、云计算、超级计算机集群。从海量数据中建立模型或发现有用的知识才能将数据矿藏变成真实的知识财富,而挖矿的工具就是机器学习。
机器学习的本质就是利用计算系统、控制系统、神经网络以及人工系统等多种工具,从数据矿藏中重构价值体系:从有限观察概括特定问题世界模型的机器学习;从观测数据挖掘有用知识的数据挖掘;从大量无序的信息到简洁有序的知识。
假如个体和机构存在特定需求Q, 希望针对特定需求Q建立模型或发现有用的知识,从而从根本上征服该领域。数据科学家给出一个机器学习的解决方案。机器学习的解决方案如下:(1) 假设存在无限的观测对象集合,由于成本有限,计划收集有限的样本集。(2) 设计一个机器学习算法,使样本集能够得到合理的解释;(3) 对于新出现的数据集,进入到学习模型,新样本同样能够得到合理解释。上述解决方案如果可信赖,需要暗合机器学习算法的本质即: 样本集和观测对象集符合统计原理并具有相同的数据分布; 样本集能够映射到多维空间形成决策分类面;具有足够的泛化和进化能力,支持新样本,系统越来越强。
机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。
在1949年,Hebb基于神经科学的研究,提出了机器学习的概念,希望神经网络的机制能够应用到计算机领域。
在1952年,IBM的科学家Arthur Samuel在开发跳棋程序时,发现如果程序支持隐式模型时,跳棋程序能够显现若干智能特征,并创造了“machine learing”这个词。
在1957年,Rosenblatt的基于神经科学的研究,提出了著名的感知器模型。Rosenblatt将感知器定义为智能系统的基本属性,无数的感知器构成一个有机智能体,向我们熟知的特定生物有机体一样。
在1960年,Widrow使用梯度学习方法即最小二乘法训练感知器模型,解决了感知器模型难以训练的难题。此时,感知器模型成为最佳线性分类器之一。
在1969年,Minsky提出了著名的XOR问题,感知器在这种情况下是将数据不可线性分割的。由于Minsky的地位和影响力神经网络的研究停滞了10年。
在1981年,Werbos提出的多层感知器,并引入了BP(反向传播算法)神经网络架构。此后,神经网络再一次得到了快速发展。
在1986年,J.R.Quinlan提出了著名的ID3算法,ID3算法核心是根据“最大信息熵增益”原则选择划分当前数据集的最好特征;ID3算法是一种贪心算法,每次选取的分割数据的特征都是当前的最佳选择,并不关心是否达到最优。。ID3后来还衍生出C4.5、CART分类决策树算法。
在1995年,Vapnik 和 Cortes提出了著名的支持向量机算法,SVM拥有非常坚实的理论基础并且能得到理想的结果。
在2000年,机器学习社区分为神经网络(NN)和支撑向量机(SVM)两个阵营。在当Kernelized版本的支持向量机被提出之后,SVM能够很好的完成许多任务,在此之前一直是被NN所完成的;SVM能够利用深厚的凸优化理论,泛化边界理论和针对NN模型的内核。
在2001年,Leo Breiman和Adele Cutler 共同提出的一种基于决策树的集成学习算法,随机森林算法。随机森林算法的实质是基于决策树的分类器集成算法,其中每一棵树都由一个随机向量生成,森林中所有的向量都是独立同分布的。随机森林算法是机器学习算法中精确度较高的算法,能克服单个预测或分类模型的缺点,被广泛应用于经济、医学、生物等领域。
在2005年,三层的NN模型强势崛起,Hinton,LeCun,Bengio,Andrew Ng和诸多大师在理论和实践上彻底激活了深度学习。深度学习能够在对象识别、语音识别、NLP等不同的任务中击败之前的技术。无论是互联网新贵还是金融公司,均在深度学习领域加大投资,以期获得高维攻击能力。
当今科学界已经四分五裂,就像巴别塔中的亚社会都说着自己的俚语,只能看到几个相邻的亚社会。终极算法会给出所有学科的统一思想,并有潜力提出一套新的万有理论。 – 佩德罗.多明戈斯《终极算法》
佩德罗.多明戈斯在《终极算法》中将机器学习领域按照核心思想和价值观的不同划分为:符号学派、联结学派、进化学派、贝叶斯学派、类推学派。多明戈斯还认为每个学派都有其核心理念以及其关注的特定问题,每个学派都已经找到该问题的解决方法,而且有体现本学派的主算法。
符号学派认为:所有的信息都可以简化为操作符号,就像数学家那样,为了解方程,会用其他表达式来代替本来的表达式。符号学派利用已有的数据和知识,结合动态的数据和知识,利用逆向演绎才发现的新的知识。
联结学派认为:学习就是大脑所做的事情,因此我们要做的就是对大脑进行逆向演绎。大脑通过调整神经元之间连接的强度来进行学习,关键问题是找到哪些连接导致了误差,以及如何纠正这些误差。联结学派的主算法是反向传播学习算法,该算法将系统的输出与想要的结果相比较,然后连续一层一层地改变神经元之间的连接,目的是为了使输出的东西接近想要的东西。
进化学派认为:所有形式的学习都源于自然选择。如果自然选择造就我们,那么它就可以造就一切,我们要做的,就是在计算机上对它进行模仿。进化主义解决的关键问题是学习结构:不只是像反向传播那样调整参数,它还创造大脑,用来对参数进行微调。进化学派的主算法是基因编程,和自然使有机体交配和进化那样,基因编程也对计算机程序进行配对和提升。
贝叶斯学派认为:所有掌握的知识都有不确定性,而且学习知识的过程也是一种不确定的推理形式。那么问题就变成,在不破坏信息的情况下,如何处理嘈杂、不完整甚至自相矛盾的信息。解决的办法就是运用概率推理,而主算法就是贝叶斯定理及其衍生定理。贝叶斯定理告诉我们,如何将新的证据并入我们的信仰中,而概率推理算法尽可能有效地做到这一点。
类推学派认为:学习的关键就是要在不同场景中认识到相似性,然后由此推导出其他相似性。如果两个病人有相似的症状,那么也许他们患有相同的疾病。问题的关键是,如何判断两个事物的相似程度。类推学派的主算法是支持向量机,主算法找出要记忆的经历,以及弄明白如何将这些经历结合起来,用来做新的预测。
备注: 该小节取材自佩德罗.多明戈斯《终极算法》P58-59