(集成学习一Boosting )http://blog.csdn.net/loveitlovelife/article/details/79392187
欲得到泛化性能强的集成学习器,要求个体学习器尽可能的相互独立,但是在现实任务中无法做到,但可以设法尽可能的达到“独立”的条件。
Bagging
并行集成学习方法的代表。
基本描述:
基于自助采样法进行有放回抽样,对于m个样本的数据集,则训练集中约有63.2%的数据集出现在采集样本中。(
1−(m−1m)m
1
−
(
m
−
1
m
)
m
,m取无穷大,63.2%的样本用于训练模型,剩余样本进行“包外估计”),采样出T个含m个训练样本的采样集,然后基于每个采样集训练出基学习器进行结合。
Bagging通常对分类任务使用投票法,对回归任务使用简单平均法。
算法流程
输入:训练集
D=(x1,y1),(x2,y2),...,(xm,ym);
D
=
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
m
,
y
m
)
;
基学习算法
Λ;
Λ
;
训练轮数T.
过程:
1.
for t=1,2,...,T do
f
o
r
t
=
1
,
2
,
.
.
.
,
T
d
o
2:
ht=Λ(D,Dbs)
h
t
=
Λ
(
D
,
D
b
s
)
3:
end for
e
n
d
f
o
r
输出:
H(x)=arg maxy∈Γ∑Tt=1II(ht(x)=y)
H
(
x
)
=
a
r
g
m
a
x
y
∈
Γ
∑
t
=
1
T
I
I
(
h
t
(
x
)
=
y
)
+Bagging集成学习器的复杂度与基学习器的复杂度同阶。AdaBoost适用于二分类任务;Bagging用于多分类、回归等任务。
+在决策树模型中,包外样本可以辅助剪枝;神经网络模型中,辅助早期停止减小过拟合风险。
+Bagging关注降低方差,适用于决策树,神经网络。
Random Forest
描述:
对基决策树的每个节点,先从该节点的属性集合中随机选择包含k个属性的子集,然后再从这个子集当中选择一个最优属性用于划分。(推荐值:
k=log2d
k
=
l
o
g
2
d
)
多样性来源:样本采样的扰动、属性扰动。
训练效率高:Bagging使用“确定性的”决策树,对结点所有属性进行考察;随机森林使用“随机性”决策树,只需考察一个属性子集。