Bagging(Bootstrap Aggregating)是一种集成学习方法
,主要用于减少预测模型的方差
,从而提高模型的稳定性
。
这种方法由Leo Breiman在1996年提出,核心思想是从原始数据集通过有放回
抽样(即自助采样
,Bootstrap Sampling)生成多个子数据集
,然后基于这些子数据集训练多个模型(基学习器)
,最后通过某种方式(如平均或投票)来组合
这些模型的预测结果。
Bagging的步骤:
-
自助采样:从包含( N )个样本的
原始数据集
中,有放回
地抽取同样大小( N )的样本集合。这个过程会重复( T )次,生成( T )个不同的样本集。 -
训练基学习器:对于
每个样本集,训练一个基学习器
。这些基学习器可以是任何类型的模型
,但是通常选择容易过拟合的模型,如未剪枝的决策树。
-
预测:
- 分类问题:对于
分类任务
,每个基学习器对测试样本进行预测,然后通过多数投票决定最终类别。
- 回归问题:对于
回归任务
,每个基学习器对测试样本进行预测,然后计算所有预测的平均值作为最终预测。
- 分类问题:对于
Bagging的数学公式:
Bagging算法没有特定的“公式”,但我们可以用数学语言描述它的过程和目标。假设我们有( T )个基学习器
{
h
t
(
x
)
}
t
=
1
T
\{h_t(x)\}_{t=1}^{T}
{ht(x)}t=1T,每个基学习器
都基于不同的自助样本集
D
t
D_t
Dt 进行训练,其中( x )是输入特征向量。
对于分类问题
,最终预测
f
(
x
)
f(x)
f(x) 可以表示为:
f
(
x
)
=
arg
max
c
∑
t
=
1
T
I
(
h
t
(
x
)
=
c
)
f(x) = \arg\max_{c} \sum_{t=1}^{T} I(h_t(x) = c)
f(x)=argcmaxt=1∑TI(ht(x)=c)
-
f
(
x
)
f(x)
f(x): 这是最终的预测输出,即对输入特征向量x的
预测类别。
-
arg
max
c
\arg\max_{c}
argmaxc: 表示寻找
使得括号内表达式最大
的类别c。 -
T
T
T: 是构建的
基学习器(通常是决策树)的总数。
-
h
t
(
x
)
h_t(x)
ht(x):
第t个基学习器对输入x的预测。
-
I
(
h
t
(
x
)
=
c
)
I(h_t(x) = c)
I(ht(x)=c): 这是一个
指示函数
(也称为特征函数),当基学习器 h t h_t ht 对输入x的预测等于类别c时,函数返回1;否则,返回0。
对于回归问题
,最终预测可以表示为基学习器预测的平均值:
f
(
x
)
=
1
T
∑
t
=
1
T
h
t
(
x
)
f(x) = \frac{1}{T} \sum_{t=1}^{T} h_t(x)
f(x)=T1t=1∑Tht(x)
-
f
(
x
)
f(x)
f(x): 最终的预测输出,即对输入特征向量x的
预测数值。
-
T
T
T: 同上,是构建的
基学习器总数。
-
h
t
(
x
)
h_t(x)
ht(x):
第t个基学习器对输入x的预测数值。
误差分解:
Bagging的一个关键点在于它可以减少模型的方差
,而不会增加偏差
。模型的预测误差可以分解为偏差平方
和方差
两个部分:
Error
=
Bias
2
+
Variance
+
Irreducible Error
\text{Error} = \text{Bias}^2 + \text{Variance} + \text{Irreducible Error}
Error=Bias2+Variance+Irreducible Error
-
Error
\text{Error}
Error: 模型的
总预测误差。
-
Bias
2
\text{Bias}^2
Bias2: 模型预测的
偏差平方
,衡量模型预测值与真实值的系统性偏离。 -
Variance
\text{Variance}
Variance: 模型
预测的方差
,衡量模型预测值在不同训练集上的波动程度。 -
Irreducible Error
\text{Irreducible Error}
Irreducible Error:
不可约误差
,是由于噪声
或模型无法捕捉
的复杂度导致的固有误差,通常无法通过改进模型来减少。
Bagging主要针对 “方差” 这一部分。对于多个独立模型,预测的方差可以通过下面的公式来描述:
Variance
=
σ
2
(
1
−
ρ
)
\text{Variance} = \sigma^2 \left(1 - \rho\right)
Variance=σ2(1−ρ)
-
σ
2
\sigma^2
σ2 是
单个模型
预测的方差 -
ρ
\rho
ρ 是
模型间的相关系数
。当模型独立时, ρ = 0 \rho = 0 ρ=0,方差被最大化减少
;当模型完全相关时
, ρ = 1 \rho = 1 ρ=1,方差不会减少。
Bagging通过引入模型多样性(即降低模型间相关性)来减少方差
,从而改善整体预测性能。
在实践中,这通常通过使用不同的训练数据子集和/或不同的特征子集(如随机森林中所做)来实现。