机器学习:常见的集成学习思想

161 阅读2分钟
目前,有三种常见的集成学习框架:bagging,boosting和stacking。

1/bagging集成学习思想

在总的训练集中进行抽样,为每一个基模型都抽取一个子训练集,然后训练该模型。
对所有基模型预测的结果进行综合判断(投票思想,少数服从多数),最后产生最终的预测结果。
随机森林算法random forest,就是典型的bagging集成学习框架思想的算法。
随机森林中的每一棵决策树都相当于一位在某个`窄领域`很牛逼的专家,每一位专家都会给出一个预测结果,
然后根据所有专家的结果,综合得出最终的一个结果。
一位专家可能出错,但是所有专家都出错的概率就很小了,这就是随机森林的核心思想。

另外KNN算法,也是这种思想。

image.png

2/boosting

训练过程为阶梯状,基模型按次序一一进行训练(实现上可以做到并行),
基模型的训练集按照某种策略每次都进行一定的转化。
对所有基模型预测的结果进行线性综合产生最终的预测结果。
进行多次拟合,每次是对上一次的误差进行拟合,最后把所有的拟合结果加起来。

GBDT,xgboost,adboost算法,都是典型的boosting集成学习思想的算法。

image.png

3/stacking

将训练好的所有基模型对训练集数据进行预测,第j个基模型对第i个训练数据的预测值将作为新的训练集中第i个样本的第j个特征值,最后基于新的训练集进行训练。
同理,预测的过程也要先经过所有基模型的预测形成新的测试集,最后再对测试集进行预测。

image.png

有了这些基本概念之后,直觉将告诉我们,由于不再是单一的模型进行预测,所以模型有了“集思广益”的能力,也就不容易产生过拟合现象,预测结果也更加准确。