小编邀请您,先思考:
1 集成学习是什么?
2 如何用Python或者R实现集成学习?
简单来说,集成学习是一种技术框架,其按照不同的思路来组合基础模型,从而达到其利断金的目的。
2 集成学习框架
目前,有三种常见的集成学习框架:bagging,boosting和stacking。国内,南京大学的周志华教授对集成学习有很深入的研究,其在09年发表的一篇概述性论文《Ensemble Learning》
https://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/springerEBR09.pdf
对这三种集成学习框架有了明确的定义,概括如下:
bagging:从训练集从进行子抽样组成每个基模型所需要的子训练集,对所有基模型预测的结果进行综合产生最终的预测结果:
boosting:训练过程为阶梯状,基模型按次序一一进行训练(实现上可以做到并行),基模型的训练集按照某种策略每次都进行一定的转化。对所有基模型预测的结果进行线性综合产生最终的预测结果:
stacking:将训练好的所有基模型对训练基进行预测,第j个基模型对第i个训练样本的预测值将作为新的训练集中第i个样本的第j个特征值,最后基于新的训练集进行训练。同理,预测的过程也要先经过所有基模型的预测形成新的测试集,最后再对测试集进行预测:
集成学习不再是单一模型进行预测,而是采用了“集思广益”的思想来更好地解决预测问题。