![快乐机器学习](https://wfqqreader-1252317822.image.myqcloud.com/cover/216/32375216/b_32375216.jpg)
3.4 误差剖析
3.4.1 误差来源
接着使用上面关于房价的例子,让我们再进一步剖析真实误差。假设给定一个模型,使用该模型根据给定的房子面积来预测房价是一定会有误差的,那么误差的来源有哪些呢?这个模型只用了一个[面积,房价]训练集来拟合模型参数,而市场中有无数个同样大小的[面积,房价]训练集。用每个训练集来拟合模型都会得出不同的模型参数。假设市场中有一个真实模型(想得到却摸不着)可以描述面积与房价的关系。
● 对用所有训练集得到的所有模型求平均值,得到一个平均模型,它与真实模型之间的差距叫作偏差。
● 用所有训练集得到的所有模型本身也各不相同,它们的变动水平叫作方差。
● 这些房子的成交价不一定只与面积相关,还可能与当时买家或卖家的心情,甚至成交当天的天气有关。这些因素造成的误差都可以被看作噪声。
为了便于解释,将常函数(高阶多项式函数)称为简单(复杂)模型。接下来看不同数据拟合出来的两种模型。
简单模型:不同数据拟合出来的模型变化不大(见下图中平缓移动的绿线)。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_83_1.jpg?sign=1739283309-5uyC34HrJLzsH0KgzE9VIlwfuEcBU46h-0-ab2ab71e72edf77a9a15279bf3c56897)
简单模型的两种可能情形
解释
● 橙线是真实模型,绿线是拟合模型。
● 是用第一套训练数据拟合出来的模型,下标wtrain1代表第一套参数。
● 是用第二套训练数据拟合出来的模型,下标wtrain2代表第二套参数。
复杂模型:不同数据拟合出来的模型区别很大(见下图中“疯狂”震动的绿线)。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_83_4.jpg?sign=1739283309-HXwW3uJ4Lbkc4QnueAas4Wav5wb9QVtd-0-7515d0c914afa69a2873ba7986415714)
复杂模型的两种可能情形
从左图所示的两张图中可以看出不同训练数据可拟合出不同的简单或复杂的模型:
● 简单的模型千篇一律。
● 复杂的模型千差万别。
注:本节所用图参考自参考资料[3]。
接下来研究在这两种模型中偏差和方差的性质。首先介绍以下概念及在下图中的表示形式。
● 拟合模型:一套训练集拟合出来的模型,用绿色实线表示。
● 平均模型:无数个拟合模型的期望,用绿色虚线表示。
● 真实模型:在现实中客观存在的模型,用橙色实线表示。
● 偏差:真实模型和平均模型的差异。
● 方差:无数个拟合模型的差异。
● :拟合模型、平均模型、真实模型,由下标wmodel=wtrain,wmean,wtrue决定。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_84_1.jpg?sign=1739283309-IXiuu7g91Xwmlq4MQ6k1w0XOUu8i6Xk2-0-45cc5e4b76b7a3dc1b0cf328419c399c)
简单模型高偏差,复杂模型低偏差
偏差
由左图可见,绿色虚线和黄色曲线相差甚远。
简单模型就是一组水平直线,求平均值之后还是一条直线,和真实模型的曲线差别大,因此,简单模型通常是高偏差(见灰色阴影面积)。
由左图可见,绿色虚线和黄色曲线相差很近。
复杂模型是一组起伏很大的波浪线,求平均值之后最大值和最小值都会相互抵消,和真实模型的曲线差别小,因此复杂模型通常是低偏差(见黄色曲线和绿色虚线几乎重合)。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_84_2.jpg?sign=1739283309-6DZNHZIvTFX1LTSQI590gpgoAyOzvHBQ-0-9f234e7e9155f9b1a3a967ab7409bbf9)
简单模型低方差,复杂模型高方差
方差
由左图可见,绿色实线的振动有规律而且区间很窄。
简单模型对数据的变动不敏感,通常是低方差(见很窄的上下界)。
由左图可见,绿色实线的振动毫无规律而且区间很宽。
复杂模型对数据的变动很敏感,通常是高方差(见很宽的上下界)。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_84_3.jpg?sign=1739283309-jBYIaW94VSyeBNa6ukyRVUu3P8tFUAaz-0-0eae253d52a245edbdea250114dfe46f)
噪声代表不可消除的误差
噪声
由左图可见,噪声表达了在当前任务中任何学习算法所能达到的期望真实误差的下界(不可消除的误差),即学习问题本身的难度。
3.4.2 偏差—方差权衡
下面将3.4.1节对偏差和方差的分析总结成下图。
● 简单模型高偏差、低方差,复杂模型低偏差、高方差。
● 简单模型欠拟合,复杂模型过拟合。
欠拟合的模型为高偏差、低方差,过拟合的模型为低偏差、高方差,因此偏差和方差是有冲突的,这被称为偏差—方差权衡(Bias-VarianceTrade-off),如下图所示。假设给定学习任务:
● 当模型训练不足时,模型拟合能力弱,数据的扰动不足以使模型产生显著变化,此时偏差是总误差的主要来源。
● 当模型训练充足时,模型拟合能力强,数据的轻微扰动导致模型发生显著变化,此时方差是总误差的主要来源。
![](https://epubservercos.yuewen.com/45CD09/17493186306223006/epubprivate/OEBPS/Images/37590_85_1.jpg?sign=1739283309-P05rwNU8femmXY8IofXR7Vj9rDIUlzEH-0-ce7a1511aff8e625549395f2f93a5703)
偏差一方差权衡图
如上图所示,最优模型对应着总误差最小的那点。综上所述,真实误差有3个来源:偏差、方差和噪声。由于真实误差是衡量模型的推广性能的,因此,模型的推广性能是由模型学习算法的能力、数据的充分性和学习任务本身的难度所共同决定的。给定学习任务(因为其本身难度是无法降低的,就像噪声是无法消除的一样),为了获得好的泛化性能(降低真实误差),有两种方法可以选择:增强拟合数据能力(降低偏差)和增强抗扰数据能力(降低方差)。对如何“将真实误差分解成偏差、方差和噪声”有兴趣的读者请参考本章的附录A。