机器学习之评估指标---偏差和方差

本文为阅读周志华著的《机器学习》一书中第二章第5节偏差与方差笔记。

之前介绍过ROC曲线下的面积AUC值可以衡量机器学习模型的泛化能力。而“偏差-方差分解”则可以解释学习算法的泛化性能。

在模型训练过程中,不同的训练集上训练得到的模型预测的结果可能不同,即使这些训练集同分布。对于一个测试样本 x x x,令 y D y_D yD x x x在数据集中的标记, y y y x x x的真实标记, f ( x ; D ) f(x;D) f(x;D)为训练集 D D D上学得模型 f f f x x x上的预测输出。

以回归任务为例,学习算法的期望预测为 f ˉ ( x ) = E D [ f ( x ; D ) ] ( 公 式 1 ) \bar f(x) = E_D[f(x;D)] \quad\quad\quad\quad(公式1) fˉ(x)=ED[f(x;D)](1)
使用样本数相同的不同训练集产生的方差为 v a r ( x ) = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] ( 公 式 2 ) var(x)=E_D[(f(x;D)-\bar f(x))^2] \quad\quad\quad\quad(公式2) var(x)=ED[(f(x;D)fˉ(x))2](2)数据集标签中的噪声为 ε 2 = E D [ ( y D − y ) 2 ] ( 公 式 3 ) \varepsilon^2=E_D[(y_D-y)^2]\quad\quad\quad\quad(公式3) ε2=ED[(yDy)2](3)期望输出与真实标记的差别称为偏差(bias)即: b i a s 2 ( x ) = ( f ˉ ( x ) − y ) 2 ( 公 式 4 ) bias^2(x)=(\bar f(x)-y)^2\quad\quad\quad\quad(公式4) bias2(x)=(fˉ(x)y)2(4)假定噪声期望为零,即 ε 2 = 0 \varepsilon^2=0 ε2=0。通过简单的多项式展开合并,可对算法的期望泛化误差进行分解:
E ( f ; D ) = E D [ ( f ( x ; D ) − y D ) 2 ]                                                E(f;D)=E_D[(f(x;D)-y_D)^2]\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space E(f;D)=ED[(f(x;D)yD)2]                                               = E D [ ( f ( x ; D ) − f ˉ ( x ) + f ˉ ( x ) − y D ) 2 ]       =E_D[(f(x;D)-\bar f(x)+\bar f(x)-y_D)^2]\space\space\space\space\space =ED[(f(x;D)fˉ(x)+fˉ(x)yD)2]               = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] + E D [ ( f ˉ ( x ) − y D ) 2 ] \space\space\space\space\space\space\space\space=E_D[(f(x;D)-\bar f(x))^2]+E_D[(\bar f(x)-y_D)^2]         =ED[(f(x;D)fˉ(x))2]+ED[(fˉ(x)yD)2]       + E D [ 2 f ( x ; D ) − f ˉ ( x ) ) ( f ˉ ( x ) − y D ) ] \space\space\space\space\space+E_D[2f(x;D)-\bar f(x))(\bar f(x)-y_D)]      +ED[2f(x;D)fˉ(x))(fˉ(x)yD)]           = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] + E D [ ( f ˉ ( x ) − y D ) 2 ] \space\space\space\space\space\space\space\space\space=E_D[(f(x;D)-\bar f(x))^2]+E_D[(\bar f(x)-y_D)^2]          =ED[(f(x;D)fˉ(x))2]+ED[(fˉ(x)yD)2]                         = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] + E D [ ( f ˉ ( x ) − y + y − y D ) 2 ] \space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space=E_D[(f(x;D)-\bar f(x))^2]+E_D[(\bar f(x)-y+y-y_D)^2]                        =ED[(f(x;D)fˉ(x))2]+ED[(fˉ(x)y+yyD)2]                                     = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] + E D [ ( f ˉ ( x ) − y ) 2 ] + E D [ ( y − y D ) 2 ] \space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space=E_D[(f(x;D)-\bar f(x))^2]+E_D[(\bar f(x)-y)^2]+E_D[(y-y_D)^2]                                    =ED[(f(x;D)fˉ(x))2]+ED[(fˉ(x)y)2]+ED[(yyD)2] + 2 E D [ ( f ˉ ( x ) − y ) ( y − y D ) ] +2E_D[(\bar f(x)-y)(y-y_D)] +2ED[(fˉ(x)y)(yyD)]                               = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] + ( f ˉ ( x ) − y ) 2 + E D [ ( y − y D ) 2 ] \space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space=E_D[(f(x;D)-\bar f(x))^2]+(\bar f(x)-y)^2+E_D[(y-y_D)^2]                              =ED[(f(x;D)fˉ(x))2]+(fˉ(x)y)2+ED[(yyD)2]最终: E ( f ; D ) = b i a s 2 ( x ) + v a r ( x ) + ε 2 ( 公 式 5 ) E(f;D)=bias^2(x)+var(x)+\varepsilon^2\quad(公式5) E(f;D)=bias2(x)+var(x)+ε2(5)也就是说,泛化误差可以分解为偏差、方差与噪声之和。

偏差(公式4)度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力。
方差(公式2)度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响。
噪声(公式3)则表示当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。

总结:泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。给定学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分拟合数据,并 且使方差较小,即使得数据扰动产生的影响小。
机器学习之评估指标---偏差和方差_第1张图片
如上图,定学习任务,假定我们能控制学习算法的训练程度,则在训练不足时,学习器的拟合能力不够强,训练数据的扰动不足以使学习器产生显著变化,此时偏差主导了泛化错误率;随着训练程度的加深,学习器的拟合能力逐渐增强,训练数据发生的扰动渐渐能被学习器学到,方差逐渐主导了泛化错误率;在训练程度充足后,学习器的拟合能力已非常强,训练数据发生的轻微扰动都会导致学习器发生显著变化,若训练数据自身的、非全 局的特性被学习器学到了,则将发生过拟合。

你可能感兴趣的:(人工智能,机器学习,评估指标,偏差,方差)