Boosting思想:
Boosting方法不是一种特定的学习方法,而是一种在已有的学习方法基础上进行“投票”的方式。具体说来,它是对已有的若干分类器(可谓同类或者异类,且分类效果不死很好,比较弱)进行加权求和得到最终的分类器。虽然从理论上来说, 任何机器学习方法都可以作为Boosting 方法的弱学习器,在实际中,Boosting的弱规则常采用基于规则的方法。
Boosting通过关注弱规则的错误而逐渐组合成强规则,所以它是一种错误驱动的方法。这其中,AdaBoost是Boosting方法中最常用的一种。如下是最初的AdaBoost算法的思想:
具体说来:
给定带有标签的N个训练样本,初始化时每个样本的权重设为1/N,对一下操作循环T次
1、使用给定算法训练分类器ht,注意使用到了样本的权重,即不同的权重的样本,分类器对待态度不同
2、计算该分类器ht的错误率error
3、根据上面计算的错误率error根据给定公式为该分类器设置权重at
4、根据该分类器的权重更新全部训练样本的权重 (注意给样本权重归一化,即所有样本的权重加起来和为1)
循环结束后,根据公式得到最终的分类器
注意此处的ht的分类效果不可太好,如果太好,最后boosting后的效果反而不如ht本身的分类结果。
选择标准:就SVM分类器而言:其参数(方差)不可取太小,分类正确率在50%左右比较合适。