《统计学习方法》第八章提升方法学习笔记

来源:互联网 发布:centos 安装 nginx 编辑:程序博客网 时间:2024/05/16 19:36

提升方法需要解决两个问题:一是在每一轮如何改变训练数据的权值或概率分布;二是如何将弱分类器组合成一个强分类器。对于第一个问题,AdaBoost算法是提高那些前一轮弱分类器错误分类样本的权重,而降低那些被正确分类样本的权重,这使得那些没有被正确分类的样本由于其权重的加大而受到后一轮的弱分类器的更大关注。对于第二个问题,AdaBoost采取加权多数表决的方法,即加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用,减小分类误差率大的若分类器的权值,使其在表决中起较小的作用。

一、AdaBoost算法

输入:训练数据集T={(x1,y1),(x2,y2),,(xN,yN)},其中xiRn,yi{+1,1}
输出:最终分类器G(x)
(1)初始化训练数据的权值分布

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

这里初始情况假设训练数据集具有均匀的权值分布。
(2)对m=1,2,,M(按照以下步骤逐个训练出M个分类器,循环以下操作Gm(x)emαmDm+1

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

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

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

wmi表示第m个分类器训练时用到的的第i个样本的权重,分类误差率是被Gm(x)误分类样本的权值之和。
(c)计算Gm(x)的系数
αm=12log1emem

这里的对数是自然对数,当em12时,αm0,并且αm随着em的减小而增大,分类误差率小的基本分类器在最终分类器中的作用越大。
(d)更新训练数据集的权值分布
Dm+1=(wm+1,1,,wm+1,i,,wm+1,N)wm+1,i=wmiZmexp(αmyiGm(xi)),i=1,2,,N

这里,Zm是规范化因子
Zm=i=1Nwmiexp(αmyiGm(xi))

它使Dm+1成为一个概率分布。不改变训练集,不断改变训练数据权重的分布,使得训练数据作用不同。

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

f(x)=m=1MαmGm(x)

得到最终分类器
G(x)=sign(f(x))=sign(m=1MαmGm(x))

例子
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

二、前向分步算法与加法模型

0 0
原创粉丝点击