当训练得到一个模型 \(f\)时, 我们希望 \(f\)的泛化能力足够强, 这样也代表它对于新的样本有比较好的预测能力. 我们会通过实验检验 \(f\)的泛化误差, 那它的泛化误差到底是由哪几部分贡献?
这里先给出结论: 噪声, 偏差与方差.
定义
训练模型的前提是我们能拿到一个数据集 \(D\), 它其中包含多个样本, 来自同一个分布. 但是 \(D\)不可能包含这个分布上的所有样本, 也就是说 \(D\)本身是总体的一个子集.
在总体中取相同数量的样本组成不同的 \(D_i\), 用同一个算法训练得到的模型也会不同. 所以训练得到的模型针对某一个样本 \(x\)的预测值有一个期望的概念. 即:
- \[
- \begin{
- equation
- }
- \overline{
- f
- }(\boldsymbol{
- x
- })=\mathbb{
- E
- }_{
- D
- }[f(\boldsymbol{
- x
- } ; D)]
- \end{
- equation
- }
- \]
这里 \(D\)是来自同一个分布样本数量相同的不同训练集, 它是一个变量的概念. 不同的 \(D_i\)训练得到不同的模型 \(f_i\). 使用它们预测 \(x\), 再对预测的值取期望就是 (1) 式的含义.\(\overline{f}(\boldsymbol{x})\)是模型对样本 \(x\)预测的期望值.
所以也就有一个方差的概念, 即不同模型 \(f_i\)对于 \(x\)的预测值的波动情况. 如果是回归任务的话, 那么预测值的方差可以表示为:
- \[
- \begin{
- equation
- }
- \operatorname{
- var
- }(\boldsymbol{
- x
- })=\mathbb{
- E
- }_{
- D
- }\left[(f(\boldsymbol{
- x
- } ; D)-\overline{
- f
- }(\boldsymbol{
- x
- }))^{
- 2
- }\right]
- \end{
- equation
- }
- \]
(2)式是方差的定义. 下面看一下噪声, 怎么理解噪声?
可能出现噪声的场景, 还是以回归任务为例. 样本 \(x\)对应的 \(y\)在输入的输出错了, 多加了 30 上去. 那么多出来的 30 就是噪声. 噪声是 Irreducible error, 它难以依靠模型优化消除.
- \[
- \begin{
- equation
- }
- \varepsilon^{
- 2
- }=\mathbb{
- E
- }_{
- D
- }\left[\left(y_{
- D
- }-y\right)^{
- 2
- }\right]
- \end{
- equation
- }
- \]
上述是噪声的方差定义,\(y\)是样本的真实标签,\(y_D\)是样本在不同 \(D_i\)中的标签. 比如在得到 \(D_1\)这个数据集时, 往其中加入 \((x, y)\)这个样本, 将标签 \(y\)误输为 \(y+30\), 此时便产生了噪声. 为了方便计算, 我们假设噪声期望为 0, 即:
- \[
- \begin{
- equation
- }
- \mathbb{
- E
- }_{
- D
- }\left[y_{
- D
- }-y\right]=0
- \end{
- equation
- }
- \]
最后定义偏差, 预测值的期望 \(\overline{f}(\boldsymbol{x})\)与真实标签 \(y\)之差, 偏差的平方如下:
- \[
- \begin{
- equation
- }
- \operatorname{
- bias
- }^{
- 2
- }(\boldsymbol{
- x
- })=(\overline{
- f
- }(\boldsymbol{
- x
- })-y)^{
- 2
- }
- \end{
- equation
- }
- \]
推导
经过上面一番定义, 有了许多和噪声, 方差, 偏差相关的量. 下面开始推导, 对于样本 \(x\)的预测误差的期望可以写为:
- \[
- \begin{
- equation
- }
- Expected \ prediction \ error\ at \ x = \mathbb{
- E
- }_{
- D
- }\left[\left(f(\boldsymbol{
- x
- } ; D)-y_{
- D
- }\right)^{
- 2
- }\right]
- \end{
- equation
- }
- \]
为了简便, 作一些缩写, 记:
- \[
- f(\boldsymbol{
- x
- } ; D) \rightarrow f \\
- y_{
- true
- } \rightarrow y \\
- \overline{
- f
- }(x) \rightarrow \overline{
- f
- }
- \]
第一次分解, 引入真实标签 \(y\),
\(
原式 =\mathbb{E}_{D}\left[\left(f-y_{D}\right)^{2}\right] \\ \ \ \ \ \
- =\mathbb{
- E
- }_{
- D
- }\left[\left(f-y+y-y_{
- D
- }\right)^{
- 2
- }\right] \\ \ \ \ \ \
- =\mathbb{
- E
- }_{
- D
- }\left[\left(f-y\right)^{
- 2
- }+\left(y-y_{
- D
- }\right)^{
- 2
- }+2\left(f-y\right)\left(y-y_{
- D
- }\right)\right] \\ \ \ \ \ \
- =\mathbb{
- E
- }_{
- D
- }\left[\left(f-y\right)^{
- 2
- }\right]+\mathbb{
- E
- }_{
- D
- }\left[\left(y-y_{
- D
- }\right)^{
- 2
- }\right]+\mathbb{
- E
- }_{
- D
- }\left[2\left(f-y\right)\left(y-y_{
- D
- }\right)\right] \\ \ \ \ \ \
- =\mathbb{
- E
- }_{
- D
- }\left[\left(f-y\right)^{
- 2
- }\right]+\varepsilon^{
- 2
- }+0
- \)
接下来对第一项进行分解, 引入 \(\overline{f}\), 将其分解为方差与偏差的组合:
\(
原式 =\mathbb{E}_{D}\left[\left(f-y\right)^{2}\right] \\ \ \ \ \ \
- =\mathbb{
- E
- }_{
- D
- }\left[\left(f-\overline{
- f
- }+\overline{
- f
- }-y\right)^{
- 2
- }\right] \\ \ \ \ \ \
- =\mathbb{
- E
- }_{
- D
- }\left[\left(f-\overline{
- f
- }\right)^{
- 2
- }+\left(\overline{
- f
- }-y\right)^{
- 2
- }+2\left(f-\overline{
- f
- }\right)\left(\overline{
- f
- }-y\right)\right] \\ \ \ \ \ \
- =\mathbb{
- E
- }_{
- D
- }\left[\left(f-\overline{
- f
- }\right)^{
- 2
- }\right]+\mathbb{
- E
- }_{
- D
- }\left[\left(\overline{
- f
- }-y\right)^{
- 2
- }\right]+\mathbb{
- E
- }_{
- D
- }\left[2\left(f-\overline{
- f
- }\right)\left(\overline{
- f
- }-y\right)\right] \\ \ \ \ \ \
- =\operatorname{
- var
- }(\boldsymbol{
- x
- })+\left(\overline{
- f
- }-y\right)^{
- 2
- }+2\left(\overline{
- f
- }-y\right)\mathbb{
- E
- }_{
- D
- }\left(f-\overline{
- f
- }\right)
- \\ \ \ \ \ \
- =\operatorname{
- var
- }(\boldsymbol{
- x
- })+\operatorname{
- bias
- }^{
- 2
- }(\boldsymbol{
- x
- })+2\left(\overline{
- f
- }-y\right)\left(\mathbb{
- E
- }_{
- D
- }\left(f\right)-\overline{
- f
- }\right)
- \\ \ \ \ \ \
- =\operatorname{
- var
- }(\boldsymbol{
- x
- })+\operatorname{
- bias
- }^{
- 2
- }(\boldsymbol{
- x
- })
- \)
至此, 分解结束.
参考文献
[1]《机器学习》. 周志华
[2]《神经网络与深度学习》. 邱锡鹏
[3] 华盛顿大学机器学习课程 Regression,week3.《Formally defining the 3 sources of error》
来源: https://www.cnblogs.com/shayue/p/pian-chafang-cha-fen-jie.html