机器学习笔记2:AdaBoost算法原理和推导详解

1. 相关概念:

(1)集成算法(ensemble)或元算法(meta-algorithm): 是对其他算法进行组合的一种方式;可以是不同的算法集成,也

        可以是同一算法在不同设置下的集成,还可以是数据集不同部分分配给不同分类器之后的集成。

(2) 弱分类器:”弱“意味着分类器的性能比随机猜测要好,但是也不会好太多。

(3) 错误率 ε: ε = 未被正确分类的样本数目 / 所有样本数目


2. Bagging: 基于数据随机重抽样的分类器构建方法

       自举汇聚法 (bootstrap aggregating), 也称为bagging方法,是在原始数据集选择S次后得到S个新数据集的一种技术。新数据集和原始数据集大小相等,每个数据集都是通过在原始数据集中随机选择一个样本进行替换得到的。(有的地方认为bagging中的数据集是放回抽样得到的,比如要得到一个大小为n的新数据集,该数据集中的每个样本都是在原始数据集中随机抽样即有放回抽样得到的)。

       在S个数据集建好之后,将某个学习算法分别作用于每个数据集就得到了S个分类器。当我们要对新数据进行分类时,就可以应用这S个分类器进行分类。与此同时,选择分类器投票结果中最多的类别作为最后的分类结果(并行训练,投票法)。


3. Boosting: 是一种与bagging很类似的技术。

       在这两者之中,所使用的多个分类器的类型都是一致的 (如都使用决策树),但是在boosting中,不同的分类器是通过串行训练而获得的,每个新分类器根据已训练出来的分类器的性能进行训练。boosting是通过集中关注已有被分类器错分的那些数据集来获得新的分类器。其分类结果是根据所有分类器的加权求和结果的,因此boosting (一个数据集,串行训练,加权求和) 和 bagging (S个数据集,并行训练,投票法)不太一样。

      bagging中的分类器权重是相等的 (相当于投票法), 而boosting中的分类器权重并不相等,每个权重代表的是其对应分类器在上一轮迭代中的成功度。boosting方法有多个版本,现在重点介绍其中一个最流行的版本AdaBoost。


4. AdaBoost: 是adaptive boosting (自适应boosting)的缩写。

        AdaBoost的运行过程如下:训练数据中的每个样本,并赋予其一个权重,这些权重构成向量D。一开始,这些权重都初始化成想等值。首先在训练数据上训练出一个弱分类器并计算该分类器的错误率,然后在同一数据集上再次训练弱分类器。在分类器的第二次训练当中,将会重新调整每个样本的权重,其中第一次分对的样本的权重将会降低,而第一次分错的样本的权重将会提高。(迭代样本的权重

      为了从所有弱分类器中得到最终的分类结果,AdaBoost为每个分类器都分配了一个权重值alpha, 这些alpha是基于每个弱分类器的错误率ε进行计算的。(弱分类器权重的确定

       alpha的计算公司:α = 0.5 * ln[(1-ε) / ε]

很明显,当错误率ε越大时,分类器的权重α就越小。

计算出alpha后,可以对权重向量进行更新,以使得那些正确分类的样本权重降低,错误样本权重升高。计算方法如下:

(1)如果某个样本被正确分类,那么该样本的权重更改为:

             Di(t+1) = Di(t)e-α / sum(D)

(2)如果某个样本被正确分类,那么该样本的权重更改为:

           Di(t+1) = Di(t)eα / sum(D)

算出D之后,AdaBoost又开始进入下一轮迭代。AdaBoost算法会不断重复训练和调整权重的过程,知道训练错误率为0或者弱分类器的数目达到用户的指定值为止。(每迭代一次就新增一个弱分类器,确定此弱分类器的权重,迭代一次样本权重


5. 弱分类器错误率和样本权重迭代公式的证明

(1)分类器权重alpha公式的推导


(2)样本权重矩阵D迭代公式的推导 :待补充。



参考文献:机器学习实战,机器学习(周志华)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值