美文网首页
Adaboost原理

Adaboost原理

作者: 阿童89 | 来源:发表于2018-10-28 23:59 被阅读0次

AdaBoost的基本步骤是调整每次分错样本的权值
训练过程中,如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它的权值就被降低;相反,如果某个样本点没有被准确地分类,那么它的权值就得到提高。然后,权值更新过的样本集被用于训练下一个分类器,整个训练过程如此迭代地进行下去
一、算法步骤
1、初始化训练数据的权值分布
设训练数据集T={(x_{1},y_{1}),(x_{2},y_{2})...(x_{N},y_{N})}
c初始化权值分布D_{1}:
D_{1}=(w_{11},w_{12}...w_{1i}...,w_{1N}),w_{1i}=1/N

2、使用具有权值分布D_{m}的训练数据集进行学习,得到基分类器
G_{m}(x), 例如得到如下基分类器:
G_{m}(x)=\left\{\begin{matrix} 1 & x>2.5\\ -1& x<=2.5 \end{matrix}\right.

3、计算G_{m}(x)在训练数据集上的分类误差率:
e_{m}=P(G_{m}(x_{i})\neq y_{i} )=\sum_{i=1}^{N}I(G_{m}(x_{i})\neq y_{i})
其中:I(G_{m}(x_{i})\neq y_{i})=\left\{\begin{matrix} 1 & G_{m}(x_{i})\neq y_{i}\\ 0& G_{m}(x_{i})= y_{i} \end{matrix}\right.

4、计算G_{m}(x)的系数:
\alpha_{m}=\frac{1}{2}log\frac{1-e_{m}}{e_{m}}

5、更新训练数据集的权值分布
D_{m+1}=(w_{m+1,1},w_{m+1,2}...w_{m+1,i}...,w_{m+1,N})
w_{m+1,i}=\frac{w_{mi}}{Z_{m}}exp(-\alpha_{m}y_{i}G_{m}(x_{i}))
注:
分类器之所以会存在,e_{m}大多数情况都小于0.5,即\frac{1-e_{m}}{e_{m}}>1,则α_{m}>0,如果分类错了,y_{i}G_{m}<0,则-\alpha_{m}y_{i}G_{m}(x_{i})>0,则exp(-\alpha_{m}y_{i}G_{m}(x_{i}))>1,最终的结果是w_{m+1,i}>w_{mi},这样保证了分错的样本权重变大,分对的样本权重变小
其中:
Z_{m}=\sum_{i=1}^{N}w_{mi}exp(-\alpha_{m}y_{i}G_{m}(x_{i}))
他的目的是是使得\sum_{i=1}^{N}w_{m+1,i}=1,也使得D_{m+1}成为一个概率分布

6、利用更新权值后的训练样本训练新的基分类器,重复以上步骤

7、构建基本分类器线性组合:
f(x)=\sum_{m=1}^{M}\alpha_{m}G_{m}(x)

8、

相关文章

  • 04 集成学习 - Boosting - AdaBoost算法构

    03 集成学习 - Boosting - AdaBoost算法原理 十、AdaBoost算法构建 上一章最后说明了...

  • Adaboost原理

    AdaBoost的基本步骤是调整每次分错样本的权值训练过程中,如果某个样本点已经被准确地分类,那么在构造下一个训练...

  • Adaboost算法原理

    还是秉持笔者一贯的文风,以通俗易懂为目标,其中大量的数学工作,喜欢证明的朋友自己去看。 1.什么是Adaboost...

  • 传统机器学习笔记 - GBDT(二)

    学习GBDT的原理和细节(二) 在GBDT的原理之后,拓展GBDT相关的细节,包括和Adaboost的异同,以及G...

  • 华为二面

    2020.3 贝叶斯的原理 讲一种熟悉的机器学习模型的原理 AdaBoost 结果的加权平均,“加权”是怎么实现的...

  • 2019-01-06[Stay Sharp] AdaBoost

    What is AdaBoost? AdaBoost, short for Adaptive Boosting, ...

  • 集成学习(3)boosting代表——Adaboost

    1 Adaboost原理 回顾前文集成学习(1)模型误差与集成学习中对boosting的定义: 2.boostin...

  • 第8章 Adaboost算法

    内容 一、Adaboost简介 二、Adaboost算法过程 三、Adaboost算法的训练误差分析 四、Adab...

  • 提升方法

    提升方法 提升方法 AdaBoost 算法 AdaBoost算法的训练误差分析 AdaBoost算法的解释 提升树...

  • AdaBoost | 算法实现

    在这篇文章中,我们一起学习了AdaBoost算法的原理,今天我们在python3的环境下,根据原理,自己写一段代码...

网友评论

      本文标题:Adaboost原理

      本文链接:https://www.haomeiwen.com/subject/teumtqtx.html