白话机器学习算法(二十二)Adaboost

Adaboost是一种弱分类器转化为强分类器的算法,其对于每个弱分类器赋予一个权重,最终将这些带权弱分类器线性组合成一个强分类器。

问题就转化为如何获得权值?

基本的步骤如下

Step1:为每个样本赋予一个权值

Step2:利用训练数据第一个弱分类器

Step3:得到第一个弱分类器的分类误差率

Step4:利用分类误差率得到第一个弱分类器的权重

Step5:对样本的权重进行更新

Step6:训练下一个弱分类器,直到都训练完毕

Step7:将带权弱分类器进行线性组合得到一个强分类器

这里有人肯定会困惑,对于样本赋予一定的权重是什么意思?对于分类器赋予权重尚且可以理解为一定的投票机制,对样本为啥要赋予权重?

Adaboost是数据驱动,错误驱动的分类器,某种意义有类似于神经网络的权值更新方法。

 
经验分享 程序员 微信小程序 职场和发展