bagging and boosting
bagging
基于数据随机重抽样的分类器构建方法。首先基于原始数据集随机重抽样获取
s
s
s个与原始数据集同样大小的新数据集(即原始数据集中的样本在新数据集中可能出现多次,也可能不出现)。然后利用同一种基分类器获得
s
s
s个分类器。测试数据根据
s
s
s个分类器结果的大多数投票获得最终的分类结果。
特点:基于一种基分类器的组合获得强分类器的方法。分类器的权重相等(采用大多数投票)。
boosting
boosting 集中关注分类器错分的数据来获得新的分类器,且为分类器赋予不同的权重(分类器的错误率越低,其对应的权重越大,即越容易对分类结果产生影响)。
boosting(一个数据集,串行训练,加权求和)
bagging(
s
s
s个数据集,并行训练,投票法)
Adaboost
将多个弱分类器组合为强分类器
AdaBoost是“Adaptive Boosting”(自适应增强)的缩写。
(1) 初始化每个训练样本的权重分布:首先为每一个训练样本赋予相同的权重,如果有
N
N
N个样本,则每个训练样本的初始权重都为
1
/
N
1/N
1/N;
(2) 训练弱分类器:基于样本总体训练出一个弱分类器并计算该分类器的错误率。第二次训练时,根据上一个分类器的错误率,对数据集中样本权重进行调整,分类正确的样本权重降低,分类错误的样本权重上升,权重总和保持不变为1。
分类准则:弱分类器的误差函数最小,即分错的样本对应的权值之和最小。
ϵ
m
=
∑
n
=
1
N
w
n
(
m
)
I
(
y
m
(
x
n
)
≠
t
n
)
\epsilon_m=\sum^N_{n=1}w_n^{(m)}I(y_m(x_n)\neq t_n)
ϵm=n=1∑Nwn(m)I(ym(xn)̸=tn)
其中
w
n
(
m
)
w_n^{(m)}
wn(m)表示第
n
n
n个样本第
m
m
m次训练对应的权值。
(3) 将各个训练得到的弱分类器组合成强分类器:多次迭代后,最后的分类器基于训练的弱分类器的分类错误率,为每次训练的分类器赋予不同的决定系数
α
m
\alpha_m
αm,错误率低的分类器获得更高的决定系数。
α
m
=
1
2
log
(
1
−
e
m
e
m
)
\alpha_m=\frac{1}{2}\log(\frac{1-e_m}{e_m})
αm=21log(em1−em)
其中,
e
m
=
e_m=
em=错分的样本数目
/
/
/样本总数,即分类错误率。上式随着
e
m
e_m
em的减小而增大,即误差率小的分类器,在最终分类器中的重要程度大。
如果某个样本被正确分类,样本权重更新为:
w
i
(
m
+
1
)
=
w
i
(
m
)
∗
exp
(
−
α
m
)
/
Z
m
w_i^{(m+1)}=w_i^{(m)}*\exp(-\alpha_m)/Z_m
wi(m+1)=wi(m)∗exp(−αm)/Zm
如果某个样本被错分,样本权重更新为:
w
i
(
m
+
1
)
=
w
i
(
m
)
∗
exp
(
α
m
)
/
Z
m
w_i^{(m+1)}=w_i^{(m)}*\exp(\alpha_m)/Z_m
wi(m+1)=wi(m)∗exp(αm)/Zm
上述两式可以统一为:
w
i
(
m
+
1
)
=
w
i
(
m
)
Z
m
∗
exp
(
−
α
m
y
i
G
m
(
x
i
)
)
w_i^{(m+1)}=\frac{w_i^{(m)}}{Z_m}*\exp(-\alpha_m y_i G_m(x_i))
wi(m+1)=Zmwi(m)∗exp(−αmyiGm(xi))
Z
m
Z_m
Zm为规范化因子,
Z
m
=
∑
i
=
1
N
w
i
(
m
)
exp
(
−
α
m
y
i
G
m
(
x
i
)
)
Z_m=\sum^N_{i=1}w_i^{(m)}\exp(-\alpha_m y_i G_m(x_i))
Zm=i=1∑Nwi(m)exp(−αmyiGm(xi))
最终的分类器为:
f
(
x
)
=
∑
m
=
1
M
α
m
G
m
(
x
)
f(x)=\sum^M_{m=1}\alpha_mG_m(x)
f(x)=m=1∑MαmGm(x)
G ( x ) = s i g n ( f ( x ) ) = s i g n ( ∑ m = 1 M α m G m ( x ) ) G(x)=sign(f(x))=sign(\sum^M_{m=1}\alpha_m G_m(x)) G(x)=sign(f(x))=sign(m=1∑MαmGm(x))
当 f ( x ) > 0 f(x)>0 f(x)>0时为1,当 f ( x ) < 0 f(x)<0 f(x)<0时为-1。
AdaBoost算法推导???
Adaboost算法
机器学习P174
【机器学习】集成学习——AdaBoost算法与原理推导