目录
集成算法有3个流派:Bagging(代表随机森林)、Boosting(代表AdaBoost,Xgboost)、Stacking模型
Bagging:训练多个分类器取平均(并行)
Boosting:从弱学习器开始加强,通过加权来进行训练(串行)
Stacking:聚合多个分类或回归模型(分阶段)
一、Bagging模型:随机森林
1.1 bagging的原理
Bagging的弱学习器之间的确没有boosting那样的联系。它的特点在“随机采样”。
随机采样(bootsrap)就是从我们的训练集里面采集固定个数的样本,但是每采集一个样本后,都将样本放回。也就是说,之前采集到的样本在放回后有可能继续被采集到。
bagging对于弱学习器没有限制,这和Adaboost一样。但是最常用的一般也是决策树和神经网络。
bagging的集合策略也比较简单,对于分类问题,通常使用简单投票法,得到最多票数的类别或者类别之一为最终的模型输出。对于回归问题,通常使用简单平均法,对T个弱学习器得到的回归结果进行算术平均得到最终的模型输出。
由于Bagging算法每次都进行采样来训练模型,因此泛化能力很强,对于降低模型的方差很有作用。当然对于训练集的拟合程度就会差一些,也就是模型的偏倚会大一些。
1.2 随机森林算法 Random Forest
用一句话总结就是:随机采样构建不同的树,结果取