此处bagging具体过程不做详细介绍,我们只谈一下bagging为什么可以工作以及它的作用。
Bagging为什么可以工作
我们从回归问题的泛化误差的角度来分析(这里先不分偏差和方差)。设数据集L包含数据,其数据均采样与联合分布为P的随机变量。如此,我们的集成模型可以表示为:
注意,这里是对于N个取自于分布为P的随机变量序列做期望。将x看做固定输入,y看做固定输出,则有(可以看做集成模型泛化误差的一种变形,但x和y这里是固定的,所以其不等同于泛化误差):
再由,上式可以转为:
也就是说,集成模型的误差是小于单个模型误差的平均值的(前提是数据量相同)。而集成模型对比单个模型效果会好多少,取决于下式两端的差别:
移动左边到右边,这正是在L上的方差,也就是说,L的变化对于影响越大(每个模型的差别越大),集成模型的提升效果越明显;当然由这点也可以看出,诸如SVM这种对于数据变化不是很敏感(也可以解读为方差比较低)的模型,bagging的提升作用并不大。
bagging对于方差与偏差的影响
(1)方差
下面我们对bagging的偏差和方差做分析。首先要明确一点,统计学上的方差公式和机器学习模型的方差公式在形式上是相同的,统计学是对于随机变量做分析,而机器学习的方差是对于模型预测结果做分析,而机器学习模型的预测结果本质上也是随机变量。我们设基模型为,每个基模型的权重为,bagging集合模型为,那么有:
这里指模型之间的相关度。对于bagging来说,每个基模型的权重等于1/m且期望近似相等,进一步简化得到:
从这里我们可以看到,由于m是大于1的,所以降低可以减小方差。公式的第二项可以通过增加基模型的数量来减小。
(偏差)
我们来考察bagging的偏差。
从上式我们可以看出,集成模型的预测期望值并没有改变,其与基模型的预测期望值是相同的。也就是说,基模型和集成模型的预测值和真实值的差也是相同的。当然,每个基模型的预测值偏差可能会不同,但是集成方法对于偏差并没有特别大的改善。
注意,关于偏差方差的分析不仅适用于bagging,而且同样适用于averaging。
参考文献:
[1] Bagging Predictors 1996