模型评估之偏差-方差分解

  为了避免过拟合,我们经常会在模型的拟合能力和复杂度之间进行权衡。拟合能力强的模型一般复杂度会比较高,容易导致过拟合。相反,如果限制模型的复杂度,降低其拟合能力,又可能会导致欠拟合。因此,如何在模型能力和复杂度之间取得一个较好的平衡对一个机器学习算法来讲十分重要。偏差-方差分解(Bias-Variance Decomposition)为我们提供一个很好的分析和指导工具。
  偏差-方差分解试图对学习算法的期望泛化误差错误率进行拆解。我们知道,同一个算法在不同的训练集上学得的结果很可能不同,即使这些训练集是来自同一个分布。对测试样本x,令yDx在数据集中的标记,yx的真实标记,f(x;D)为训练集D上学得的模型fx上的预测输出。以回归任务为例,学习算法的期望预测为:
使用样本数相同的不同训练集产生的方差为:
噪声为
期望输出与真实标记的差别称为偏差,即:
期望错误可以分解为
  其中第一项为偏差(Bias),是指一个模型的在不同训练集上的平均性能和最优模型的差异。偏差可以用来衡量一个模型的拟合能力;第二项是方差(Variance),是指一个模型在不同训练集上的差异,可以用来衡量一个模型是否容易过拟合。最小化期望错误等价于最小化偏差和方差之和。
  下图给出了机器学习算法的偏差和方差的四种不同组合情况。每个图的中心点为最优模型f(x),蓝点为不同训练集D得到的模型fD(x)。图a给出了一种理想情况,方差和偏差都比较小。图b 为高偏差低方差的情况,表示模型的泛化能力很好,但拟合能力不足。图c 为低偏差高方差的情况,表示模型的拟合能力很好,但泛化能力比较差。当训练数据比较少时会导致过拟合。图d为高偏差高方差的情况,是一种最差的情况。方差一般会随着训练样本的增加而减少。当样本比较多时,方差比较少,我们可以选择能力强的模型来减少偏差。然而在很多机器学习任务上,训练集上往往都比较有限,最优的偏差和最优的方差就无法兼顾。

偏差和方差的四种组合

  随着模型复杂度的增加,模型的拟合能力变强,偏差减少而方差增大,从而导致过拟合。以结构错误最小化为例,我们可以调整正则化系数λ 来控制模型的复杂度。当λ 变大时,模型复杂度会降低,可以有效地减少方差,避免过拟合,但偏差会上升。当λ 过大时,总的期望错误反而会上升。因此,一个好的正则化系数λ 需要在偏差和方差之间取得比较好的平衡。图2.7给出了机器学习模型的期望错误、偏差和方差随复杂度的变化情况。最优的模型并不一定是偏差曲线和方差曲线的交点。

模型的期望错误、偏差和方差随复杂度的变化情况

  偏差和方差分解给机器学习模型提供了一种分析途径,但在实际操作中难以直接衡量。一般来说,当一个模型在训练集上的错误率比较高时,说明模型的拟合能力不够,偏差比较高。这种情况可以增加数据特征、提高模型复杂度,减少正则化系数等操作来改进模型。当模型在训练集上的错误率比较低,但验证集上的错误率比较高时,说明模型过拟合,方差比较高。这种情况可以通过降低模型复杂度,加大正则化系数,引入先验等方法来缓解。此外,还有一种有效的降低方差的方法为集成模型,即通过多个高方差模型的平均来降低方差。

参考

邱锡鹏-《神经网络与深度学习》
周志华-《机器学习》

你可能感兴趣的:(模型评估之偏差-方差分解)