NJU1healer的个人博客分享 http://blog.sciencenet.cn/u/NJU1healer

博文

AdaBoost

已有 4055 次阅读 2020-9-12 10:35 |个人分类:机器学习|系统分类:科研笔记

(一)原理+实例

Adaboost算法原理分析和实例(简明易懂)

Adaboost(自适应提升树)算法原理

(二)理解(画图)

最新AdaBoost算法原理与理解

(三)最终组合的强分类器权值及符号函数的应用示意

Adaboost算法的理解

       关于最终的加权投票表决,如下举例说明:

例子1:
       比如在一维特征时,经过3次迭代,并且知道每次迭代后的弱分类器的决策点与发言权,看看如何实现加权投票表决的。

image.png

如图所示,3次迭代后得到了3个决策点,
最左边的决策点是小于(等于)7的分为+1类,大于7的分为-1类,且分类器的权重为0.5;
中间的决策点是大于(等于)13的分为+1类,小于13分为-1类,权重0.3;
最右边的决策点是小于(等于19)的分为+1类,大于19分为-1类,权重0.4。
       对于最左边的弱分类器,它的投票表示,小于(等于)7的区域得0.5,大与7得-0.5,同理对于中间的分类器,它的投票表示大于(等于)13的为0.3,小于13分为-0.3,最右边的投票结果为小于(等于19)的为0.4,大于19分为-0.4,如下图:

image.png

求和可得:

image.png

最后进行符号函数转化即可得到最终分类结果:

image.png

       所以根据上图的直观理解,Adaboost算法通过组合多弱分类器的结果,每个弱分类器如果分类错误率越低那么权重越大,对最终结果的影响越大,就好比对于同一件事情专家认为是对的,和一个小学生认为是错误的,专家的答案的权重更高因为他出错的可能性低,小学生出错的可能性高因此权重低,我们最终综合起来认为这件事情是对的。

例子2:

       更加直观的,来看一个更复杂的例子。对于二维也是一样,原始数据分布如下图:

image.png

       Adaboost分类器试图把两类数据分开,运行一下程序,显示出决策点,如下图:

image.png

       这样一看,似乎是分开了,不过具体参数是怎样呢?查看程序的输出,可以得到如其决策点与弱分类器权重,在图中标记出来如下:

image.png

图中被分成了6个区域,每个区域对应的类别就是:
1号:sign(-0.998277+0.874600-0.608198)=-1
2号:sign(+0.998277+0.874600-0.608198)=+1
3号:sign(+0.998277+0.874600+0.608198)=+1
4号:sign(-0.998277-0.874600-0.608198)=-1
5号:sign(+0.998277-0.874600-0.608198)=-1
6号:sign(+0.998277-0.874600+0.608198)=+1
其中sign(x)是符号函数,正数返回1负数返回-1。
最终得到如下效果:
image.png

点滴分享,福泽你我!Add oil!




https://blog.sciencenet.cn/blog-3428464-1250249.html

上一篇:Matlab的xlsread数据读取问题
下一篇:仿射变换
收藏 IP: 211.162.81.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

全部作者的其他最新博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-13 17:26

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部