一、集成学习简介
定义
集成学习是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合从而获得比单个学习器更好的学习效果的一种机器学习方法。一般情况下,集成学习中的多个学习器都是同质的"弱学习器"。
思想
集成学习是训练一系列学习器,并使用某种结合策略把各个学习结果进行整合,从而获得比单个学习器更好的学习效果的一种方法。如果把单个学习器比作一个决策者的话,集成学习的方法就相当于多个决策者共同进行一项决策。集成模型不是单独的ML模型,而是通过先构建后结合多个ML模型来完成学习任务。
二、集成学习的两个步骤:
1、先构建: 如何得到若干个个体学习器、弱学习器、基础学习器、基学习器
同质的 异质的
2、后结合: 如何选择一种结合策略,将这些个体学习器集合成一个强学习器
回归
Boosting:直接叠加、正则后叠加、学习法(Stacking)
Bagging :平均法、带权平均法、学习法
分类
Boosting :直接叠加、正则后叠加、学习法
Bagging :投票法、带权投票法、学习法
三、集成学习的两种思想:
Boosting思想(并行)
个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成,然后使用组合策略,得到最终的集成模型,这就是boosting的思想。
Bagging思想( Bootstrap AGGregatING )拔靴(串行)
个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,然后使用组合策略,得到最终的集成模型,这就是Bagging的思想。
四、集成模型小结:
Adaboost的主要优点有:
1)Adaboost作为分类器时,分类精度很高
2)在Adaboost的框架下,可以使用各种回归分类模型来构建弱学习器,非常灵活。
3)作为简单的二元分类器时,构造简单,结果可理解。
4)容易发生过拟合
Adaboost的主要缺点有:
对异常样本敏感,异常样本在迭代中可能会获得较高的权重,影响最终的强学习器的预测准确性。
GBDT主要的优点有:
1) 可以灵活处理各种类型的数据,包括连续值和离散值。
2) 在相对少的调参时间情况下,预测的准确率也可以比较高。这个是相对SVM来说的。
3)使用一些健壮的损失函数,对异常值的鲁棒性非常强。比如 Huber损失函数和Quantile损失函数。
GBDT的主要缺点有:
由于弱学习器之间存在依赖关系,难以并行训练数据。不过可以通过自采样的SGBT来达到部分并行。