【机器学习笔记】权衡 bias 和 variance

来源:互联网 发布:睿博数据 编辑:程序博客网 时间:2024/05/16 10:40

Training error & Generalization error

Training error 是说对于一个假设 h ,在 m 个样本中,h 分类错误的个数:

ϵ^(h)=1mi=1m1{h(x(i))y(i)}

Generalization error 是指对于一个假设 h ,对于一个新样本,分类错误的概率:

ϵ(h)=P(x,y)D(h(x)y)

当样本数量 m 足够大的时候,我们可以用前者来拟合后者(这一点,可以直观理解,也可以借助 Hoeffding Inequality 和union bound 来证明,后面会说明)

bias 和 variance

Generalization error可以用如下的式子表出(换种表示):

E(h)=bias2(x)+var(x)+ϵ2

以回归模型为例,假设我们的一个预测模型,得出样本数据的期望为 h¯(x)

bias

bias 是模型过于简单的时候,欠拟合, 模型表现出来的误差:

bias(x)=|h¯(x)y|

为了计算方便(去掉绝对值),我们在计算时用 bias2(x)

variance

是指模型过于复杂时,过拟合表现出的误差;表现出来的一些特性仅仅适用于训练集,而一旦应用于其他数据集(测试集)就会出现较大误差
比如,我们用原来的训练集 D 得到的期望是 h¯(xD), 假设应用到另一个,比如测试集 T 上,方差就可以这样计算:

var(x)=E[(h(x;T)h¯(x;D))2]

ϵ

ϵ 被称为误差,是一切模型Generalization error 的下界,刻画了问题本身的难度

Generalization error 与 bias, variance的关系可以用下图表示:

http://scott.fortmann-roe.com/docs/BiasVariance.html


ERM(empirical risk minimization)

ERM(empirical risk minimization) 本质就是最小化经验误差

显式表示为:

经验误差为:

ϵ^(h)=1mi=1m1{hθ(x(i))y(i)}

也就是之前说的training error.
算法的目的就是求得:

θ^=argminθϵ^(hθ)


模型复杂度的影响:

我们先假定问题是PAC(probably approximately correct) 的(下一篇我会展开说明PAC,以及为什么得到下面那个式子),也就是说,我们可以通过优化训练误差来近似估计泛化误差,对于训练过程中,训练误差最小的 h^ , 有:

ϵ(h^)(minhHϵ(h))+212mlog2kδ

其中 H 是有限个假设函数 h 的集合, |H|=k , m 是训练集中样本的数量,δ 是犯错的概率。

我们可以近似理解为: k 越大,模型越复杂,(minhHϵ(h)) 会更小或者不变,因为可选择的 h增多,有可能得到更好的 h ; 但是 k 增大的同时, 212mlog2kδ 也增大了,误差的上限也就增大。所以也就是从数学的角度解释了我们为什么不能盲目让我们的模型变得更复杂。


和上图类似,具体的影响如下图的曲线所表示。
image_1bs74qgcns661fivb25njkmg59.png-80.2kB

阅读全文
1 0
原创粉丝点击