白话机器学习算法(二十二)Adaboost
Adaboost是一种弱分类器转化为强分类器的算法,其对于每个弱分类器赋予一个权重,最终将这些带权弱分类器线性组合成一个强分类器。
问题就转化为如何获得权值?
基本的步骤如下
Step1:为每个样本赋予一个权值
Step2:利用训练数据第一个弱分类器
Step3:得到第一个弱分类器的分类误差率
Step4:利用分类误差率得到第一个弱分类器的权重
Step5:对样本的权重进行更新
Step6:训练下一个弱分类器,直到都训练完毕
Step7:将带权弱分类器进行线性组合得到一个强分类器
这里有人肯定会困惑,对于样本赋予一定的权重是什么意思?对于分类器赋予权重尚且可以理解为一定的投票机制,对样本为啥要赋予权重?
Adaboost是数据驱动,错误驱动的分类器,某种意义有类似于神经网络的权值更新方法。
