机器学习与数据挖掘 第八讲:Bias-Variance Tradeoff

版权声明:该文章来自leeningzzu https://blog.csdn.net/leeningzzu/article/details/90937194

偏差与方差是解释学习算法泛化性能的重要工具。

定义

在机器学习利用训练数据集学习模型时,通过最小化损失函数(Loss function)来提高模型性能。但训练数据集error最小并不能保证在测试集或外推时性能最优,则训练数据集的Loss与预测数据集的Loss之间的差异为Generalization error。
Err ( X ) = E [ ( y f ^ ( X ) ) 2 ] = E [ ( f ( X ) + ϵ f ^ ( X ) ) 2 ] = ( E [ f ^ ( X ) ] f ( X ) ) 2 + E [ ( f ^ ( X ) E [ f ^ ( X ) ] ) 2 ] + σ ϵ 2 = Bias +  Variance  +  Random Error.  \begin{aligned} \operatorname{Err}(X) &=E\left[(y-\hat{f}(X))^{2}\right] \\ &=E\left[(f(X)+\epsilon-\hat{f}(X))^{2}\right] \\ &=(E[\hat{f}(X)]-f(X))^{2}+E\left[(\hat{f}(X)-E[\hat{f}(X)])^{2}\right]+\sigma_{\epsilon}^{2} \\ &=\operatorname{Bias}+\text { Variance }+\text { Random Error. } \end{aligned}

Generalization error 可细分为Random error、Bias、Variance。由于随机误差不可消除,偏差和方差从两个方面描述学习到的模型与真实规律之间的差距,其与欠拟合及过拟合紧密相连,主要讨论偏差和方差之间的权衡(Bias-Variance Tradeoff)。

随机误差(Random Error)

随机误差为数据本身噪音所致,一般认为随机误差服从高斯分布,即 ϵ N ( 0 , σ ϵ ) \epsilon \sim \mathcal{N}\left(0, \sigma_{\epsilon}\right) ,若 y y 为预测值, X X 为自变量,数据背后真实规律为 f f ,则
y = f ( X ) + ϵ y=f(X)+\epsilon
真实规律客观存在,但基于有限的样本和随机误差干扰无法获得,我们的最终目标为学习到更加接近真实规律的模型。

偏差(Bias)

偏差对于固定大小的训练数据集,描述"通过学习得到到所有模型的输出预测结果的期望"与"真实规律"之间的差距,即
Bias ( X ) = E [ f ^ ( X ) ] f ( X ) \operatorname{Bias}(X)=E[\hat{f}(X)]-f(X)
关于模型拟合程度的衡量,增加模型参数,降低偏差可提高训练集拟合效果,但容易出现过拟合(overfitting)。

方差(Variance)

方差对测试集,描述通过学习拟合出来的结果自身的不稳定性,即 Var ( X ) = E [ ( f ^ ( X ) E [ f ^ ( X ) ] ) 2 ] \operatorname{Var}(X)=E\left[(\hat{f}(X)-E[\hat{f}(X)])^{2}\right]

偏差与方差的权衡

在VC维中,已推得 E o u t < E i n + Ω E_{out}<E_{in}+\Omega ,其决定了 E o u t E_{out} 的边界,可用VC维解读偏差和方差:
E o u t E_{out} 分解为两个部分:

  1. 假设空间 H \mathcal{H} 近似 f f 的能力(即 H \mathcal{H} 中与 f f 距离最近的集合 G G f f 的误差大小–偏差
  2. 在假设空间 H \mathcal{H} 中找到该 G G 的能力 (即 H \mathcal{H} 中找到的 g g G G 的误差大小–方差)

在实践中,Bias与Variance往往不能兼得的。若要 H \mathcal{H} 更好近似 f f ,则要求 H \mathcal{H} 更复杂,包含更多假设,降低模型的Bias,但相应在更大范围内寻找 G G ,找到的 g g 越可能远离 G G ,就一定程度上会提高模型的Variance。偏差与方差就是为了描述这两种情况且找到一个平衡点,使得 E o u t E_{out} E i n E_{in} 足够接近且 E o u t E_{out} 足够小。

模型复杂度的影响

当固定训练样本,改变模型复杂度(模型描述能力),随着模型复杂度的增加,其对训练数据集的描述能力增加(可能发生过拟合),该模型在验证集上偏差减小、方差增大。相反,随模型复杂度降低,其对训练集描述能力降低(可能发生欠拟合),模型在验证集上偏差增大、方差减少。

样本量的影响

在样本量较少时,应选择简单的模型,否则方差可能很大。样本量充分大时,应选择较为复杂的模型,因为大量数据可减少方差,复杂模型可减少偏差。

在试图用有限训练样本去估计无限的真实数据时,这些数据的真实性>模型的先验知识,就会尽量保证模型在训练样本上的准确度,这样可以减少模型的Bias,但学习到的模型很可能会失去一定的泛化能力,从而造成过拟合,降低模型在真实数据上的表现,增加模型的不确定性。相反,对于模型的先验知识更重要时,在学习模型的过程中对模型增加更多的限制,就可以降低模型的variance,提高模型的稳定性,但也会使模型的Bias增大。

学习曲线

当模型简单时,起初 E o u t E_{out} E i n E_{in} 都很大,随着 N N 的增加, E o u t E_{out} E i n E_{in} 将近。当模型很复杂时, N N 很小时, E i n E_{in} 起初可小至0; E o u t E_{out} 非常大;随着 N N 的增加, E o u t E_{out} E i n E_{in} 靠拢,其靠拢值要小于简单模型,但 E o u t E_{out} E i n E_{in} 距离程度要大于简单模型。由于目的为得到小的 E o u t E_{out} ,所以大量数据时,应优先选择复杂模型。

VC维与方差偏差比较:

在Bias-Variance图中,蓝色点表示方差,其未随 N N 而改变。原因:偏差是相同大小的不同数据集下拟合效果最好的。虽然可能 更大的数据集能够得到更好的近似,但不同大小非常多的数据集拟合时,它们的数学期望应该是相近的而且接近 f f ,所以在上图中就表现为一条平行于 x 轴的水平线。

Reference

谈谈 Bias-Variance Tradeoff
加州理工学院公开课:机器学习与数据挖掘_偏差与方差权衡(第八课

猜你喜欢

转载自blog.csdn.net/leeningzzu/article/details/90937194