比较全面的Adaboost算法总结(一)

浏览: 1700

作者简介

 张磊:从事AI医疗算法相关工作
个人微信公众号:机器学习算法那些事(微信ID:zl13751026985)

前言

集成学习的Boosting算法串行生成多个弱学习器并按一定的结合策略生成强学习器,AdaBoost算法是Boosting系列算法中的一种,本文详细总结了AdaBoost算法的相关理论。

目录

1. Boosting算法基本原理

2. Boosting算法的权重理解

3. AdaBoost的算法流程

4. AdaBoost算法的训练误差分析

5. AdaBoost算法的解释

6. AdaBoost算法的正则化

7. AdaBoost算法的过拟合问题讨论

8. 总结

Boosting的算法流程

Boosting算法是一种由原始数据集生成不同弱学习器迭代算法,然后把这些弱学习器结合起来,根据结合策略生成强学习器。

如上图,Boosting算法的思路:

(1)样本权重表示样本分布,对特定的样本分布生成一个弱学习器。

(2)根据该弱学习器模型的误差率e更新学习器权重α。

(3)根据上一轮的学习器权重α来更新下一轮的样本权重

(4)重复步骤(1)(2)(3),结合所有弱学习器模型,根据结合策略生成强学习器。

Boosting算法的权重理解

Boosting算法意为可提升算法,可提升方法具体表现在(一)改变训练数据的概率分布(训练数据的权值分布),(二)弱分类器权重的生成。理解这两个原理是理解AdaBoost算法的基础。

1. 训练数据的权重理解

我们对癌症病人和健康人作一个定性的分析,目的是理解Boosingt算法训练数据权重更新的思想。

如下图为分类器G(1)的分类情况,假设样本数据的权重相等。

癌症误分类成健康人的结果很可能是丧失生命,因此这种误分类情况肯定不能出现的,若我们对该误分类点的权重增加一个极大值,以突出该样本的重要性,分类结果如下图:

         

因此,增加误分类样本的权重,使分类器往该误分类样本的正确决策边界方向移动,当权重增加到一定值时,误分类样本实现了正确分类,因为训练样本的权重和是不变的,增加误分类样本权重的同时,也降低了正确分类样本的权重。这是Boosting算法的样本权重更新思想。

2. 弱学习器的权重理解

Boosting算法通过迭代生成了一系列的学习器,我们给予误差率低的学习器一个高的权重,给予误差率高的学习器一个低的权重,结合弱学习器和对应的权重,生成强学习器。弱学习器的权重更新是符合常识的,弱学习器性能越好,我们越重视它,权重表示我们对弱学习器的重视程度,即权重越大,这是Boosting算法弱学习器权重的更新思想。

AdaBoost的算法流程

第一节描述了Boosting算法的流程,但是没有给出具体的算法详细说明:

(1)如何计算弱学习器的学习误差;

(2)如何得到弱学习器的权重系数α;

(3)如何更新样本权重D;

(4)使用何种结合策略;

我们从这四种问题的角度去分析AdaBoost的分类算法流程和回归算法流程。第k轮的弱分类器为,且训练数据集在第K轮训练样本的权重分布为:

1. AdaBoost的分类算法流程

我们假设是二分类问题,输出为{-1,1}。第K轮的弱分类器为

1) 计算弱分类器的分类误差

在训练集上的加权误差率为:

2) 弱学习权重系数α的计算

由上式可知,学习器误差率越小,则权重系数越大。

3) 下一轮样本的权重更新

 其中Zk是规范化因子,使每轮训练数据集的样本权重和等于1。  

当样本处于误分类的情况,,则,该误分类样本的权重增加;当样本是处于正确分类的情况,,则,该正确分类样本的权值减小。

4) 结合策略,构建最终分类器为:


2. AdaBoost的回归算法流程

1) 计算弱学习器的回归误差率:

a) 计算训练集上的最大误差:

b) 计算每个样本的相对误差:

    如果是线性误差,则

    如果是平方误差,则

      如果是指数误差,则

            

  c) 计算回归误差率

(2) 弱学习权重系数α的计算

(3)下一轮样本的权重更新

   

Zk是规范化因子,使样本权重的和为1,

 

(4)结合策略,构建最终学习器为:

                

 AdaBoost算法的训练误差分析

过程就不推倒了,可参考李航《统计学习方法》P142~P143,这里就只给出结论。

AdaBoost的训练误差界:


由上式可知AdaBoost的训练误差是以指数速率下降的,即AdaBoost算法随着迭代次数的增加,训练误差不断减小,即模型偏差显著降低 。

本文倾向于入门AdaBoost算法,下一篇文章会发散思维,介绍AdaBoost算法的相关性质,

参考:

https://www.cnblogs.com/pinard/p/6133937.html

李航《统计学习方法》


- END -

往期推荐:

公众号后台回复关键词学习

回复 免费                获取免费课程

回复 直播                获取系列直播课

回复 Python           1小时破冰入门Python

回复 人工智能         从零入门人工智能

回复 深度学习         手把手教你用Python深度学习

回复 机器学习         小白学数据挖掘与机器学习

回复 贝叶斯算法      贝叶斯与新闻分类实战

回复 数据分析师      数据分析师八大能力培养

回复 自然语言处理  自然语言处理之AI深度学习

推荐 0
本文由 人工智能爱好者社区 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册