首页 > 学院 > 开发设计 > 正文

Variance-Bias 分解

2019-11-06 09:01:43
字体:
来源:转载
供稿:网友

Variance-Bias 分解

Notations:

t: 真实label

x: 数据分布

D: 数据集标识

y(x;Di): 在Di上的预测函数

E(t|x): 回归函数,即∫p(t|x)tdt

单个数据集下的回归函数

下面首先证明,对于单个数据集Di,当期望均方误差最小时,y(x;Di)=E[t|x]。由期望均方误差定义:

这里写图片描述

这里写图片描述

单数据集下的损失函数分解

对于某个数据集Di,对应预测函数的误差可以表示为

L=y(x;Di)−t)2=(y(x;Di)−E[t|x]+E[t|x]−t)2=[y(x;Di)−E[t|x]]2+2[y(x;Di)−E[t|x]][E[t|x]−t]+[E[t|x]−t]2

因此,期望误差为对Lp(x)上积分,注意由回归函数的定义,E[t|x]=y(x;Di),可知交叉项为0,则

E(L)=Ex{[y(x;Di)−E[t|x]]2}+Ex{[E[t|x]−t]2}

其中,Ex{[E[t|x]−t]2}被称为noise,衡量单个数据集的真实标签与平均数据集上真实标签的波动,与预测函数无关。

对于Ex{[y(x;Di)−E[t|x]]2},可对[y(x;Di)−E[t|x]]2进行variance-bias分解。

多数据集下的variation-bias 分解

现在考虑多个数据集的情况。variance-bias分解的考虑是出于衡量预测模型对多个数据集的泛化能力。在考虑多数据集时,有几个变化:

注意此时y(x;Di)=E[ti|x], 其中ti是第i个数据集的标签。此时的期望误差除了对数据分布积分,还要对各个数据集求和。即ED,(x,t)[L]

先不考虑期望,如下:

[y(x;Di)−Et,D[t|x]]2={y(x;Di)−ED[y(x;D)]+ED[y(x;D)]−Et,D[t|x]}2={y(x;Di)−ED[y(x;D)]}2+{ED[y(x;D)]−Et,D[t|x]}2+2{y(x;Di)−ED[y(x;D)]}{ED[y(x;D)]−Et,D[t|x]}

当对上式在D上积分,易知ED{y(x;Di)−ED[y(x;D)}=0,从而交叉项为0,从而有:

ED{[y(x;Di)−Et,D[t|x]]2}=ED{[y(x;Di)−ED[y(x;D)]]2}+{ED[y(x;D)]−Et,D[t|x]}2

于是,上式前一项为vairance,后一项为bias。

总结

bias=Ex{[E[t|x]−t]2}: 衡量平均数据集上预测函数与平均数据集上真实标签分布的波动

variance: 衡量单个数据集预测函数与平均数据集上预测函数的波动

noise: 衡量单个数据集的真实标签与平均数据集上真实标签的波动,与预测函数无关

直观图解

这里写图片描述

参考文献

Christopher M. Bishop, Pattern Recognition and Machine Learning, SPRinger, 2006
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表