1.Learning is Impossible
课上给出了一个例子,要求通过给出的训练样本预测右边的九宫格输出结果为-1还是+1:
而实际上无论你回答-1还是+1,我们都可以说你是错误的且能给出看似合理的解释:
再看另一个例子,输入为三维的二进制数字。对于5个训练样本,分类效果完全正确,但是在3个测试数据上,预测结果却不一定正确。
因此,学习可能是做不到的,在训练集中可以求得一个最佳假设g,但是在训练集外的样本中,g可能和目标函数f相差甚远。这被称为No Free Lunch定理,NFL定理表明没有一个学习算法可以在任何领域总是产生最准确的学习器。不管采用何种学习算法,至少存在一个目标函数,能够使得随机猜测算法是更好的算法。平常所说的一个学习算法比另一个算法更“优越”,效果更好,只是针对特定的问题,特定的先验信息,数据的分布,训练样本的数目,代价或奖励函数等。从这个例子来看,NFL说明了无法保证一个机器学习算法在D以外的数据集上一定能分类或预测正确,除非加上一些假设条件。
2.Probability to the Rescue
一种补救措施:通过上一小节,我们得到一个结论,机器学习无法求得近似目标函数f的假设函数g,机器学习的模型似乎做不到正确预测或分类。那是否有一些工具或方法能对未知的目标函数f做一些推论,让我们的机器学习模型变得有用呢?
从一个装有大量橙色球和绿色球的罐子,我们随机取出N个小球作为样本,计算N中橙色球的比例v,就能推断出橙色球在罐子里的比例u。虽然并不能得出u一定等于v,但从概率的角度上看v在很大程度上接近u的结果。
参考Hoeffding ’s inequality:
|v-u|表示v与u的接近程度,ε为此程度的下界,随着样本数量N增大,v与u相差较大的概率不断变小,因此可得出“v与u近似相等”的结论,我们将这个结论称为probably approximately correct(PAC)
3.Connection of Learning
将罐子对应于整个输入空间,一颗颗弹珠对应于输入的一个个x,橘色弹珠表示x对应的h(x)!=f(x),绿色弹珠表示x对应的h(x)=f(x)。现在我们假设有一个固定的h已知,然后我们抓出100个弹珠作为一个样本集,那么我们从这个样本集中橘色弹珠的比例大概可以检验出h在这个样本集上的表现。如果样本集足够大且独立同分布,那么从样本集中就可以大概推算出h在整个空间中与f契合的几率是多少。这就是机器学习能够工作的本质,即我们从样本数据上得到一个假设从而将其推广至全局,因为二者满足Hoeffding不等式,其二者结论满足PAC。
引入两个值Ein(h)和Eout(h)。Ein(h)表示在抽样样本中,h(x)与yn不相等的概率;Eout(h)表示实际所有样本中,h(x)与f(x)不相等的概率。
表明,Ein(h)=Eout(h)也是PAC的。如果Ein(h)≈Eout(h),Ein(h)很小,那么就能推断出Eout(h)很小,也就是说在该数据分布P下,h与f非常接近,机器学习的模型比较准确。
N很大的时候,Ein(h)≈Eout(h),但是并不意味着g≈f。因为h是固定的,不能保证Ein(h)足够小,这时即使Ein(h)≈Eout(h),也可能使Eout(h)偏大。所以,一般会通过演算法A,选择最好的h作为g,使Ein(h)足够小,从而保证Eout(h)很小。因此真正的学习,是有选择的。最后,对于一个固定的假设h(x), 我们需要验证它的错误率,然后根据验证的结果选择最好的h(x)。
4.Connection to Real Learning
面对多个h 做选择时,容易出现问题。比如,某个不好的h在最初有”准确“ 的假象。随着h 的增加,出现这种假象的概率会增加。
发生这种现象的原因是训练数据质量太差。
假设有M个hypothesis,其中某一个罐子hM里面的弹珠全是绿色,我们该不该选择这个h作为最后的g?实际上是不应该的。
打个比方,有150个人扔公平的硬币,至少有一个人连续5次正面向上的概率为
但这是否说明这枚硬币就是比较幸运的硬币,抛出正面的可能性比较大呢?我们知道每个硬币都是公平的硬币,抛出正反的概率都为1/2,因此答案是否定的。一样的道理,得到的弹珠全是绿色弹珠,也不一定说明罐子里的弹珠全是绿色弹珠。
当罐子中弹珠数量很多,或抛硬币的人数很多时,小概率上,就可能会出现Bad Sample:Ein和Eout差别很大的数据集。
可见不同的数据集,对于不同的h,都有可能成为Bad Sample。只要Dn在某个h上是Bad Sample,那么Dn就是Bad Sample,只有当Dn在所有的h上都是好的数据,才说明Dn不是Bad Sample,如D1126。因此,我们期望对于我们面对的假设空间,训练数据集对于其中的任何假设h都不是BAD Sample。
根据hoeffding不等式,Bad Sample的上限为:
M是h的个数,N是样本D的数量,ϵ是参数。当M有限,N越大,Bad Sample出现的概率就越低,即能保证D对于所有的h都有Ein≈Eout,满足PAC。所以,当假设空间大小M有限时, N 足够大,通过演算法A任意选择一个g,发生BAD sample的概率都非常小。至此就证明了机器学习是有效的。
当假设空间无穷大时(例如感知机空间),我们下一次继续讨论。