机器学习算法 之 集成学习:串行-Boosting族(AdaBoost),并行-Bagging、随机森林

1 集成学习方法包含两类:

  1. 个体学习器间存在强依赖关系、必须串行生成的序列化方法
    代表是Boosting族算法。
    Boosting族中最著名的代表是AdaBoost。
  2. 个体学习器间不存在强依赖关系、必须同时生成的并行化化方法
    代表是Bagging和随机森林

2 串行方法

Boosting(提升)族算法是串行算法的代表,其思想
从训练集训练出一个基学习器,根据这个基学习器的表现对训练样本分布进行调整,然后用调整后的训练集训练出下一个基学习器,如此重复进行,直至基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合。

下图是《机器学习-周志华》中的解释:
《机器学习-周志华》
Boosting算法有几个问题没有详细说明:

  1. 如何计算学习误差率e?
  2. 如何得到弱学习器权重系数αα?
  3. 如何更新样本权重D?
  4. 使用何种结合策略?

只要是boosting族的算法,都要解决这4个问题。接下来看Adaboost是如何解决的。

2.1 AdaBoost

AdaBoost(Adaptive Boost 自适应提升)是一种Boosting算法。
AdaBoost算法有多种推导方式,此处采用基于“加性模型”,即基学习器的线性组合
在这里插入图片描述

2.1.1 算法描述

算法描述如下图,其中yi={-1,+1},f是真实函数。
在这里插入图片描述

2.1.2 公式推导

假设我们的训练集样本是:
在这里插入图片描述
训练集在第k个弱学习器的输出权重为(其中wki是第k个学习器中,第i个样本对应的权重)——对应过程1
在这里插入图片描述
 分类问题的误差率很好理解和计算。由于多元分类是二元分类的推广,这里假设我们是二元分类问题,输出为{-1,1},则第k个弱分类器Gk(x)在训练集上的加权误差率为——对应过程4
在这里插入图片描述
接着我们看弱学习器权重系数,对于二元分类问题,第k个弱分类器Gk(x)的权重系数为——对应过程6
在这里插入图片描述
为什么这样计算弱学习器权重系数?从上式可以看出,如果分类误差率ekek越大,则对应的弱分类器权重系数αkαk越小。也就是说,误差率小的弱分类器权重系数越大。具体为什么采用这个权重系数公式,我们在讲Adaboost的损失函数优化时再讲。

第三个问题,更新更新样本权重D。假设第k个弱分类器的样本集权重系数为D(k)=(wk1,wk2,…wkm),则对应的第k+1个弱分类器的样本集权重系数为——对应过程7
在这里插入图片描述
最后一个问题是集合策略。Adaboost分类采用的是加权表决法,最终的强分类器为——对应输出
在这里插入图片描述
标准AdaBoost只适用于二分类任务,对于多分类、回归等任务需要使用AdaBoost的变体算法。

AdaBoost用于二分类、多分类、回归等任务的情况,可以参考文章:集成学习之Adaboost算法原理小结-博客园。这篇文章对AdaBoost的公式推导非常明晰、易理解。

3 并行方法

3.1 Bagging

Bagging(Bootstrap Aggreating 自助聚集)是并行式集成算法的最著名代表。

3.1.1 Bagging的思想

基于自助采样法(bootstrap sampling),采样出T个采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合。

自助采样法(bootstrap sampling)——有放回采样:
在这里插入图片描述
对基学习器的预测输出进行结合时,通常:

  • 分类任务,使用简单投票法。若两个类票数一样,则最简单的随机选择一个,也可进一步考察学习器投票的置信度。
  • 回归任务,使用简单平均法。

Bagging的算法描述:
在这里插入图片描述
在这里插入图片描述

3.1.2 Bagging、AdaBoost的不同

  • 标准AdaBoost只适用于二分类任务,处理多分类或回归任务时,须对AdaBoost进行修改。
  • Bagging能不加修改地用于多分类、回归等任务。

参考文献:
Bagging与随机森林算法原理小结-博客园

3.2 随机森林

随机森林(Random Forest)是Bagging的一个扩展变体。
为了提升泛化性能,随机森林采取了两种措施:

  • 使用CART决策树作为基学习器
  • 在决策树的构建过程中引入随机属性
    在使用决策树的基础上,RF对决策树的构建做了改进。
    普通的决策树,会在当前结点的属性集合(假设有d个属性)中选择一个最优属性,然后划分出左、右子树。
    而在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。
    如果k=d,则此时RF的CART决策树和普通的CART决策树没有区别。k越小,则模型越健壮,当然此时对于训练集的拟合程度会变差。也就是说k越小,模型的方差会减小,但是偏差会增大。在实际案例中,一般会通过交叉验证调参获取一个合适的k的值。一般情况下,推荐k=log2d。

4 结合策略

基学习器结合带来的好处:

  • 统计方面
    学习任务的假设空间可能很大,可能有多个假设的性能相同,使用单学习器可能因误选导致泛化性能不佳。
  • 计算方面
    学习算法容易陷入局部极小,多次运行后结合,可降低陷入局部极小的风险。
  • 表示方面
    学习任务的真实假设可能不在当前学习算法所考虑的假设空间中,结合多个学习器,能够扩大假设空间

4.1 平均法

对数值型输出,常用结合策略是平均法,包含简单平均法、加权平均法。加权平均法中,权重是个体学习器的权重。

4.2 投票法

对分类任务,常用结合策略是投票法,包含绝对多数投票法,相对多数投票法、加权投票法。

  1. 绝对多数投票法:得票超过半数的标记。
  2. 相对多数投票法:得票最多的标记。
  3. 加权投票法:权重是个体学习器的权重。

4.3 学习法

训练数据很多时,更强大的结合策略是“学习法”。
学习法思想:将基学习器(初级学习器)的预测结果,通过另一个学习器(次级学习器)进行结合。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 GBDT

梯度提升树(Gradient Boosting Decison Tree, 以下简称GBDT)是Boosting家族中另一个重要的算法。
请前往查看另一篇文章:

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张之海

若有帮助,客官打赏一分吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值