除了通过实验估计其泛化性能,人们还希望了解为什么具有这样的性能。对测试样本,令
作为
在数据集中的标记,
为
的真实标记,
为训练集
上学得模型
在
上的预测输出,算法期望泛化误差为
。以回归任务为例,学习算法的期望预测为:
。
使用样本数相同的不同训练集产生的方差为:
。
噪声为:
。
期望输出与真实标记的差别成为偏差(bias),表示为:
。
假设噪声的期望为0,即。则对期望泛化误差有以下分解:
于是有:
。
也就是说,泛化误差可以分解为偏差,方差和噪声之和。偏差度量了期望预测与真实结果的偏离程度,刻画了算法的拟合能力;方差度量了同样大小的训练集变动导致的学习性能的变化,刻画了数据扰动造成的影响;噪声表达了当前任务上任何学习算法所能达到的期望泛化误差的下界,即问题本身的难度。给定学习任务,为了取得较好的泛化性能,需使得偏差较小,即能够充分的拟合数据,并且使得方差较小,即使得数据扰动产生的影响小。
一般来说,方差和偏差是有冲突的,这被称为偏差-方差窘境(bias-variance dilemma)。给定一个学习任务,假设能够控制学习算法的训练程度,则当训练不足时,学习器的拟合能力不够强,训练数据的扰动不足以使得学习器产生显著变化,此时泛化错误率主要来自偏差;随着训练程度的增加,学习器的拟合能力逐渐增强,训练数据发生的扰动渐渐会被学习器学到,此时的方差逐渐增大,偏差逐渐减小;当学习器拟合能力过强时,训练数据的微小扰动都会导致学习器发生明显变化,此时的泛化误差主要来自方差。