符号 | 含义 |
---|---|
x x x | 测试样本 |
D D D | 数据集 |
y D y_D yD | x x x 在数据集中的标记 |
y y y | x x x 的真实标记 |
f f f | 训练集 D D D 学到的模型 |
f ( x ; D ) f (x;D) f(x;D) | 由训练集 D D D 学得的模型 f f f 对 x x x 的预测输出 |
f ˉ ( x ) \bar{f}(x) fˉ(x) | 模型 f f f 对 x x x 的期望预测输出 |
因此我们可以得到,学得的算法预测结果的期望为
f ˉ ( x ) = E D [ f ( x ; D ) ] \bar{f}(x)=\mathbb{E}_{D}[f(x;D)] fˉ(x)=ED[f(x;D)]
根据描述,我们来看一下偏差、方差、噪音的公式
偏差是预测值与真实值之间的差异,衡量模型的精度。
b i a s 2 ( x ) = ( f ˉ ( x ) − y ) 2 bias^{2}(x)=(\bar{f}(x)-y)^{2} bias2(x)=(fˉ(x)−y)2
方差是模型在不同数据集上输出的结果的方差,衡量模型稳定性。
v a r ( x ) = E D [ ( f ( x ; D ) − f ˉ ( x ) ) 2 ] var(x)=\mathbb{E}_{D}[(f(x;D)-\bar{f}(x))^{2}] var(x)=ED[(f(x;D)−fˉ(x))2]
噪音是数据收集过程当中不可避免的、与数据真实分布无关的信息
n o i s e 2 = E D [ ( y D − y ) 2 ] noise ^{2}=\mathbb{E}_{D}[(y_{D}-y)^{2}] noise2=ED[(yD−y)2]
现在证明
泛化误差 = 偏 差 2 + 方差 + 噪 音 2 = b i a s 2 + v a r i a n c e + n o i s e 2 \begin{aligned} 泛化误差 &= 偏差^2 + 方差 + 噪音^2 \\ &= bias^2 + variance + noise^2 \end{aligned} 泛化误差=偏差2+方差+噪音2=bias2+variance+noise2
首先我们假定噪声的期望为 0,也就是
E D [ y D − y ] = 0 \mathbb{E}_{D}[y_{D}-y]=0 ED[yD−y]=0
有
E ( f ; D ) = E D [ ( f ( x ; D ) − y D ) 2 ] = E D [ ( f ( x ; D ) − f ˉ ( x ) + f ˉ ( x ) − y D ) 2 ] = E D [ ( f ( x ;