@[TOC]
一 Learning is Impossible
首先,考虑这样一个例子,如下图所示,有3个label为-1的九宫格和3个label为+1的九宫格。根据这6个样本,提取相应label下的特征,预测右边九宫格是属于-1还是+1?结果是,如果依据对称性,我们会把它归为+1;如果依据九宫格左上角是否是黑色,我们会把它归为-1。除此之外,还有根据其它不同特征进行分类,得到不同结果的情况。而且,这些分类结果貌似都是正确合理的,因为对于6个训练样本来说,我们选择的模型都有很好的分类效果。
![3982944-f200bab70e525c7f.png](https://upload-images.jianshu.io/upload_images/3982944-f200bab70e525c7f.png)
再来看一个比较数学化的二分类例子,输入特征 是二进制的、三维的,对应有8种输入,其中训练样本D有5个。那么,根据训练样本对应的输出 ,假设有8个,这8个在上,对5个训练样本的分类效果效果都完全正确。但是在另外3个测试数据上,不同的表现有好有坏。在已知数据上,;但是在以外的未知数据上,不一定成立。而机器学习目的,恰恰是希望我们选择的模型能在未知数据上的预测与真实结果是一致的,而不是在已知的数据集上寻求最佳效果。
![3982944-e6580b7d409a91bb.png](https://upload-images.jianshu.io/upload_images/3982944-e6580b7d409a91bb.png)
这个例子告诉我们,我们想要在以外的数据中更接近目标函数似乎是做不到的,只能保证对有很好的分类结果。机器学习的这种特性被称为没有免费午餐(No Free Lunch)定理。NFL定理表明没有一个学习算法可以在任何领域总是产生最准确的学习器。不管采用何种学习算法,至少存在一个目标函数,能够使得随机猜测算法是更好的算法。平常所说的一个学习算法比另一个算法更“优越”,效果更好,只是针对特定的问题,特定的先验信息,数据的分布,训练样本的数目,代价或奖励函数等。从这个例子来看,NFL说明了无法保证一个机器学习算法在D以外的数据集上一定能分类或预测正确,除非加上一些假设条件,我们以后会介绍。
二 Probability to the Rescue
从上一节得出的结论是:在训练集以外的样本上,机器学习的模型是很难,似乎做不到正确预测或分类的。那是否有一些工具或者方法能够对未知的目标函数做一些推论,让我们的机器学习模型能够变得有用呢?
如果有一个装有很多(数量很大数不过来)橙色球和绿色球的罐子,我们能不能推断橙色球的比例?统计学上的做法是,从罐子中随机取出个球,作为样本,计算这个球中橙色球的比例,那么就估计出罐子中橙色球的比例约为。
![3982944-90fda2ff5c9c6154.png](https://upload-images.jianshu.io/upload_images/3982944-90fda2ff5c9c6154.png)
![3982944-9185b6b3d47d3634.png](https://upload-images.jianshu.io/upload_images/3982944-9185b6b3d47d3634.png)
三 Connection to Learning
下面,我们将罐子的内容对应到机器学习的概念上来。机器学习中与目标函数相等的可能性,类比于罐子中橙色球的概率问题;罐子里的一颗颗弹珠类比于机器学习样本空间的x;橙色的弹珠类比于与不相等;绿色的弹珠类比于与相等;从罐子中抽取的个球类比于机器学习的训练样本,且这两种抽样的样本与总体样本之间都是独立同分布的。所以呢,如果样本够大,且是独立同分布的,那么,从样本中的概率就能推导在抽样样本外的所有样本中的概率是多少。
![3982944-35c760f37a021931.png](https://upload-images.jianshu.io/upload_images/3982944-35c760f37a021931.png)
映射中最关键的点是讲抽样中橙球的概率理解为样本数据集
![3982944-0659d528f99fca78.png](https://upload-images.jianshu.io/upload_images/3982944-0659d528f99fca78.png)
这里我们引入两个值和。表示在抽样样本中,与不相等的概率;表示实际所有样本中,与不相等的概率是多少。
![3982944-0943ed1677c67c37.png](https://upload-images.jianshu.io/upload_images/3982944-0943ed1677c67c37.png)
![3982944-741f8288ac7085f1.png](https://upload-images.jianshu.io/upload_images/3982944-741f8288ac7085f1.png)
四 Connection to Real Learning
![3982944-682342258f2dd063.png](https://upload-images.jianshu.io/upload_images/3982944-682342258f2dd063.png)
![3982944-91ad13a562bd4695.png](https://upload-images.jianshu.io/upload_images/3982944-91ad13a562bd4695.png)
也就是说,不同的数据集,对于不同的,有可能成为Bad Data。只要在某个上是Bad Data,那么就是Bad Data。只有当在所有的上都是好的数据,才说明不是Bad Data,可以自由选择演算法A进行建模。那么,根据Hoeffding’s inequality,Bad Data的上界可以表示为连级(union bound)的形式:
![3982944-937c58a15e61299c.png](https://upload-images.jianshu.io/upload_images/3982944-937c58a15e61299c.png)
其中,是的个数,是样本的数量,是参数。该union bound表明,当有限,且足够大的时候,Bad Data出现的概率就更低了,即能保证对于所有的h都有,满足PAC,演算法A的选择不受限制。那么满足这种union bound的情况,我们就可以和之前一样,选取一个合理的演算法(PLA/pocket),选择使最小的作为矩,一般能够保证,即有不错的泛化能力。
所以,如果hypothesis的个数M是有限的,N足够大,那么通过演算法A任意选择一个矩g,都有E_{in}\approx E_{out}Ein≈Eout成立;同时,如果找到一个矩g,使E_{in}\approx 0Ein≈0,PAC就能保证E_{out}\approx 0Eout≈0。至此,就证明了机器学习是可行的。
![3982944-bbf4647beacc13c0.png](https://upload-images.jianshu.io/upload_images/3982944-bbf4647beacc13c0.png)
但是,如上面的学习流程图右下角所示,如果是无数个,例如之前介绍的PLA直线有无数条,是否这些推论就不成立了呢?是否机器就不能进行学习呢?这些内容和问题,我们下节课再介绍。
五 总结
本节课主要介绍了机器学习的可行性。首先引入NFL定理,说明机器学习无法找到一个矩g能够完全和目标函数一样。接着介绍了可以采用一些统计上的假设,例如不等式,建立和的联系,证明对于某个,当足够大的时候,和是PAC的。最后,对于个数很多的情况,只要有个数是有限的,且足够大,就能保证,证明机器学习是可行的。