DeepLearning---Bias&Variance

什么是偏差和方差

偏差描述预测值和真实值之间的差距,偏差越大,越偏离真实值。
方差描述预测值的变化范围,也可以描述预测值和其期望值之间的差距,方差越大,数据越分散。

对于深度学习模型,我们最关注模型的泛化能力,或者说泛化误差,而泛化误差可以分解为 偏差+方差+噪音
由于我们的用于训练模型的数据有限,对模型的设计也不可能完美,以及归纳偏置的存在,我们不可能获得一个完美拟合“真实模型”的模型。因此我们的目标就是让我们的模型尽可能地接近真实。

对于最简单的均方差,我们可以通过化简得到如下公式:

\[E(f;D)=E_D[(f(x;D)-y_D)^2]=bias^2(x)+var(x)+\epsilon^2 \]

噪声

噪声可能来自训练数据,可能来自系统误差,这一部分难以解决,不在本文讨论范围内。

偏差

偏差刻画了模型的期望预测与真实结果的偏离程度,衡量了模型本身的拟合能力。

方差

方差度量了训练集的波动对于拟合能力的影响,衡量了模型对数据扰动的响应。

偏差与方差的影响

偏差、方差窘境

通常来说偏差与方差是对立的,当训练不足时,模型无法学习数据的变化,此时偏差占据主导。当模型逐渐学习到数据中的隐含关系,偏差开始下降,而数据中的波动开始影响模型的拟合效果,此时方差上升。当模型已经完全学习到数据中的隐含关系,偏差降至最低,但是随着模型的学习,开始对数据中的微小波动敏感,导致方差开始占据主导地位。

欠拟合与过拟合

模型不能拟合训练数据,会导致偏差过大,。
当模型过度拟合训练数据,以至于无法泛化,则会导致在测试集上的方差过大。

模型复杂度

偏差与方差和模型的复杂度有一定关系,因为模型的复杂度直接决定了其拟合能力。
当模型过于简单,拟合效果差,偏差过大。
当模型过于复杂,完全拟合训练集,甚至学习了其中的噪声等无关信息,会导致泛化能力变差,方差过大。

bagging $ boosting

bagging 方法对多个学习器的结果取平均,可以降低波动所带来的影响,从而降低方差。
boosting 方法不断迭代学习,以获得更强的拟合能力,从而降低偏差。

解决偏差与方差问题

偏差

  1. 特征工程
  2. 提高模型复杂度

方差

  1. 更多的训练数据
  2. 减少模型复杂度
  3. 正则化
  4. 交叉验证
posted @ 2024-05-11 17:25  RubySIU  阅读(29)  评论(0编辑  收藏  举报