||
关于最终的加权投票表决,如下举例说明:
例子1:
比如在一维特征时,经过3次迭代,并且知道每次迭代后的弱分类器的决策点与发言权,看看如何实现加权投票表决的。
如图所示,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,如下图:
求和可得:
最后进行符号函数转化即可得到最终分类结果:
所以根据上图的直观理解,Adaboost算法通过组合多弱分类器的结果,每个弱分类器如果分类错误率越低那么权重越大,对最终结果的影响越大,就好比对于同一件事情专家认为是对的,和一个小学生认为是错误的,专家的答案的权重更高因为他出错的可能性低,小学生出错的可能性高因此权重低,我们最终综合起来认为这件事情是对的。
例子2:
更加直观的,来看一个更复杂的例子。对于二维也是一样,原始数据分布如下图:
Adaboost分类器试图把两类数据分开,运行一下程序,显示出决策点,如下图:
这样一看,似乎是分开了,不过具体参数是怎样呢?查看程序的输出,可以得到如其决策点与弱分类器权重,在图中标记出来如下:
图中被分成了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。
最终得到如下效果:
点滴分享,福泽你我!Add oil!
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-13 17:26
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社