方差和偏差的理解

期望

期望就是平均数随样本趋于无穷的极限。平均数是统计特征,根据样本计算的,期望是一种概率论概念、一个数学特征,更多的是大数情况下的真实表现,期望常常跟概率有关,而概率是频率随样本趋于无穷的极限。两者都符合大数定理。
某种意义上,我们可以通过求均值来得到一个靠近期望的数值,但更多的,在分类任务中,可以对类型的数值和类型在样本中出现的频率来计算。当然这个前提是样本足够多,比如1千万样本,这样来均值接近期望,举例来说就是:

  • 分类为1的样本占 1 4 \frac{1}{4} 41
  • 分类为2的样本占 3 4 \frac{3}{4} 43

计算期望就: 1 ∗ 1 4 + 2 ∗ 3 4 1*\frac{1}{4}+2*\frac{3}{4} 141+243

偏差

定义为模型的输出预测结果的期望与真实结果的差距。用来表示模型的拟合程度,模型越复杂,偏差越小,因为把所有测试集都拟合的很好,包括噪音,模型简单,有些样本数据的拟合就有点大,导致偏差大。

方差

定义为模型每一次输出结果与期望之间的误差。方差体现的是模型的稳定程度,换个词就是泛化能力,对于异常数据的拟合效果也不会特别差,至少不是很离谱,通常模型简单,方差越小,模型越复杂,方差越大。模型过于复杂反而把噪音数据越拟合了,预测的结果也自然是噪音,数学表达的意思就是

于是产生了

  • 模型简单:偏差大、方差小
  • 模型复杂:偏差小、方差大

数学表达

一组样本集合D,每一个样本x的标签为 y D y_D yD,y是样本x的真实值,我们一般不知道这个值,模型的预测值为 f ( x , D ) f(x,D) f(x,D),于是定义:

  • 模型期望
    f ‾ ( x ) = E D [ f ( x , D ) ] \overline {f}(x)= E_D[f(x,D)] f(x)=ED[f(x,D)]
  • 偏差
    ( b i a s ( x ) ) 2 = ( f ‾ ( x ) − y ) 2 (bias(x))^2 = (\overline {f}(x)-y)^2 (bias(x))2=(f(x)y)2
    偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力。
  • 方差
    v a r ( x ) = E D [ ( f ( x , D ) − f ‾ ( x ) ) 2 ] var(x)= E_D[(f(x,D) - \overline {f}(x))^2] var(x)=ED[(f(x,D)f(x))2]
    预测值与期望值的平方误差期望就是方差。方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响
  • 噪音误差
    ε 2 = E D [ ( y D − y ) 2 ] \varepsilon^2=E_{D}[(y_D-y)^2] ε2=ED[(yDy)2]
    噪声则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。样本带来的难度难以被修复,因为你可能都不清楚那些是噪音样本,这里的 y y y是真实值,其实我们是不知道的值,这里作为参考。

我的理解:偏差度量的是单个模型的学习能力,而方差度量的是同一个模型在不同数据集上的稳定性。

总体理解

泛 化 误 差 = ( b i a s ( x ) ) 2 + v a r ( x ) + ε 2 泛化误差=(bias(x))^2+var(x)+\varepsilon^2 =(bias(x))2+var(x)+ε2
一般我们模型的误差为:
E ( f ; D ) = E D [ ( f ( x , D ) − y D ) 2 ] = E D [ ( f ( x , D ) − f ‾ ( x ) + f ‾ ( x ) + y D ) 2 ] = E D [ ( f ( x , D ) − f ‾ ( x ) ) 2 ] + E D [ ( f ‾ ( x ) + y D ) 2 ] + E D [ 2 ( f ( x , D ) − f ‾ ( x ) ) ( f ‾ ( x ) + y D ) ] \begin{aligned} E(f;D) &= E_D[(f(x,D)-y_D)^2]\\ &=E_D[(f(x,D)-\overline {f}(x) + \overline {f}(x) + y_D)^2]\\ &=E_D[(f(x,D)-\overline {f}(x))^2]+E_D[(\overline {f}(x) + y_D)^2]+E_D[2(f(x,D)-\overline {f}(x))(\overline {f}(x) + y_D)] \end{aligned} E(f;D)=ED[(f(x,D)yD)2]=ED[(f(x,D)f(x)+f(x)+yD)2]=ED[(f(x,D)f(x))2]+ED[(f(x)+yD)2]+ED[2(f(x,D)f(x))(f(x)+yD)]
其中:
E D [ 2 ( f ( x , D ) − f ‾ ( x ) ) ( f ‾ ( x ) + y D ) ] = E D [ 2 f ( x , D ) ( f ‾ ( x ) + y D ) ] − E D [ 2 f ‾ ( x ) ( f ‾ ( x ) + y D ) ] = 2 ( f ‾ ( x ) + y D ) E D [ f ( x , D ) ] − 2 E D [ f ‾ ( x ) ( f ‾ ( x ) + y D ) ] = 2 ( f ‾ ( x ) + y D ) f ‾ ( x ) − 2 f ‾ ( x ) ( f ‾ ( x ) + y D ) = 0 \begin{aligned} E_D[2(f(x,D)-\overline {f}(x))(\overline {f}(x) + y_D)]&=E_D[2f(x,D)(\overline {f}(x) + y_D)]-E_D[2\overline {f}(x)(\overline {f}(x) + y_D)]\\ &=2(\overline {f}(x) + y_D)E_D[f(x,D)]- 2E_D[\overline {f}(x)(\overline {f}(x) + y_D)]\\ &=2(\overline {f}(x) + y_D)\overline {f}(x)- 2\overline {f}(x)(\overline {f}(x) + y_D)\\ &=0 \end{aligned} ED[2(f(x,D)f(x))(f(x)+yD)]=ED[2f(x,D)(f(x)+yD)]ED[2f(x)(f(x)+yD)]=2(f(x)+yD)ED[f(x,D)]2ED[f(x)(f(x)+yD)]=2(f(x)+yD)f(x)2f(x)(f(x)+yD)=0
所以:
E ( f ; D ) = E D [ ( f ( x , D ) − y D ) 2 ] = E D [ ( f ( x , D ) − f ‾ ( x ) + f ‾ ( x ) + y D ) 2 ] = E D [ ( f ( x , D ) − f ‾ ( x ) ) 2 ] + E D [ ( f ‾ ( x ) + y D ) 2 ] + E D [ 2 ( f ( x , D ) − f ‾ ( x ) ) ( f ‾ ( x ) + y D ) ] = E D [ ( f ( x , D ) − f ‾ ( x ) ) 2 ] + E D [ ( f ‾ ( x ) + y D ) 2 ] = ( b i a s ( x ) ) 2 + v a r ( x ) + ε 2 \begin{aligned} E(f;D) &= E_D[(f(x,D)-y_D)^2]\\ &=E_D[(f(x,D)-\overline {f}(x) + \overline {f}(x) + y_D)^2]\\ &=E_D[(f(x,D)-\overline {f}(x))^2]+E_D[(\overline {f}(x) + y_D)^2]+E_D[2(f(x,D)-\overline {f}(x))(\overline {f}(x) + y_D)]\\ &=E_D[(f(x,D)-\overline {f}(x))^2]+E_D[(\overline {f}(x) + y_D)^2]\\ &=(bias(x))^2+var(x)+\varepsilon^2 \end{aligned} E(f;D)=ED[(f(x,D)yD)2]=ED[(f(x,D)f(x)+f(x)+yD)2]=ED[(f(x,D)f(x))2]+ED[(f(x)+yD)2]+ED[2(f(x,D)f(x))(f(x)+yD)]=ED[(f(x,D)f(x))2]+ED[(f(x)+yD)2]=(bias(x))2+var(x)+ε2

参考博客

深入浅出理解模型方差偏差噪声与泛化误差的关系

你可能感兴趣的:(机器学习)