内容摘自网上,只用于自己的学习梳理。
Hebb于1949年基于神经心理学的学习机制开启机器学习的第一步。此后被称为Hebb学习规则。Hebb学习规则是一个无监督学习规则,这种学习的结果是使网络能够提取训练集的统计特性,从而把输入信息按照它们的相似性程度划分为若干类。这一点与人类观察和认识世界的过程非常吻合,人类观察和认识世界在相当程度上就是在根据事物的统计特征进行分类。
从上面的公式可以看出,权值调整量与输入输出的乘积成正比,显然经常出现的模式将对权向量有较大的影响。在这种情况下,Hebb学习规则需预先定置权饱和值,以防止输入和输出正负始终一致时出现权值无约束增长。
1950年,阿兰·图灵创造了图灵测试来判定计算机是否智能。图灵测试认为,如果一台机器能够与人类展开对话(通过电传设备)而不能被辨别出其机器身份,那么称这台机器具有智能。这一简化使得图灵能够令人信服地说明“思考的机器”是可能的。
1952,IBM科学家亚瑟·塞缪尔开发了一个跳棋程序。该程序能够通过观察当前位置,并学习一个隐含的模型,从而为后续动作提供更好的指导。塞缪尔发现,伴随着该游戏程序运行时间的增加,其可以实现越来越好的后续指导。
通过这个程序,塞缪尔驳倒了普罗维登斯提出的机器无法超越人类,像人类一样写代码和学习的模式。他创造了“机器学习”,并将它定义为“可以提供计算机能力而无需显式编程的研究领域”。
1957年,罗森·布拉特(心理学家)基于神经感知科学背景提出了第二模型,非常的类似于今天的机器学习模型。这在当时是一个非常令人兴奋的发现,它比Hebb的想法更适用。基于这个模型罗森·布拉特设计出了第一个计算机神经网络——感知机(the perceptron),它模拟了人脑的运作方式。
3年后1960年,维德罗首次使用Delta学习规则用于感知器的训练步骤。这种方法后来被称为最小二乘方法。这两者的结合创造了一个良好的线性分类器。
1969年马文·明斯基(是个牛人)将感知器兴奋推到最高顶峰。他提出了著名的XOR问题和感知器数据线性不可分的情形。此后,神经网络的研究将处于休眠状态,直到上世纪80年代。尽管BP神经的想法由林纳因马在1970年提出,并将其称为“自动分化反向模式”,但是并未引起足够的关注。
1980年,在美国的卡内基梅隆大学(CMU)召开了第一届机器学习国际研讨会,标志着机器学习研究已在全世界兴起。此后,机器归纳学习进入应用。经过一些挫折后,多层感知器(MLP)由伟博斯在1981年的神经网络反向传播(BP)算法中具体提出。当然BP仍然是今天神经网络架构的关键因素。有了这些新思想,神经网络的研究又加快了。
1985 -1986神经网络研究人员(鲁梅尔哈特,辛顿(深度学习之父,那时候已经很牛了),威廉姆斯-赫,尼尔森)先后提出了MLP与BP训练相结合的理念。
1995年 , Freund和schapire改进了Boosting算法 ,提出了 AdaBoost (Adap tive Boosting)算法,该算法效率和 Freund于 1991年提出的 Boosting算法几乎相同 ,但不需要任何关于弱学习器的先验知识 ,因而更容易应用到实际问题当中。同年,机器学习领域中一个最重要的突破,支持向量(support vector machines, SVM ),由瓦普尼克和科尔特斯在大量理论和实证的条件下年提出。从此将机器学习社区分为神经网络社区和支持向量机社区。支撑向量机 , Boosting,最大熵方法(比如logistic regression, LR)等。这些模型的结构基本上可以看成带有一层隐层节点(如SVM, Boosting),或没有隐层节点(如LR)。这些模型在无论是理论分析还是应用都获得了巨大的成功。
在机器学习发展分为两个部分,浅层学习(Shallow Learning)和深度学习(Deep Learning)。浅层学习起源上世纪20年代人工神经网络的反向传播算法(Back-propagation)的发明,使得基于统计的机器学习算法大行其道,虽然这时候的人工神经网络算法也被称为多层感知机(Multiple layer Perception),但由于多层网络训练困难,通常都是只有一层隐含层的浅层模型。
2006年,神经网络研究领域领军者Hinton,辛顿提出了神经网络Deep Learning算法,使神经网络的能力大大提高,向支持向量机发出挑战。 2006年,机器学习领域的泰斗Hinton和他的学生Salakhutdinov在顶尖学术刊物《Scince》上发表了一篇文章,开启了深度学习在学术界和工业界的浪潮。
这篇文章有两个主要的讯息:
1)很多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻划,从而有利于可视化或分类;
2)深度神经网络在训练上的难度,可以通过“逐层初始化”( layer-wise pre-training)来有效克服,在这篇文章中,逐层初始化是通过无监督学习实现的。
Hinton的学生Yann LeCun的LeNets深度学习网络可以被广泛应用在全球的ATM机和银行之中。同时,Yann LeCun和吴恩达等认为卷积神经网络允许人工神经网络能够快速训练,因为其所占用的内存非常小,无须在图像上的每一个位置上都单独存储滤镜,因此非常适合构建可扩展的深度网络,卷积神经网络因此非常适合识别模型。
2015年,为纪念人工智能概念提出60周年,LeCun、Bengio和Hinton推出了深度学习的联合综述。
深度学习可以让那些拥有多个处理层的计算模型来学习具有多层次抽象的数据的表示。这些方法在许多方面都带来了显著的改善,包括最先进的语音识别、视觉对象识别、对象检测和许多其它领域,例如药物发现和基因组学等。深度学习能够发现大数据中的复杂结构。它是利用BP算法来完成这个发现过程的。BP算法能够指导机器如何从前一层获取误差而改变本层的内部参数,这些内部参数可以用于计算表示。深度卷积网络在处理图像、视频、语音和音频方面带来了突破,而递归网络在处理序列数据,比如文本和语音方面表现出了闪亮的一面。
当前统计学习领域最热门方法主要有deep learning和SVM(supportvector machine),它们是统计学习的代表方法。可以认为神经网络与支持向量机都源自于感知机。
神经网络与支持向量机一直处于“竞争”关系。SVM应用核函数的展开定理,无需知道非线性映射的显式表达式;由于是在高维特征空间中建立线性学习机,所以与线性模型相比,不但几乎不增加计算的复杂性,而且在某种程度上避免了“维数灾难”。而早先的神经网络算法比较容易过训练,大量的经验参数需要设置;训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优。
神经网络模型貌似能够实现更加艰难的任务,如目标识别、语音识别、自然语言处理等。但是,应该注意的是,这绝对不意味着其他机器学习方法的终结。尽管深度学习的成功案例迅速增长,但是对这些模型的训练成本是相当高的,调整外部参数也是很麻烦。同时,SVM的简单性促使其仍然最为广泛使用的机器学习方式。