机器学习:集成化处理--Boosting与Bagging

导言:

       在学习了机器学习的集成学习之Boosting和Bagging算法思想之后,写了这篇学习笔记,以供分享。

       集成学习架构示意图可以用下图表示:

 

       在统计学习方法中,集成学习(ensemble learning)是将多个基学习器(base learners)进行集成,以此来达到获得相比较使用单一学习器效果更优的强学习器,达到任意小的错误率的目标。(即“三个臭皮匠赛过诸葛亮”)

 

Boosting

       那么提提升方法(boosting)的示意图可以表示如下:

       上面的解释意在说明,提升方法(boosting)是通过改变训练数据的分布来训练不同的若学习器,再将多个弱学习器加权组合成一个强学习器。每当一个新的弱学习器加入到模型中后,数据的权重都会再一次被重新分配(reweighting),被错误分类的样本占据更大的权重,同时被正确分类的样本权重被相应的削减,这就保证了未来的弱学习器会更多的以前车之覆作为后者之鉴。这种类似于决策树的广义可加模型原理一样。

       那么既然训练数据都是一样的,如何在每个轮次中选择不同的权重分配就成了重要问题。

自适应提升算法(AdaBoost: adaptive boosting)

这个是Boosting算法家族中最成功的的提升算法之一,它的权重分配策略是这样的:我们以二分类为例子,首先给每个样本赋予相同的权重w_i​=1/N,在用他们来训练弱分类器,并计算训练误差,根据训练误差可以计算出权重调整的系数,并对每个样本的权重做出如下调整:

将分类错误的样本标记为1,分类正确的样本标记为-1.之所以这么标记,是为了放大误分类样本的权重。新计算出的权重经过归一化处理后,就可以用来继续训练下一个若分类器,知道集成初强分类器为止。所以最终强分类器的数学表达式为:

       如果进一步的思考,将二分类任务进行推广,那么上述表达式中的符号函数可以去掉,进而得到的就是一个进行了基函数扩展的线性回归模型。若再进一步思考,将损失函数用指数函数来替代,即:

那么这样就可以得到基扩展的AdaBoost模型计算的就是样本属于某个类别的对数几率。此时AdaBoost就是加强版的逻辑回归。

       提升方法的重点在于取新模型的优点来弥补旧模型的缺陷,以此来达到降低偏差的效果,尽可能得获得无偏的估计。模型之间是在相互依赖的。如果去除对依赖性的限制,使用的相互独立的模型哎实现,这就是下面将要介绍的一种典型的方法----装袋法(Bagging)。

Bagging

       装袋法(Bagging)是自助聚合(Boosttrap Aggregating)的简称,是模型均衡的一种手段。先说下在概率论中的这样一个定理:如果对N个相互独立且方差相同的高斯分布取均值,得到的新分部的方差就会变成原始方差1/N。那么基于这样的理论,如果我们从训练数据集中利用重采样(resampling)抽取出若干个子集,利用每个子集分别建立预测模型,再对着多个预测值求平均,就能够降低统计学习方法的方差。因为装袋法并没有降低偏差的效果,因此也就没法提升预测的准确性。所以在选择学习器的时候,应当选择以偏差较小的优先。

       这样的性质说明装袋法对方差的降低实际上是一种平滑的效应:模型在不同的数据子集上波动越大,装袋法的效果就越好。装袋法的好处就在于能够降低高阶项的方差,同时又不会影响到线性项的输出。所以如果弱学习器是多项式这类高阶模型,或者是决策树这类容易受样本扰动影响的模型,用Bagging方法来集成就是不错的选择。

       从贝叶斯的角度看,装袋法的输出是近似于后验最优的预测,但这需要弱学习器满足次序正确的条件。还是以分类问题为例,如果给定的样本 x 属于类别 y 的概率最大,那么次序正确(order-correct)的分类器 h(⋅) 就应该以最大的概率把 x 划分到 y 中。可以证明,这种情况下装袋法能够达到的最高精度就是按照后验概率对样本进行划分,此时模型的错误率就是贝叶斯错误率(Bayes error rate)

       在集成学习的方法之中,决策树是集成学习最青睐的学习器,无论是Boosting还是Bagging的代表性算法,都是在决策树的基础之上发展而来。下一篇博客我就写一写将原始决策树算法和集成化的决策树算法应用在线性不可分的曼城 - 西布朗数据集上,观察其分类的结果。

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值