目录表:一概念
二、发展史
三、细节
一、机器学习概念
机器学习(Machine learning,ML)已经成为当今的热门话题,但是从机器学习概念的诞生到机器学习技术得以普遍应用经历了一段漫长的过程。最早给出机器学习概念的诞生到机器学习技术得以普遍应用经历了一段漫长的过程。最早给出机器学习的概念是“机器学习是在不直接针对问题进行编程的情况下,赋予计算机一个研究领域”
计算机系Tom Mitchell赋予机器学习一个更被人们广泛接受的定义:假设用p评估计算机程序在某任务类T上的性能,若一个程序利用经验E在T中任务上获得了性能改善,则认为关于T和P,改程序对E进行了学习。以计算机
下围棋程序为例,经验E就是通过学习现有的高水平围棋棋谱,再加上程序成千上万次的自我对弈后积累形成的下棋策略;任务T就是下围棋;性能度量值P就是它在与对手进行围棋比赛时获胜的概率。
随着对机器学习了解的深入,机器学习的内涵和外延也在不断发生变化。目前普遍认为,机器学习专门研究计算机如何模拟或实现人类的学习行为,以获得新的知识或技能,重新组织已有的知识结构使之不断完善系统和自身的性能;他是人工智能的核心,是使计算机具有智能的根本途径。机器学习是一门多领域交叉学科,涉及计算机科学、概率论、统计学、最优化理论、控制论、信息论、决策论、认知科学等多个领域。
在计算机系统中,经验通常是以数据结构形式存在的,因此机器学习研究的主要内容是使计算机如何从已有的数据中产生模型的算法(也就是学习方法),以便利用基于经验数据得到的模型(这里的“模型”泛指从数据中学到得到的结果)对新的情况做出判断或者预判。由此可见,要进行机器学习,首先要有数据(data)。假设要对某个商品楼盘的售价情况进行预测分析,如果搜集了不同特性的楼盘和所对应的价格信息,包括房屋的面积、户型、楼层、地理位置、物业、开发商、周边配套等,这组记录的集合就称为一个数据集(data set);其中每条记录是关于一个事件或对象的描述,称为示例(instance)或样本 sample。反映事件或者对象在某方面的表现或者性质的事项,称为属性attribute或特征feature;属性的取值称为属性值;属性所张成的空间称为属性空间attribute space、样本空间sample space或输出空间。利用学习算法从数据中学得模型的过程称为训练数据,其中每个样本称为一个训练样本,其组成的集合称为训练集training set。
机器学习的目标是使学到的模型能很好的适用于新样本,而不仅仅是训练集。模型适用于新样本的能力称为泛化能力。通常假设样本空间中的全部样本服从一个未知分布,每个样本均从这个分布中独立获得,即独立同分布(independent and identically distributed,i.i.d)。一般而言,训练样本越多,越有可能通过学习获得具有较强泛化能力的模型。
二、机器学习发展史
- 推理期: 时间为1950s~1970s,人们认为只要给机器赋予逻辑推理能力,机器就能具有智能。这一阶段的代表性工作主要有A. Newell和H. Simon的“逻辑理论家”程序以及此后的“通用问题求解”程序等,这些工作在当时取得了令人振奋的成果。例如,“逻辑理论家”程序在1952年证明了著名数学家罗素和怀特海的名著《数学原理》中的38条定理,在1963年证明了全部的52 条定理,而且定理 2.85甚至比罗素和怀特海证明得更巧妙。A.Newell和H.Simon因此获得了1975年图灵奖。然而,随着研究向前发展,人们逐渐认识到,仅具有逻辑推理能力是远远实现不了人工智能的。E.A. Feigenbaum等人认为,要使机器具有智能,就必须设法使机器拥有知识。
- 知识期: 时间为1970s~1980s,在这一时期,大量专家系统问世,在很多领域做出了巨大贡献。E.A. Feigenbaum 作为“知识工程”之父在 1994 年获得了图灵奖。但是,专家系统面临“知识工程瓶颈”,简单地说,就是由人来把知识总结出来再教给计算机是相当困难的。于是,一些学者想到,如果机器自己能够学习知识该多好
- 学习期: 时间为1980s~现在,机器学习开始受到重视,成为一个独立的学科领域并开始快速发展、各种机器学习技术百花齐放的时期。事实上,图灵在1950年提出图灵测试的文章中就已经提到了机器学习的可能,而1950s其实已经开始有机器学习相关的研究工作,主要集中在基于神经网络的连接主义学习方面,代表性工作主要有F.Rosenblatt的感知机、B.Widrow的Adaline等。
- 1943年【NN基础理论】,McCulloch和Pitts提出了神经网络层次结构模型,确立了神经网络的计算模型理论,从而为机器学习的发展奠定了基础
- 1950年【重要事件】,Turing提出了著名的“图灵测试”,使人工智能成为了科学领域的一个重要研究课题
- 1957年【NN第一次崛起】,Rosenblatt提出了Perceptron(感知器)概念,用Rosenblatt算法对Perceptron进行训练。并且首次用算法精确定义了自组织自学习的神经网络数学模型,设计出了第一个计算机神经网络(NN算法),开启了NN研究活动的第一次兴起
- 1958年【正式LR】,Cox给Logistic Regression方法正式命名,用于解决美国人口普查任务
- 1959年【重要事件】,Samuel设计了一个具有学习能力的跳棋程序,曾经战胜了美国保持8年不败的冠军。这个程序向人们初步展示了机器学习的能力,Samuel将机器学习定义为无需明确编程即可为计算机提供能力的研究领域
- 1960年【NN发展】,Widrow用delta学习法则来对Perceptron进行训练,可以比Rosenblatt算法更有效地训练出良好的线性分类器(最小二乘法问题)
- 1962年【雏形CNN】,Hubel和Wiesel发现了猫脑皮层中独特的神经网络结构可以有效降低学习的复杂性,从而提出著名的Hubel-Wiese生物视觉模型,该模型卷积神经网络(CNN)的雏形,这之后提出的神经网络模型也均受此启迪
- 1963年【雏形SVM】,Vapnik和Chervonenkis发明原始支持向量方法,即起决定性作用的样本为支持向量(SVM算法)
- 1969年【NN第一次停滞】,Minsky和Papert出版了对机器学习研究有深远影响的著作《Perceptron》,其中对于机器学习基本思想的论断:解决问题的算法能力和计算复杂性,影响深远且延续至今。文章中提出了著名的线性感知机无法解决异或问题,打击了NN社区,从那以后NN研究活动直到1980s都萎靡。
- 1980年【重要事件】,在美国卡内基梅隆大学举行了第一届机器学习国际研讨会,标志着机器学习研究在世界范围内兴起,该研讨会也是著名会议ICML的前身
- 1981年【NN第二次崛起】,Werbos提出多层感知机,解决了线性模型无法解决的异或问题,第二次兴起了NN研究
- 1984年【决策树】,Breiman发表分类回归树(CART算法,一种决策树)
- 1986年【决策树】,Quinlan提出ID3算法(一种决策树)
- 1986年【NN的BP算法】,Rumelhart,Hinton和Williams联合在《Nature》杂志发表了著名的反向传播算法(BP算法)
- 1989年【正式CNN】,Yann和LeCun提出了目前最为流行的卷积神经网络(CNN)计算模型,推导出基于BP算法的高效训练方法,并成功地应用于英文手写体识别
- 1995年【正式SVM】,Vapnik和Cortes发表软间隔支持向量机(SVM算法),开启了随后的机器学习领域NN和SVM两大社区的竞争
- 1995年【NN第二次停滞】,自1995年到随后的10年,NN研究发展缓慢,SVM在大多数任务的表现上一直压制着NN,并且Hochreiter的工作证明了NN的一个严重缺陷-梯度爆炸和梯度消失问题
- 1997年【Adaboost】,Freund和Schapire提出了另一种可靠的机器学习方法-Adaboost,
- 2001年【随机森林】,Breiman发表随机森林方法(Random forest),Adaboost在对过拟合问题和奇异数据容忍上存在缺陷,而随机森林在这两个问题上更加鲁棒。
- 2005年【NN第三次崛起】,经过多年的发展,NN众多研究发现被现代NN大牛Hinton, LeCun, Bengio, Andrew Ng和其它老一辈研究者整合,NN随后开始被称为深度学习(Deep Learning),迎来了第三次崛起。
三、具体深入细节
Rosenblatt算法:
(484条消息) 初探神经网络(二)单层感知机的Rosenblatt算法原理_Yooooung_Lee的博客-CSDN博客
CNN与生物视觉系统的研究探索:
卷积神经网络十五问:CNN与生物视觉系统的研究探索 – 知乎 (zhihu.com)
梯度下降与delta法则 – FontTian – 博客园 (cnblogs.com)
delta学习法则:
SVM算法:
SVM算法 – 知乎 (zhihu.com)
感知机(Perceptron):
算法理论03 感知机(Perceptron) – 知乎 (zhihu.com)
多层感知机:
(484条消息) 多层感知机(MLP)简介_北漂奋斗者的博客-CSDN博客_mlp
决策树:
一文看懂决策树 – Decision tree(3个步骤+3种典型算法+10个优缺点) (easyai.tech)
CART算法:
CART算法 – 知乎 (zhihu.com)
ID3算法:
决策树算法–ID3算法 – 知乎 (zhihu.com)
BP算法:
神经网络,BP算法的理解与推导 – 知乎 (zhihu.com)
向量机
支持向量机(SVM)——原理篇 – 知乎 (zhihu.com)
梯度爆炸和梯度消失问题
深度学习之3——梯度爆炸与梯度消失 – 知乎 (zhihu.com)
-Adaboost算法
AdaBoost算法 – 知乎 (zhihu.com)
Random forest
随机森林 – Random Forest – 知乎 (zhihu.com)
NN算法:
神经网络NN算法(理论篇) – 知乎 (zhihu.com)
机器学习发展史等一些学习方法的总结