这里说的都是对泛化而言
Bias-Variance Decomposition
偏差 表示模型的期望预测 和 真实值的偏离程度。
方差 表示模型的预测 和 模型的预测的偏离程度。
多个训练集,分别为$D_1,D_2,…$
一个测试用例,($\mathbf x,y$)
观测变量$y$会存在误差,$y=y_t+\epsilon$,$y_t$为$\mathbf x$真正的值,$\epsilon$为噪声变量,$E[\epsilon]=0$,$var(\epsilon)=\sigma^2$
$f(\mathbf x;D_i)$表示在训练集$D_i$上得到模型$f$,在测试用例$\mathbf x$上的输出
$f$对$\mathbf x$的期望预测为$E_D[f(\mathbf x;D_i)]$
过程:给定一个$D_i$,训练出一个模型$f$,然后给定测试样例$(\mathbf x,y)$,得到测试结果$f(\mathbf x;D_i)$,循环多次。
期望泛化误差
$$\begin{align}
E(f;D)=&E_D[(f(\mathbf x;D)-y)^2]\\
=&E_D[(f(\mathbf x;D)-E_D[f(\mathbf x;D)]+E_D[f(\mathbf x;D)]-y)^2]\\
=&E_D[(f(\mathbf x;D)-E_D[f(\mathbf x;D)])^2]+E_D[(E_D[(f(\mathbf x;D)]-y)^2]\\&+E_D[2(f(\mathbf x;D)-E_D[f(\mathbf x;D)])(E_D[f(\mathbf x;D)]-y)]\\
=&E_D[(f(\mathbf x;D)-E_D[f(\mathbf x;D)])^2]+E_D[(E_D[(f(\mathbf x;D)]-y)^2]\\
=&E_D[(f(\mathbf x;D)-E_D[f(\mathbf x;D)])^2]+E_D[(E_D[(f(\mathbf x;D)]-y_t-\epsilon)^2]\\
=&var(\mathbf x)+E_D[(E_D[(f(\mathbf x;D)]-y_t)^2]+E_D[\epsilon^2]-2E_D[(E_D[(f(\mathbf x;D)]-y_t)\epsilon)]\\
=&var(\mathbf x)+(E_D[(f(\mathbf x;D)]-y_t)^2+E_D[\epsilon^2]\\
=&var(\mathbf x)+bias^2(\mathbf x)+var(\epsilon)+E_D^2[\epsilon]\\
=&var(\mathbf x)+bias^2(\mathbf x)+var(\epsilon)\\
=&var(\mathbf x)+bias^2(\mathbf x)+\sigma^2
\end{align}$$
第三步最后一项化简,$y,\epsilon$ 独立于D
$$ \begin{align}
&E_D[2(f(\mathbf x;D)-E_D[f(\mathbf x;D)])(E_D[f(\mathbf x;D)]-y)]\\
=&2E_D[(f(\mathbf x;D)-E_D[f(\mathbf x;D)])(E_D[f(\mathbf x;D)]-y)]\\
=&2E_D[f(\mathbf x;D)-E_D[f(\mathbf x;D)]]\cdot E_D[E_D[f(\mathbf x;D)]-y]\\
=&2(E_D[f(\mathbf x;D)]-E_D[f(\mathbf x;D)])\cdot E_D[(E_D[f(\mathbf x;D)]-y)]\\
=&0
\end{align}$$
泛化能力由方差,偏差和噪声之和决定
- 方差:同样大小的训练集所得到的模型,在测试集上的变动。体现数据的充分性。
- 偏差:模型的期望预测与真实结果的偏离,模型本身的拟合能力。体现模型的学习能力。
- 噪声:期望泛化误差的下界。体现学习任务本身固有的难度。
Bias-Variance tradeoff
正则项可以控制模型的复杂度,也可以说控制方差和偏差。
- 正则系数越大,模型越简单,数据集导致的方差越小,偏差越大;
- 正则系数越小,模型越复杂,数据集导致的方差越大,偏差越小。
模型学习的目的是使泛化误差最小,因此需要做一个方差和偏差之间做一个权衡,使总和最小。
数据量对模型复杂度的影响
- 数据量较少时,不同数据集间的差别较大,局部特征相对于全局特征较多,因此,为了使模型尽可能只学习到全局特征,需要尽可能简单,防止过拟合;
- 数据量较大时,不同数据集间的差别较小,局部特征相对于全局特征较少,因此,可以使模型复杂些,尽可能学习到数据集的特征,减小偏差。
模型训练过程
- 在训练不足时,模型的拟合能力不强,偏差是主要的泛化误差。
- 随着训练的加深,模型的拟合能力加强,训练集的轻微变化渐渐被模型学习到。所以,因训练集导致的方差渐渐成为主要的泛化误差。
- 训练充足后,模型的拟合能力已经非常强,数据发生的轻微变化,都会使结果发生较大的变化。则此时模型不仅学到了训练集的全局特征,还可能学到了训练集的局部特征,发生过拟合。
Reference
- PRML
- 《机器学习》周志华
- https://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff