bagging(bootstrap aggregating)是并行式集成学习方法最显著的代表。利用Bootstraping(自主采样法(有放回))的方法。对分类问题,将k个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果。
Boosting是一簇弱分类器提升为强学习器的算法,先从初始训练集训练处一个基学器,再根据基学习器的表现对训练样本分布进行调整。基于调整后的样本分布来训练下一学习器,如此重复,直到学习器到达指定数量T。最终将这T个学习器加权结合。最
其中主要的是AdaBoost(Adaptive Boosting)。初始化时对每一个训练例赋相等的权重1/n,然后用该学算法对训练集训练t轮,每次训练后,对训练失败的训练例赋以较大的权重,也就是让学习算法在后续的学习中集中对比较难的训练例进行学习,从而得到一个预测函数序列h_1,⋯, h_m , 其中h_i也有一定的权重,预测效果好的预测函数权重较大,反之较小。最终的预测函数H对分类问题采用有权重的投票方式,对回归问题采用加权平均的方法对新示例进行判别。
(类似Bagging方法,但是训练是串行进行的,第k个分类器训练时关注对前k-1分类器中错分的文档,即不是随机取,而是加大取这些文档的概率。)
Bagging,Boosting二者之间的区别
1)样本选择上:
Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。
2)样例权重:
Bagging:使用均匀取样,每个样例的权重相等
Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。
3)预测函数(学习器权重):
Bagging:所有预测函数的权重相等。
Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。
4)并行计算:
Bagging:各个预测函数可以并行生成
Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。
5)从偏差-方差分解角度上:
Bagging:主要关注降低方差
Boosting:主要关注降低偏差