“偏差-方差分解”是解释学习算法泛化性能的一种重要工具。偏差-方差分解试图对学习算法的期望泛化错误率进行拆解。算法在不同训练集上学到的结果很可能不同,即便这些训练集来自同一个分布。对于测试样本,令为在数据集中的标记,为的真实标记,为训练集D上学的模型在上的预测输出。
以回归任务为例子,学习算法的期望预测为:
使用样本数相同的不同训练集产生的方差为:
噪声为
其中期望输出与真实标记的差别为偏差(bias):
为了便于计算,假定噪声期望为0:
对算法的期望泛化误差进行分解:
所以:
如此看来,泛化误差可以分解为偏差、方差与噪声之和。
偏差度量了学习算法的期望预测与真实结果的偏离程度,刻画了学习算法本身的拟合能力。
方差度量了同样大小的训练集的变动所导致的学习性能的变化,刻画了数据扰动对学习算法的结果造成的影响
噪声表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,刻画了学习问题本身的难度。
偏差-方差分解说明,泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。
一般来说,偏差和方差是有冲突的,这称为偏差-方差窘境。
给定学习任务,假定我们能够控制学习算法的训练程度,则在训练不足的时候,学习器的拟合能力不够强,训练数据的扰动不足以使学习器产生显著变化,此时偏差主导了泛化错误率;随着训练程度的加深,学习器的拟合能力逐渐增强,训练数据发成的扰动渐渐被学习器学到,方差逐渐主导了泛化错误率;在训练程度充足后,学习器的拟合能力已经非常强,训练数据发成的轻微扰动都会法制学习器发生显著变化,若训练数据自身的、非全局的特征被学习器学到了,则会发生过拟合。