机器学习为人工智能的发展插上腾飞的翅膀。
没有机器学习,人工智能只能鹦鹉学舌,按照程序员预先给定的设想执行,不可能具备推此及彼的泛化能力。
1.机器学习的定义
机器学习由阿瑟.塞缪尔在20世纪50年代一篇有关跳棋游戏的论文“Some Studies in Machine learning using Gase of Checkers”中第一次提出,因此他被称为“机器学习之父”。
他对机器学习定义是:
机器学习是这样的领域,它赋予计算机学习的能力,这种学习能力不是通过显著式编程获得的。
这里有一个非常重要的概念,就是非显著式编程。什么是非显著式编程?举个例子,要让计算机能够识别菊花和玫瑰,如果我们首先告诉计算机,菊花是黄色的,玫瑰是红色的,那么,计算机识别到黄色就表示菊花,识别到红色就表示玫瑰,这就是显著式编程,如果只给计算机一些菊花和玫瑰的图片,然后编写程序,让计算机程序自己总结菊花和玫瑰的特征和区别,然后识别,这就是非显著编程。
后续的学者继续对机器学习给出更加明确精准的定义。
美国卡内基梅隆大学CMU计算机学院院长Tom Mitchell教授1998年编写《机器学习》教材,给出的定义是:一个计算机程序被定义可以学习,是指它能够针对某个任务T和某个性能指标P,从经验E中学习。这种学习的特点是,它在T上的被P所衡量的性能,会随着经验E的增加而提高。
Tom Mitchell的定义比Arthur Samuel的定义更加明确,给出明确的模型要素,根据这个定义,可以认为根据经验E提高性能指标P的过程是典型的最优化问题,而最优化问题可以运用数学进行处理,从而使得机器学习正式转换成一个数学问题。
2.机器学习基本原理和原则
既然机器学习是经验的总结,而经验总结者不一定掌握数据规律背后的根本原因,只是基于有限的数据样本的特征表现进行分析,因此很难避免不确定性的存在,而目前描述不确定发生现象最好的数学工具是概率,因此,哈佛大学教授莱斯利·瓦利安特企图用概率论在理论上对机器学习进行总结,他提出了一个概率近似正确学习模型(PAC Learning)。
机器学习有两个元素:模型和经验样本数据,其中模型包含两个部分:优化算法和假设空间,所谓机器学习就是用优化算法从假设空间中选择一个假设,使此假设能符合给定的数据描述,因此优化算法通俗的讲就是假设空间的选择算法。
PAC学习理论不关心假设选择算法,而关心的是能否从假设空间H中学习到一个好的假设h,“好假设”满足两个条件:
- 近似正确:泛化误差E(h)足够小:E(h)越小越好,最好泛化误差等于0,但一般是不可能的,那就设定一个η,使得误差小于它,就认为h是正确的。
- 可能正确:不指望选择的假设百分之百近似正确,只要很可能是近似正确的就可以,即我们给定一个μ,假设h满足P(h)>=1-μ。
就是模型在短时间内利用少量的样本能够找到一个假设h,使其满足:
P(E(h)< η)>=1-μ
如果说,基于搜索算法、决策树一类的学习算法是基于概率性的归纳的话,那么,链接主义的神经网络,却是对人类神经系统感知和反射的神经元链接参数的学习训练的仿生,当然通过参数训练得到的结果仍存在不确定性,仍适用于PAC理论。
关于机器学习,有几个基本的原则和定理需要遵守:没有免费午餐定理、奥卡姆剃刀原则。
1995年,D.H.Wolpert等人提出:任何一个预测函数,如果在一些训练样本上表现好,那么在另一些训练样本上表现不好,因此,如果不对数据在特征空间上的先验分布有一定的假设,那么表现好和表现不好的情况将一样多。
什么意思?就是一定的样本,我们一定要有先验的假设,已经预先知道它具备某些可能的特征结论,才能设定相适应的的学习模型,训练出所需要的结果。
相反的就产生另一个原则:GIGO原则,即“Garbage In and Garbage Out”,即垃圾进、垃圾出原则,如果数据不具备设计者预想的特征,而偏要用为预想特征量身打造的模型进行训练,是训练不出可以收敛的结果,训练不出结果的样本数据就是一堆垃圾数据。
奥卡姆剃刀有句名言:“如无必要,勿增实体”,换一个说法,就是用最简单的方法得到最恰当的结果。这是一种思维经济性原则,用在学习模型上也是一样的道理。
过度拟合不符合奥卡姆剃刀原则,因此,还有一个原则,即机器学习的最好效果不是训练样本的100%符合,而是确保测试样本和实际运用的高度符合性。
样本比例原则,当数据量少时,训练样本和测试样本比例一般采用7:3,当样本量越多,测试比例可以越少,甚至到达9:1。