【机器学习】boosting集成学习Adaboost
一、什么是Adaboost
AdaBoost,是英文"Adaptive Boosting"(自适应增强)的缩写,由Yoav Freund和Robert Schapire在1995年提出。它的自适应在于:前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器。同时,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率或达到预先指定的
最大迭代次数。
具体说来,整个Adaboost 迭代算法就3步:
1、初始化训练数据的权值分布。
如果有NNN个样本,则每一个训练样本最开始时都被赋予相同的权值:1N\displaystyle \frac{1}{N}N1。
2、训练弱分类器。
具体训练过程中,如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它的权值就被降低;相反,如果某个样本点没有被准确地分类,那么它的权值就得到提高。然后,权值更新过的样本集被用于训练下一个分类器,整个训练过程如此迭代地进行下去。
3、将各个训练得到的弱分类器组合成强分类器。
各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,使其在最终的分类函数中起着较大的决定作用,而降低分类误差率大的弱分类器的权重,使其在最终的分类函数中起着较小的决定作用。换言之,误差率低的弱分类器在最终分类器中占的权重较大,否则较小。
二、图解Adaboost
1、训练弱分类器
2、将弱分类器组合成强分类器
三、Adaboost算法说明
1、初始化训练数据的权值分布:
D1=(w11,...w1i,...w1N)D_1=(w_11,...w1i,...w1N)D1=(w11,...w1i,...w1N)
初始权重分布:
w1i=1N,i=1,2...N\displaystyle w_{1i} =\frac{1}{N},i=1,2...Nw1i=N1,i=1,2...N
假设训练集数据具有均匀的权值分布,即每个训练样本在及分类器的学习中作用相同。这一假设保证第一个基分类器由原始数据学习的到。
2、调整训练数据的权值分布
对m=1,2...Mm=1,2...Mm=1,2...M,使用具有不同权重分布DmD_mDm的训练数据集学习,得到若干个基分类器。
- 使用当前的权值分布D_m的调整训练集权重,进行基分类器Gm(x)G_m(x)Gm(x)的学习。
- 计算基分类器Gm(x)G_m(x)Gm(x)在甲醛训练数据集上的分类误差率:
em=∑i=1NP(Gm(xi)≠yi)=∑Gm(xi≠yi)wmi\displaystyle e_{m} =\sum ^{N}_{i=1} P( G_{m}( x_{i}) \neq y_{i}) =\sum _{G_{m}( x_{i} \neq y_{i})} w_{mi}em=i=1∑NP(Gm(xi)=yi)=Gm(xi=yi)∑wmi
wmiw_{mi}wmi表示第m轮中第iii个实例的权值,∑i=1Nwmi\displaystyle \sum ^{N}_{i=1} w_{mi}i=1∑Nwmi=1,是每个样本的权重分配。Gm)\displaystyle G_{m})Gm)在加权的训练集上的分类错误率是被Gm\displaystyle G_{m}Gm误分类样本的权值之和。由此可以看出数据权重分布DmD_{m}Dm与基分类器Gm\displaystyle G_{m}Gm的分类误差率的关系。 - 计算基本分类器Gm\displaystyle G_{m}Gm的系数αi\displaystyle \alpha _{i}αi。αm\displaystyle \alpha _{m}αm表示Gm\displaystyle G_{m}Gm在最终分类器中的重要性。当em⩽12\displaystyle e_{m} \leqslant \frac{1}{2}em⩽21时,αm⩾0\displaystyle \alpha _{m} \geqslant 0αm⩾0,并且αm\displaystyle \alpha _{m}αm随着eme_mem的减小二增大,所以分类误差率越小的基分雷奇在最终的分类器中最用越大。
αm=12log1−emem\displaystyle \alpha _{m} =\frac{1}{2} log\frac{1-e_{m}}{e_{m}}αm=21logem1−em - 更新训练集的权重分布为下一轮作准备。
由此可知,被基分类器Gm\displaystyle G_{m}Gm误分类样本的权值得以扩大,而被正确分类样本的权值却得以缩小。由αm=12log1−emem\displaystyle \alpha _{m} =\frac{1}{2} log\frac{1-e_{m}}{e_{m}}αm=21logem1−em得知,误分类样本的权值被放大了e2αm=1−emem\displaystyle e^{2\alpha _{m}} =\ \frac{1-e_{m}}{e_{m}}e2αm= em1−em倍。因此,误分类样本在下一轮学习中其更大的作用。
Adaboost特点一:不改变所给的训练数据而不断改变训练数据权值的分布,使得训练数据在基分类器中起不同的作用。
3、线性组合f(x)\displaystyle f( x)f(x)实现M个基分类的加权投票。
系数αm\displaystyle \alpha _{m}αm表示了基本分类器Gm\displaystyle G_{m}Gm的重要性。这里αm\displaystyle \alpha _{m}αm之和并不为1。f(x)\displaystyle f( x)f(x)的符号决定实例xxx的类别,f(x)\displaystyle f( x)f(x)的绝对值表示分类的确信度。
Adaboost特点二:利用基分类器的线性组合构建最终分类器。
参考文献:李航《统计学习方法》
【机器学习】boosting集成学习Adaboost相关推荐
- 【机器学习】集成学习--AdaBoost
1. 概述 AdaBoost是英文"Adaptive Boosting"(自适应增强)的缩写,它的自适应在于:前一个基本分类器被错误分类的样本的权值会增大,而正确分类的样本的权值会 ...
- 【机器学习】集成学习—Boosting—GBM(Gradient Boosting Machine)解析
[机器学习]集成学习-Boosting-GBM(Gradient Boosting Machine)解析 文章目录 [机器学习]集成学习-Boosting-GBM(Gradient Boosting ...
- 机器学习:集成学习(ensemble),bootstrap,Bagging,随机森林,Boosting
文章目录 集成学习的朴素思想 Bootstrap理论 Bagging 随机森林 Boosting 集成学习的朴素思想 集成学习基于这样的思想:对于比较复杂的任务,综合许多人的意见来进行决策会比&quo ...
- 集成学习-Boosting集成学习算法GBDT
GBDT算法的核心为:先构造一个(决策)树,然后不断在已有模型和实际样本输出的残差上再构造一颗树,依次迭代. 目录 Decistion Tree(决策树) Gradient Boosting(梯度提升 ...
- 集成学习—Adaboost(理解与应用)
在上一篇集成学习-Adaboost(论文研读)中已经将Adaboost的原始论文精读了一遍,这篇博客主要是对Adaboost算法(主要是二分类的Adaboost)进行更深入的理解和推导,以及尝试下关于 ...
- [机器学习] Boosting算法1 --- AdaBoost
[机器学习] Boosting算法1 --- AdaBoost [机器学习] Boosting算法2 --- GBDT [机器学习] Boosting算法3 --- XGBoost [机器学习] Bo ...
- 集成学习—Adaboost(论文研读)
这篇博客主要是对Adaboost算法的论文精度,包括翻译以及自己的一些基本理解,如果对原论文不感兴趣,只是想快速理解与应用,可以参考另外一篇集成学习-Adaboost(理解与应用) Adaboost是 ...
- 【机器学习】集成学习与模型融合方法举例
[机器学习]集成学习与模型融合方法举例 文章目录 1 概述1.1 什么是集成学习 2 CrossValidation 交叉验证 3 stacking 4 Voting投票器 5 Bagging 1 概 ...
- 【机器学习】集成学习投票法:投票回归器(VotingRegressor) 投票分类器(VotingClassifier)
前言 投票回归器和投票分类器都属于集成学习.在[机器学习]集成学习基础概念介绍中有提到过,集成学习的结合策略包括: 平均法.投票法和学习法.sklearn.ensemble库中的Voting Clas ...
最新文章
- pandas使用pd.concat横向合并多个dataframe实战:多个dataframe的横向表拼接(行对齐)、多个dataframe的横向表拼接(指定join参数、交集还是并集)
- JavaScript基础07-day09【嵌套for循环、break和continue、对象、数据类型、对象字面量、函数】
- python+正则+多进程爬取糗事百科图片
- 解构产品经理的技术思维
- 将sql 结果导出到文件
- [RN] React Native 解决 使用 阿里巴巴 矢量图标库 iconfont 图标不垂直居中问题
- 月薪三万,依然买不起房
- 360度舵机和180度舵机控制方法小结(转)
- 计算机机房使用多大的光纤引入,弱电施工如何确定光纤使用的芯数
- Sakai 2.6 配置
- 大数据学习入门到实战教程,精心整理万字长文入门第一章,老奶奶看了都说学会了
- android 跳转京东app,第三方应用跳转到京东app
- python中iter函数_Python基础:iter函数的两个参数
- 10.cocos2d坐标系
- 剑指offer T51数组中的逆序对
- 小程序使用本地图片报错问题 Failed to load local image resource
- 如何进行隐私协议测试
- 淘宝店铺层级每个月更新么?如何提高淘宝店铺层级?
- 第1章 蓝牙降噪耳机简述
- 不同坐标系BIM模型导出参数配置