偏差-方差平衡(bias-variance tradeoff)

  • Post author:
  • Post category:其他




偏差-方差平衡(bias-variance tradeoff)

以下来自西瓜书的经典论述:假设我们有很多个数据集



D

D






D





,数据集之间相互独立, 都可以作为模型



F

F






F





的输入, 每个数据集都有对应的标记



y

D

y_D







y










D





















, 标记可能包含着噪声



ϵ

\epsilon






ϵ





, 也即



y

D

y_D







y










D





















与真实值



y

y






y





之间的差异。据此, 偏差



v

a

r

var






v


a


r





被定义为模型



F

F






F






预测输出的期望



E

(

F

D

)

E(F_D)






E


(



F










D


















)






(可以理解为模型在所有数据集上预测值的均值)

与真实标记之间的差异

,

方差被定义为模型



F

F






F





在各个数据集上的预测输出与期望



E

(

F

D

)

E(F_D)






E


(



F










D


















)





之间的差异的期望。

进一步讲, 如果独立数据集的数量是无限的,那么

期望



E

(

F

D

)

E(F_D)






E


(



F










D


















)





就近似描绘了算法模型的预测期望或者表达能力

,我们说

一个算法趋向于具有高偏差,意味着这个算法表示能力较弱,拟合能力较差,但是这一算法往往在各个数据集上的表现都相差不大,具有较低的方差

。另一方面,如果模型在一些数据集上工作的很好(例如训练集), 但在另一些数据集(例如测试集)表现不佳, 这就会导致高方差,能够表现好这说明算法表达能力很强,或者说灵活性较强, 而表现不稳定就说明泛化能力较差。

总结起来,依据偏差-方差分解(不用知道是什么)可知,泛化误差是噪声加方差再加上偏差。随着训练程度的增长,模型的表达能力逐渐提高,那么偏差就会逐渐减小,同时模型的不稳定性逐渐提高,那么方差就会逐渐增大,此时泛化误差曲线可能呈

碗状曲线

,也即从开始很高逐渐降低直到最低点接着又开始上升。

因此在模型表达能力足够强时,我们需要在合适的时机停止训练(dropout),使其在具备较好的表达能力的同时泛化能力也不差



版权声明:本文为weixin_46866349原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。