《统计学习方法》笔记08:boosting(1)

1. foreword

第一次看书上boosting算法,几个简单的模型组合起来,就可以将非线性划分的数据完美地划分开来,颇为神奇。回想起TSA比赛中使用的GBDT(梯度提升决策树),lightGBM(轻量级梯度提升机),这些名词中闪耀着“梯度”“提升”“决策树”,这说明要理解boosting这一堆东西,得从这几个点入手。李航老师的书的第8章着重讲了Adaboost算法和提升树,西瓜书讲的点稍多。

2. 提升方法思路

boosting方法是一种常用的统计学习方法,在分类问题中,通过改变训练样本的权重,学习多个分类器,并将这些分类器线性组合,能够提高分类性能。

注意,另一种策略方法是bagging。对数据集采样生成若干个不同子集,从每个子集中训练一个基学习器。另一篇另说。总之这两种方法统一为集成学习

本节专看boosting。对于复杂任务,将多个专家的判断进行适当综合,要比其中任何一个专家单独判断好,即三个臭皮匠顶个诸葛亮。

如果一个问题,在概率近似正确学习的框架中,存在一个多项式学习算法可学习它,并且正确率很高,称其是强可学习的;相反,若多项式算法学习的正确率仅比随机猜测好,那么称其是弱可学习的。可证明:强可学习等价于弱可学习。

这说明:如果我们发现了弱学习算法,那么理论上可以找到强学习算法。而boosting就是解决这个问题的。给定一个训练集,求较粗糙的分类规则,比精确分类规则容易,则boosting从弱学习算法出发,反复学习,得到一系列弱分类器/基本分类器,然后构成强分类器。

boosting大多是通过改变训练集中数据的概率分布(数据的权值分布),针对不同数据分布调用学习算法,学习一系列弱分类器。

那么需要考虑两个问题:
(1)每一轮如何改变训练数据的权值?
(2)如何组合这些弱分类器?

3. Adaboost算法

1995年,AdaBoost算法提出。

我们通过分析算法流程,将清楚看到该算法是如何完美地解决上述两个问题。

输入:训练集 { ...(xN,yN)},yi{ 1,+1} ,弱学习算法(例如 x<v

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

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

D1=(w11,w12,...,w1i,w1N,)

w1i=1N,i=1,2,...,N

(2)对 m=1,2,...,M 个分类器分别有:

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

(2-b)计算 Gm(x) 在训练集的分类误差率:

em=P(Gm(xi)yi)=i=1NwmiI(Gm(xi)yi)

可看出 Gm(x) Dm 上的分类误差率是被其误分类样本的权值之和。

(2-c)计算 Gm(x) 的系数:

αm=12log1emem

这里写图片描述
横轴为分类器错误率,纵轴为分类器系数;

后面推导会知道为何系数这样计算,此处先略去。该式可知,分类误差率越小,分类器系数越大,该分类器在最终结果中起的作用越大。

本轮得到的分类器线性组合为:

fm(x)=i=1mαmGm(x)

(2-d)更新训练集下次的权值分布:

Dm+1=(wm+1,1,wm+1,2,...,wm+1,i,wm+1,N)

wm+1,i=wm,iZmexp(αmy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值