集成学习简介
基本思想
集成学习指的是把多个“弱学习器”(weak learners,单个表现一般但比瞎猜好一点的模型)组合起来,形成一个“强学习器”(整体表现明显更好、泛化能力更强的模型)。
这些弱学习器又是又被成为“个体学习器”,不同的个体学习器和这些个体学习器的不同的集成方式决定了不同的集成学习方法。
弱学习器的分类
-
所有的个体学习器都是同一种类型,即同质的
-
所有的个体学习器不全是同一种类的,即异质的
学习器的选择
-
准确性:个体学习器准确性不能太差
-
差异性:个体学习器之间的输出要具有差异性
集成学习方法
根据个体学习器的生成方式,目前的集成学习方法大致可分为两类:
-
Boosting:个体学习器间存在强依赖关系,必须串行生成的序列化方法;
串行:下一个分类器只在前一个分类器预测不够准的实例上进行训练或检验。
基本原理:
先从初始训练集训练出一个基学习器。
再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注。
然后基于调整后的样本分布来训练下一个基学习器。
如此重复,直到基学习器数量达到事先指定的值M 。
最终将这M个基学习器进行加权组合。

-
Bagging:个体学习器间不存在强依赖关系,可同时生成的并行化方法。
并行:所有的弱分类器都给出各自的预测结果,通过组合把这些预测结果转化为最终结果。

Boosting
-
BGBDT
-
XGBoost