作者:JSong,时间:2017.10.21
广义的偏差(bias)描述的是预测值和真实值之间的差异,方差(variance)描述距的是预测值作为随机变量的离散程度。《Understanding the Bias-Variance Tradeoff》当中有一副图形象地向我们展示了偏差和方差的关系:
1、Bias-variance 分解
我们知道算法在不同训练集上学到的结果很可能不同,即便这些训练集来自于同一分布。对测试样本 $x$ ,令 $y_D$ 为 $x$ 在数据集中的标记,$y$ 为 $x$ 的真实标记, $f(x;D)$ 为训练集 $D$ 上学的模型 $f$ 在 $x$ 上的预测输出。
在回归任务中,学习算法的期望输出为:
使用样本数相同的不同训练集产生的方差为:
噪声为
期望输出与真实标记的差别称为偏差(bias),即
为便于讨论,假定噪声期望为零,即 $\mathbb{E}{D}[y{D}-y]=0$. 通过简单的多项式展开合并,对算法的期望泛化误差进行分解:
于是
也就是说,泛化误差可分解为偏差、方差与噪声之和。
偏差和方差是有冲突的,下面是一个示意图。在训练不足(模型复杂度低)时,偏差主导了泛化误差率;随着训练程度的加深,方差逐渐主导了泛化误差率。
2、k-近邻算法
在k近邻算法中,我们可以严格的给出偏差-方差分解
随着 k 的增大,偏差增大,方差减小。
3、集成学习
在bagging和boosting框架中,通过计算基模型的期望和方差,我们可以得到模型整体的期望和方差。为了简化模型,我们假设基模型的权重、方差及两两间的相关系数相等。由于bagging和boosting的基模型都是线性组成的,那么有:
3.1 bagging的偏差和方差
对于bagging来说,每个基模型的权重等于1/m且期望近似相等(子训练集都是从原训练集中进行子抽样),故我们可以进一步化简得到:
根据上式我们可以看到,整体模型的期望近似于基模型的期望,这也就意味着整体模型的偏差和基模型的偏差近似。同时,整体模型的方差小于等于基模型的方差(当相关性为1时取等号),随着基模型数(m)的增多,整体模型的方差减少,从而防止过拟合的能力增强,模型的准确度得到提高。但是,模型的准确度一定会无限逼近于1吗?并不一定,当基模型数增加到一定程度时,方差公式第二项的改变对整体方差的作用很小,防止过拟合的能力达到极限,这便是准确度的极限了。另外,在此我们还知道了为什么bagging中的基模型一定要为强模型,否则就会导致整体模型的偏差度低,即准确度低。
Random Forest是典型的基于bagging框架的模型,其在bagging的基础上,进一步降低了模型的方差。Random Fores中基模型是树模型,在树的内部节点分裂过程中,不再是将所有特征,而是随机抽样一部分特征纳入分裂的候选项。这样一来,基模型之间的相关性降低,从而在方差公式中,第一项显著减少,第二项稍微增加,整体方差仍是减少。
3.2 boosting 的偏差和方差
对于boosting来说,基模型的训练集抽样是强相关的,那么模型的相关系数近似等于1,故我们也可以针对boosting化简公式为:
通过观察整体方差的表达式,我们容易发现,若基模型不是弱模型,其方差相对较大,这将导致整体模型的方差很大,即无法达到防止过拟合的效果。因此,boosting框架中的基模型必须为弱模型。
因为基模型为弱模型,导致了每个基模型的准确度都不是很高(因为其在训练集上的准确度不高)。随着基模型数的增多,整体模型的期望值增加,更接近真实值,因此,整体模型的准确度提高。但是准确度一定会无限逼近于1吗?仍然并不一定,因为训练过程中准确度的提高的主要功臣是整体模型在训练集上的准确度提高,而随着训练的进行,整体模型的方差变大,导致防止过拟合的能力变弱,最终导致了准确度反而有所下降。
基于boosting框架的Gradient Tree Boosting模型中基模型也为树模型,同Random Forrest,我们也可以对特征进行随机抽样来使基模型间的相关性降低,从而达到减少方差的效果。
参考文献
[1]. Understanding the Bias-Variance Tradeoff
[2]. 使用sklearn进行集成学习——理论