赞
踩
老规矩–妹妹镇楼:
用多个算法进行集成,让机器学习效果比单个算法的效果更好。
训练多个分类器取平均
f
(
x
)
=
1
/
M
∑
m
=
1
M
f
m
(
x
)
f(x) = 1/M\sum_{m=1}^{M}f_{m}(x)
f(x)=1/Mm=1∑Mfm(x)
从弱学习器开始加强,通过加权进行训练(不断添加新的树,完善前面的结果)
F
m
(
x
)
=
F
m
−
1
(
x
)
+
a
r
g
m
i
n
h
∑
i
=
1
n
L
(
y
i
,
F
m
−
1
(
x
i
)
+
h
(
x
i
)
)
F_{m}(x) = F_{m-1}(x) + argmin_{h}\sum_{i=1}^{n}L(y_{i},F_{m-1}(x_{i})+h(x_{i}))
Fm(x)=Fm−1(x)+argminhi=1∑nL(yi,Fm−1(xi)+h(xi))
聚合多个分类或回归模型(分阶段)
下面具体来说明三种集成算法。
bootstrap aggregation 。并行训练很多分类器。
随机森林。所谓随机森林可以从森林与随机两部分来理解,森林即多棵树,即多个分类器是并行的;随机即是多个分类器的数据采样是随机的,特征的选择是随机的,因为多个分类器如果数据采样,特征选择都是相同的,那么结果也必定是相同的,这样就没有意义了。随机是为了提高分类器的泛化能力。
从弱学习器开始加强,通过加权进行训练(不断添加新的树,完善前面的结果)
AdaBoost, Xgboost
AdaBoost会根据前一次的分类效果调整数据的权重。即每次分类后,都会有分类正确,分类错误的情况,因此下一次分类要更加重视分类错误的情况,于是提高当前分类错误的数据的权重,减小分类正确的数据的权重。
每个分类器的结果都不一样,有的准确率高,有的准确率低,高的分类器权重高,低的分类器权重低,将多个分类器根据权值进行合体,得到最终的boost结果。
聚合多个分类或回归模型(分阶段)。即将各种分类器都堆在一起,通过各种方式得出结果。有的直接求均值,有的分阶段出结果。
第一阶段通过各种分类器求出各自相应的分类结果,第二阶段再将第一阶段的结果作为输入,进行训练得出结果。
将多种分类器堆叠在一起会使准确率有所提高,但是速度也会相应的减慢。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。