AdaBoost算法

一、算法思想

对于分类问题而言,给定一个训练数据集,求比较粗糙的分类规则要比求精确的分类规则容易得多。集成学习就是从弱学习算法出发,反复学习,得到一系列弱分类器,若后组合这些弱分类器,构成一个强分类器。大多数的集成学习方法都是改变训练数据集的概率分布,针对不同的训练数据分布调用弱学习算法学习一系列分类器。

对于集成学习方法有两个问题需要回答:1. 在每一轮如何改变训练数据的权值或概率分布;2. 若何将弱分类器组合成强分类器。

对于第一个问题,AdaBoost的做法是,提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。这样一来,那些没有得到正确分类的数据,由于权值的加大而受到后一轮弱分类器的更大关注。至于第二个问题,AdaBoost采取加权多数表决的方法,具体地,加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用。减小分类误差率较大的弱分类器的权值,使其在表决中起较小的作用。

AdaBoost的巧妙之处就在于它将这些想法自然且有效地实现在一种算法里。

二、AdaBoost算法

输入:训练数据集T=(x1,y1),,(xn,yn),其中 xiRn,yi{+1,1} ;弱学习算法

输出:最终分类器G(x)

(1)初始化训练数据的权值分布

D1=(w11,, w1N),w1i=1N,i=1,2,,N

(2)对 M=1,2,,m (M表示第几轮)

​ (a)使用具有权值分布Dm的训练数据集学习,得到基本分类器

Gm(x):X{1,+1}

​ (b)计算Gm(x)在训练数据集的上的分类误差率
em=P(Gm(xi)!=yi)=i=1NwmiI(Gm(xi)!=yi)

​ (c)计算Gm(x)的系数
am=12ln1emem

​ (d)更新训练数据集的权值分布


Dm+1={wm+1,1,,wm+1,N}wm+1,i=wmiZmeamyiGm(xi)

​ 这里Zm是规范化因子
Zm=i=1NwmieamyiGm(xi)

​ 使得Dm+1成为一个概率分布

(3)构建基本法分类器的线性组合

G(x)=sign(m=1MamGm(x))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值