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

栏目: 编程工具 · 发布时间: 5年前

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

作者简介

张磊:从事AI医疗算法相关工作

个人微信公众号:机器学习算法那些事(微信ID:zl13751026985)

前言

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

目录

1. Boosting算法基本原理

2. Boosting算法的权重理解

3. AdaBoost的算法流程

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

5. AdaBoost算法的解释

6. AdaBoost算法的正则化

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

8. 总结

Boosting的算法流程

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

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

如上图,Boosting算法的思路:

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

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

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

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

Boosting算法的权重理解

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

1. 训练数据的权重理解

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

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

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

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

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

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

2. 弱学习器的权重理解

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

AdaBoost的算法流程

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

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

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

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

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

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

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

1. AdaBoost的分类算法流程

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

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

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

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

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

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

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

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

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

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

2. AdaBoost的回归算法流程

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

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

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

如果是线性误差,则

如果是平方误差,则

如果是指数误差,则

c) 计算回归误差率

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

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

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

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

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

AdaBoost算法的训练误差分析

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

AdaBoost的训练误差界:

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

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

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

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

参考:

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

李航《统计学习方法》

- END -

往期推荐:

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

回复  免费

  获取免费课程

回复  直播                 获取系列直播课

回复  Python             1小时破冰入门Python

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

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

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

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

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

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

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

本文由人工智能爱好者社区 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。

转载、引用前需联系作者,并署名作者且注明文章出处。

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

UML风格

UML风格

布格勒 / 袁峰 / 2008-12 / 35.00元

《UML风格(第2版)(英汉对照)》给出了一系列有效提高团队生产效率的编程风格的原则,描述了创建简洁、易于理解的UML图的标准和指南,涉及类图、定时图、用例图、组合结构图、顺序图、交互概览图、活动图、对象图、状态图、包图、通信图、部署图和组件图等内容。著名UML专家Scott W.Ambler描述了创建UML图的标准和指南,以帮助建模人员创建简明而易于理解的UML 图形。 《UML风格(第2......一起来看看 《UML风格》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具