day13-集成学习

集成学习是一种技术框架,其按照不同的思路来组合基础模型,从而达到其利断金的目的。

集成学习的基本结构为:先产生一组个体学习器,再使用某种策略将它们结合在一起。集成模型如下图所示:


集成模型.png

集成模型中,若个体学习器都属于同一类别,例如都是决策树或都是神经网络,则称该集成为同质的(homogeneous);若个体学习器包含多种类型的学习算法,例如既有决策树又有神经网络,则称该集成为异质的(heterogenous)。

  1. 同质集成:个体学习器称为“基学习器”(base learner),对应的学习算法为“基学习算法”(base learning algorithm)。
  2. 异质集成:个体学习器称为“组件学习器”(component learner)或直称为“个体学习器”。
目前三种常见的集成学习框架为:bagging,boosting,stacking。

bagging:从训练集从进行子抽样组成每个基模型所需要的子训练集,对所有基模型预测的结果进行综合产生最终的预测结果。


bagging.png
  • 典型代表:RandomForest
    boosting:训练过程为阶梯状,基模型按次序一一进行训练(实现上可以做到并行),基模型的训练集按照某种策略每次都进行一定的转化。对所有基模型预测的结果进行线性综合产生最终的预测结果。

    boosting.png

  • 典型代表:AdaBoostXgboost,GBDT(不讲了)

  • 最终的结果:每个分类器根据自身的准确性来确定各自的权重,再合体

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

stacking.png

代码实践

  • AdaBoost
  • xgboost
  • RandomForest
  • Stacking
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容