机器学习-AdaBoost算法

来源:互联网 发布:工业画图软件 编辑:程序博客网 时间:2024/06/05 08:47

提升方法AdaBoost算法

一、提示方法的基本思路

提示方法基于这样一种思想:对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。对于分类问题而言,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类规则(强分类器)容易很多,提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(又称为基本分类器),然后组合这些弱分类器,构成一个强分类器,大多数的提升方法都是改变训练数据的概率分布(训练数据的权值分布),针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。这样,对于提升方法来说,有两个问题需要回答:一是在没一轮如何改变训练数据的权值或概率分布;二是如何将弱分类器组合成一个强分类器。关于第一个问题,Adaboost的做法是:提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值;至于第二个问题,即弱分类器的组合,Adaboost采取加权多数表决的方法,具体是,加大分类误差率小的弱分类器的权值,减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。

二、算法步骤





三、算法的改进

Adaboost在训练过程中,分类困难样本的权重会呈指数增长,产生“退化问题”,Adaboost训练过程所需时间过长,造成应用系统拓展困难,不够灵活,因此对Adaboost的修改主要集中在权值更新方法和训练效率上。

(1)      RADA算法:重新设计Adaboost的权值更新方法,比传统Adaboost更加稳定,有效抑制错误分类样本权值的增加。

(2)      Adaboost并行算法:将Adaboost训练过程分为两个阶段,第一阶段和原来算法一样,经过多轮训练,获得一个较为可靠的样本分布w;第二阶段采用并行方法,提高训练效率,在训练中不在对样本权值进行更新,而采用统一的w。

 

0 0