24秋机器学习笔记-03-偏差/方差分解

Last updated on November 27, 2024 7:56 PM

本文主要涉及机器学习中的模型选择,以及偏差-方差分解。
一键回城

模型选择(Model Selection)

在利用机器学习相关技术解决实际问题的时候,模型的选择是尤为重要的。

一般而言,会将全部数据的 80%80\% 用于训练(训练集),10%10\% 用于验证(验证集,validation set),最后 10%10\% 用于测试(测试集,test set)。

如果数据包含时间戳,则应当按照时间顺序划分 Trn Val 和 Test,防止数据泄露问题(前面不应该看到后面)。否则,随机分配即可。

模型选择的原则:

  • 如果有现成可用的(hand-out 的)验证集,则应当选择在验证集上表现更好的模型;
  • 如果没有,则应当选择更简单的模型。
    奥卡姆剃刀准则,简单有效原理。

Bias-Variance Decomposition

考虑在某训练集 DD 上训练后,在测试集上的误差是怎么来的。

记号约定;DD 为训练集 P(D)\sim P(D)xx 为样本,yy 为标签。

f(x;D)f(x;D) 为训练后,对 xx 的 prediction。

Then the error of xx (averaged over P(D)P(D)):

ED[(f(x;D)y)2]=ED[(f(x;D)fˉ(x)+fˉ(x)y)2]\mathbb{E}_D[(f(x;D) - y)^2] = \mathbb{E}_D\left[ \left( f(x;D) - \bar{f}(x) + \bar{f}(x) - y \right) ^{2} \right]

其中,fˉ(x)\bar f(x) 是指 ED[f(x;D)]\mathbb{E}_D[f(x;D)],即在 P(D)P(D) 上 sample 训练集 DD

ED[(f(x;D)y)2]=ED[(f(x;D)fˉ(x))2]+ED[(fˉ(x)y)2]+2ED[(f(x;D)fˉ(x))(fˉ(x)y)]\mathbb{E}_D[(f(x;D) - y)^{2}] = \mathbb{E}_D[(f(x;D) - \bar f(x))^{2}] + \mathbb{E}_D[(\bar f(x) - y)^2] + 2\mathbb{E}_D[(f(x;D) - \bar f(x))(\bar f(x) - y)]

注意到第二项与 DD 无关,其即为 (fˉ(x)y)2(\bar f(x) - y)^2

最后一项也等价于 2(fˉ(x)y)2ED[f(x;D)fˉ(x)]2(\bar f(x) - y)^2 \mathbb{E}_D[f(x;D) - \bar f(x)]。进一步观察到其实际上就是 00。(前半截就是 fˉ(x)\bar f(x) 的定义)

最终形式为

ED[(f(x;D)fˉ(x))2]+(fˉ(x)y)2\mathbb{E}_D[(f(x;D) - \bar f(x))^{2}] + (\bar f(x) - y)^2

考虑其意义。第一项为方差,第二项为偏差

  • variance:由于过拟合某个特定的 DD 产生的误差。
    解决方案:增加 DD 的大小。
  • bias:由于模型能力不足以拟合数据产生的误差(见了很多 DD 但还是偏离实际值)。
    比如说尝试用线性模型拟合一个二次函数型分布的数据,且每次 sample DD 的时候都只能 sample 两个点。
    解决方案:提升模型容量(capability 或者说 expressivity,粗略估计:参数数量,记作 #parameters)

这二者通常有一个 trade-off:简单模型->underfit->高 bias,而复杂模型->overfit->高 variance。当然,同时增大 DD 并增大模型,也可以二者得兼之,还可以加上一些其他的技巧如正则化等。

对 Bias-Variance Decom. 的小质疑

定义 f^(x):=f(x,D)\hat{f}(x):= f(x,|D|\to \infty),那么 fˉ\bar f 是否等价于 f^\hat{f}

考虑极端情况:fˉ\bar f 是在重复的小 DP(D)D \sim P(D) 上取平均;f^\hat{f} 在一个无限大的训练集上训练。这两种模型是截然不同的。

考虑 D=2|D| = 2(x,y){(1,1),(0,0),(1,1)}(x,y)\in \{(-1,1),(0,0),(1,1)\},且 P(D)P(D) 各有 13\frac{1}{3} 的概率在集合中取两个元素。

fˉ(x)=13(x+x+1)=13\bar f(x)=\frac{1}{3}(-x + x + 1) = \frac{1}{3},而 f^(x)=argminh2h2+(1h)2=23\hat{f}(x) = \arg\min_h 2h^2 + (1-h)^2 = \frac{2}{3},后者明显好于前者。

所以,f^\hat{f}fˉ\bar{f} 是不太一样的。而 Bias-Variance Decom. 并没有考虑 f^\hat{f} 的情况。在这个例子里,f^\hat{f}fˉ\bar{f},在某些其他情况下如随机森林,fˉ\bar{f} 会更优。


24秋机器学习笔记-03-偏差/方差分解
https://blog.imyangty.com/note-ml2024fall/b-v-decomposition/
Author
YangTY
Posted on
September 25, 2024
Licensed under