一、集成学习概况、Boosting、Bagging、stacking介绍

集成学习的三大关键领域介绍

  集成学习(Ensemble learning)是机器学习中最先进、最有效、最具研究价值的领域之一,这类方法会训练多个弱评估器(base estimators)、并将它们输出的结果以某种方式结合起来解决一个问题。
在这里插入图片描述
同质学习器:只包含同种类型的基学习器;

异质学习器:同时包含不同种类型的基学习器;

1、弱(基)分类器集成

  弱分类器集成主要专注于对传统机器学习算法的集成,覆盖了大部分我们熟悉的集成算法和集成手段,如装袋法bagging,提升法boosting。试图设计强大的集成算法、来将多个弱学习器提升成为强学习器。

常用的基分类器:决策树。1主要有以下3个方面的原因:
1、决策树可以较为方便地将样本的权重整合到训练过程中,无需使用过采用来调整权重。
2、决策树的表达能力和泛化能力,可以通过调节树的层数来做折中。
3、数据样本的扰动对于决策树的影响较大,很好引入了随机性。
  除了决策树外,神经网络模型也适合作为基分类器,主要由于神经网络也比较不稳定,而且还可以通过调整神经元数量,连接方式、网络层级、初始权值等方式引入随机性。

  • 提升法Boosting介绍

  Boosting方法训练基分类器时采用串行的方式,各个基分类器之间(通常是同质弱学习器)有依赖。

  基本思想是将基分类器层层叠加,每一层在训练的时候,对前一层基分类器分错的样本,给予更高的权重。测试时,根据各层分类器的结果的加权得到最终结果。

在这里插入图片描述

  典型代表

Boosting算法集成类
ADB分类sklearnAdaBoostClassifer
ADB回归sklearnAdaBoostRegressor
梯度提升树分类sklearnGradientBoostingClassifier
梯度提升树回归sklearnGradientBoostingRegressor
直方提升树分类sklearnHistGraidientBoostingClassifier
直方提升树回归sklearnHistGraidientBoostingRegressor
极限提升树(Extreme Gradient Boosting Tree)第三方库xgboostxgboost.train()
轻量梯度提升树(Light Gradiant Boosting Machine)第三方库lightgbmlightgbm.train()
离散提升树(Categorial Boosting Tree)第三方库catboostcatboost.train()
  • 装袋法bagging(Boosstrap Aggregating)介绍

  Bagging方法在训练过程中,各基分类器(通常是同质弱学习器)之间无强依赖,可以并行训练

  为了让基分类器之间相互独立,将训练集分为若干子集(当训练集样本数据量较少时,子集之间可能有交叠)。由于个体之间存在差异性,最终做出的判断不会完全一致,可通过投票的方式做出最后的集体决策。

在这里插入图片描述
在这里插入图片描述
  一次bootstrap抽样中没有用到的数据为袋外(out-of-bag,OOB)数据。

  典型代表:基于决策树基分类器的随机森林(Random forest)。

  • bagging,boosting区别

  Bagging不同算法之间的核心区别在于靠以不同方式实现“独立性”(随机性),那Boosting的不同算法之间的核心区别就在于上一个弱评估器的评估结果具体如何影响下一个弱评估器的建立过程。

装袋法 Bagging提升法 Boosting
弱评估器相互独立,并行构建相互关联,按顺序依次构建
先建弱分类器的预测效果影响后续模型的建立
建树前的抽样方式样本有放回抽样
特征无放回抽样
样本有放回抽样(可选)
特征无放回抽样
先建弱分类器的预测效果可能影响抽样细节
集成的结果回归平均
分类众数
每个算法具有自己独特的规则,一般来说:
(1) 表现为某种分数的加权平均
(2) 使用输出函数
目标降低方差
提高模型整体的稳定性来提升泛化能力
本质是从“平均”这一数学行为中获利
降低偏差
提高模型整体的精确度来提升泛化能力
相信众多弱分类器叠加后可以等同于强学习器
单个评估器容易
过拟合的时候
具有一定的抗过拟合能力具有一定的抗过拟合能力
单个评估器的效力
比较弱的时候
可能失效大概率会提升模型表现
代表算法随机森林梯度提升树,Adaboost

在这里插入图片描述

如何从减小方差和偏差的角度解释Boosting和Bagging的原理?

  • Bagging提高弱分类器性能的原因是降低了方差。原因如下:
      1、一方面借助借助中心极限定理来理解,假定有n个随机变量,其总体均值为u,方差记为 σ 2 \sigma^2 σ2,根据中心极限定理,样本均值的无偏估计仍然为μ,样本均值的方差估计为 σ 2 n \frac{\sigma^2}{n} nσ2,也就是说对一组观测值求平均数,该平均数有更小的方差。
      2、从模型的角度理解,为了追求模型的独立性,诸多bagging的方法做了不同的改进,比如随机森林算法中,每次选取节点分裂时,会随机抽取一个属性子集,而不是从所有属性中选取最优属性,这就是为了避免弱分类器之间过强的相关性,从而降低Bagging后模型的方差。
  • Boosting提高弱分类器性能的原因是降低了偏差。原因如下:
      Boosting的训练过程是在训练好的一个弱分类器后,需要计算弱分类器的错误或者残差,作为下一个弱分类器的输入,这个过程就是不断减少损失减少,来使得模型不断逼近"靶心",使得模型偏差不断降低。但Boosting的过程并不会显著性降低方差。这就是因为Boosting的训练过程使得各弱分类器之间强相关,缺乏独立性,所以并不会对降低方差有作用。
      关于泛化误差,偏差、方差和模型复杂度关系图如下:在这里插入图片描述
  • stacking介绍

  stacking,该方法通常考虑的是异质弱学习器,并行地学习它们,并通过训练一个「元模型」将它们组合起来,根据不同弱模型的预测结果输出一个最终的预测结果。

在这里插入图片描述

2、 模型融合

  模型融合在最初的时候被称为“分类器结合”,这个领域主要关注强评估器,试图设计出强大的规则来融合强分类器的结果、以获取更好的融合结果。主要包括了投票法Voting(针对分类问题)、堆叠法Stacking、混合法Blending等,且被融合的模型需要是强分类器。

  • 投票法Voting介绍

      投票法Voting是指用投票的方式,将获得最多票数的结果作为最终的结果。

在这里插入图片描述

  • 学习法堆叠法Stacking介绍

  堆叠法Stacking是指用串行的方式,把前一个基分类器的结果输出到下一个分类器,将所有基分类器的输出结果相加(或者用更复杂的算法融合,比如把各基分类器的输出作为特征,使用逻辑回归作为融合模型进行最后的结果预测)作为最终的输出。

3、混合专家模型(mixture of experts)

  混合专家模型常常出现在深度学习(神经网络)的领域。在其他集成领域当中,不同的学习器是针对同一任务、甚至在同一数据上进行训练,但在混合专家模型中,我们将一个复杂的任务拆解成几个相对简单且更小的子任务,然后针对不同的子任务训练个体学习器(专家),然后再结合这些个体学习器的结果得出最终的输出。


  1. 【白面机器学习】诸葛越、葫芦娃 ↩︎

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值