概述
集成学习包括两个方面:bagging和boosting。
这两种方法的共同点是需要多个模型融合,并且模型融合之后的效果优于单个模型效果。
差异在于:
bagging融合的模型比较强,属于强学习器,而且模型之间是并行的。
boosting融合的是弱学习器,多个模型依次训练数据集。
bagging
这种集成方式适用于融合容易过拟合的模型,比如决策树。
典型的Bagging 模型就是随机森林。
boosting
boosting按照顺序可以训练弱学习器,使融合的模型最终效果变得很好。具体思路是,通过第一个模型的分类结果,并记录它的误差率,通过调整样本的权重,凸显模型分类错误的样本。然后使用第二个模型再次计算训练集的分类结果,以及它的误差率。
最后将根据不同模型的误差率,来对所有的分类器进行融合。
典型案例为AdaBoost算法。
stacking
stacking是将训练数据分别带入4个模型中,训练4个模型,并记录训练数据的预测值,以及测试集的预测值。
表1:stacking final Classifier数据集说明
0 | 模型1 | 模型2 | 模型3 | 模型4 |
---|---|---|---|---|
1 | 训练集预测值P1 | 训练集预测值P2 | 训练集预测值P3 | 训练集预测值P4 |
2 | 测试集预测值p1 | 测试集预测值p2 | 测试集预测值p3 | 测试集预测值p4 |
将以上数据的第0行和第1行作为训练集数据,带入Final Classifier中。该模型一般为线性回归模型。
将第0行和第二行数据作为测试集带入训练好的模型中,得到的y值即为最终提交结果。
表1数据的详细来源可以参考以下链接:
链接: https://zhuanlan.zhihu.com/p/26890738.