基本思想
一轮轮训练弱分类器、把被前一轮分错的样本权重调高让后续分类器更重视这些难样本,最后再按各分类器的准确度加权投票把它们组合成一个强分类器。
算法步骤
输入:训练数据集 ,其中,;弱学习器算法;
输出:最终分类器
一、初始化训练数据的权值分布
二、计算参数更新权值
使用具有权值分布的训练数据集学习,得到基本分类器
计算在训练数据集上的分类误差率
也就是:
AdaBoost规定下一轮的权重按下面规则更新(未归一化):
现在解释:
如果分类正确,,所以,指数变成,这是一个小于 1 的数,权重下降。
如果分类错误,,所以,指数变成,这是一个大于 1 的数,权重上升。
引入归一化常数用来保证所有新权重加起来还是
我们现在来证明系数
我们的目标是选择让这一轮整体损失最小,设置损失函数:
我们把拆分成两部分:
所以我们得到:
对求导并设为0得到:
三、构建基本基本分类器的线性组合
得到最终分类器:
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法