简单理解过拟合及归纳偏好

模型作为机器学习三要素之一,将是我们初学机器学习时首先遇到的,并不是因为它有多么容易,仅仅是因为它学习机器学习时最先会被我们接触到的一层。如果说模型是我们用机器学习解决问题的一个工具,那么算法就是实现这个工具的内部结构,策略就是设计这个工具的工作方式,因此,作为这个工具本身,模型就会是我们首先接触到的。

但我们首先要解决的问题是,我们凭什么用这个工具?我的意思是,机器学习的模型这么多,什么逻辑回归,决策树,支持向量机等等等等,这么多模型设计出来难道在解决每个问题上的性能都会是一样的吗?

那显然不是。事实上,判断一个模型该在什么样的场景使用,这个模型的表现如何都是比想象中的要复杂的多的。

一、欠拟合和过拟合

先假设一个问题,假设有如下图的7个样本点构成的训练集:

现在我们需要一条线(模型),来描述这几个点的走势,然后推断出如果第8个点的横坐标是8,那么它(测试集)会出现在上面这幅坐标图的哪个位置。这是一个简单的回归问题,或者说是预测问题。


如果只是用肉眼观察的话,似乎很简单,用一个包含简单参数的模型:

就可以大概拟合出合适的函数图像。我们只需要让机器不断地尝试着去寻找a的具体值,就可以不断地逼近这个模型下最好的函数图像。

那么假设我们现在用了三种带参数的模型去拟合图像,分别是:

便可能会拟合出这三种图像

仅直观上来讲,相信没有人会认为,第一幅图和第三幅图中的模型拟合的效果会比第二幅图好,换句话说,由第二幅图导出的第八个点的坐标会比另外两张图更为可信。

这个时候,因为第一幅图中的模型完全没有学习够训练集的特征,我们便称种情况为欠拟合。而第三幅图,则可能因为对于训练集的特征学习的过于完全,导致模型不能够很好的在测试集上发挥出效果,这个时候我们就称之为过拟合

用一个更形象的例子来说明,假设我们要训练出一个可以判断图片中是否有人脸的模型,那么第一幅图中的模型就相当于只获取了人脸的一部分特征,像是它训练完之后,就觉得只要有个鼻子的东西就是人脸,于是它就把每一幅有“鼻子”的图片识别为人脸,而第三张图,因为给机器训练的所有图片中的人的脸上偏偏都有颗痣,结果这个模型就误以为“不仅要有五官,脸上还得有颗痣才是人脸”,那么结果就是,脸上没痣的,这模型就不当人看了。

二、奥卡姆剃刀准则

那我们怎么样才能找到像第二幅图表现的那样最合适的模型呢?一种方法是根据理论去选择。

根据理论选择,我们就可以沿用一个帅气异常的定理的名字“奥卡姆剃刀准则”,简单的说,就是“当几个模型在训练集上的效果差不多的时候,选最简单的那个模型”(“如无必要,勿增实体”)。

但是,事实上奥卡姆剃刀准则并不是选择模型时雷打不动的金科玉律,因为在实际问题中,谁也不能保证,第三幅图中那个看着让人感觉别扭的模型预测的第8个点的位置就一定是错的。那谁的正确率高?这还真不能保证,因为理论上,如果两个模型在训练集的拟合效果完全相同时,那么它们的预测准确率是一样的,甚至哪怕是让机器随便乱猜,如果效果和另外一个很严谨的模型一样,那么这两个模型匹配测试集的期望就是一样的。这个有悖我们直觉的定理被称为“没有免费的午餐定理”。

对这个定理,我们可以来做一个简单的证明(之所以是“简单”,是因为严格的NFL证明会比下面的复杂的多):

假设样本空间X和假设空间H都是离散的,令P(h∣X,ζa)代表算法ζa基于训练数据X(注意不是X)产生假设h的概率,再令f代表我们希望学习的真实目标函数,ζa的“训练集外误差”(换句话说,在测试机上的误差),即ζa在训练集之外所有样本上的误差为:

其中I()为指示函数,如果”()”内的内容为真该函数值就为1,否则为0。(在公式里面那个I()是罗马字母,就是空心的跟在P(x)后面的那个)

考虑二分类问题,且真实目标函数可以是任何函数X→{0,1},函数空间为{0,1}∣X∣。对所有可能的f按均匀分布对误差求和,有:

上式表明,总误差确实是与学习算法无关的,因而,对于任意两个学习算法ζa和ζb,我们都有:

那奥卡姆剃刀准则在这里是不是没用呢?那当然是得有用的。假设我们有下图两个算法在同一个训练集上的表现:

算法A是那个平滑的图像,算法B是那个扭来扭去的图像。

三、归纳偏好

算法A的这种情况我们就称之为对这种类型假设的归纳偏好(inductive bias),简称偏好。偏好可以看作是学习算法在一个可能很庞大的假设空间(即包含了所有可能的假设(hypothesis)的空间)对假设进行选择的启发式或“价值观”。一般来说,我们用奥卡姆剃刀(Occam’s razor)准则作为引导算法确立其偏好的一般性原则。


而且,NFL(没有免费的午餐,No Free Lunch Theorem)定理实际上是建立在一个相当重要的前提就是真实目标函数f服从均匀分布的情况上的,这意味着,所有的“问题”出现的机会是相同的,或者是说,所有的问题同等重要。这是一个很不符合现实的问题,因为我们只会关注自己正在解决的问题,换句话说,在我们关注的问题上能取得好效果的算法能不能在其他问题上效果也一样好,和我们没有关系。

这一段的意思总结就是,对于一个问题而言,没有最好的“模型”,只有最“合适”的模型,那么如何寻找最合适的模型呢?理论上来说,我们可以对效果最好又最简单的模型抱有最大的期望。

发表评论

邮箱地址不会被公开。 必填项已用*标注