Make Good friend with GBDT——Part2 Ada Boosting

本文介绍了Boosting算法的基本思想及AdaBoost算法的具体实现过程,并对比了支持向量机、AdaBoost与逻辑斯蒂回归模型的学习策略与算法。重点讨论了Boosting算法中如何通过组合弱分类器来形成强分类器的方法。

三个臭皮匠,顶个诸葛亮——Boosting

AdaBoost算法的提出——1995,Freund

提升方法

提升方法基本思路

强可学习,弱可学习:一个概念,如果存在一个多项式的学习算法能够学习它,并且正确率很高,那么这个概念是强可学习的;如果一个多项式算法能学习它,但是学习的正确率仅仅比随机猜测略好,那么这个概念就是弱可学习的。——Kearns, Valiant

在概率近似正确(probably approximately correct)的学习框架内,一个概念的强可学习和弱可学习是等价的——Schapire

发现弱学习器比强学习器要容易得多,提升方法就是反复学习得到多个弱学习器,将其按不同权重进行组合得到一个强学习器的过程,反复学习的过程中往往需要改变数据的概率分布。

Boosting方法

Traditional Boost:每一次迭代增加分错的点的权重,减少分对的点的权重,使得某些点如果总被分错就会被重点关注。

Gradient Boosting:每一次的计算是为了减少上一次的残差(residual),而为了消除残差,在其减少方向上建立一个新的模型。

提升方法面临的主要问题:
1. 在每一轮训练中如何改变训练数据的权值或概率分布;
2. 如何将弱分类器组合成一个强分类器。

AdaBoost的做法:
1. 提高前一轮被错误分类的样本权重——重视错误;
2. 提高分类误差率小的分类器的权重。

AdaBoost算法

输入:训练数据集X={(x1,y1),(x2,y2)…},y值域为{+1,-1};弱学习算法。

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

  1. 初始化训练样本权值(权值之和为1);
  2. m = 1~M:
    1. 在有权重的训练集上训练,得到基本分类器Gm(x);
    2. 计算Gm(x)在训练数据集上的分类误差率;
    3. 计算Gm(x)的系数
    4. 更新训练集权重

Gm(x):χ{1,+1}......1Gm(x):χ⟶{−1,+1}......1

em=P(Gm(xi)yi)=i=1WmiI(Gm(xi)yi)......2em=P(Gm(xi)≠yi)=∑i=1WmiI(Gm(xi)≠yi)......2

αm=12log1emem......3αm=12log1−emem......3

wm+1,i=wmiZmexp(αmyiGm(xi))......4wm+1,i=wmiZmexp(−αmyiGm(xi))......4

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

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

G(x)=sign(f(x))=sign(m=1MαmGm(x))G(x)=sign(f(x))=sign(∑m=1MαmGm(x))

Boosting Tree

Friedman, 2000
提升树被认为是统计学习中性能最好的方法之一。

提升树模型

提升方法实际采用加法模型(即基函数的线性组合)与前向分布算法。以决策树为基函数的提升方法称为提升树(boosting tree)。对分类问题是二叉分类树,对回归问题是二叉回归树。

fM(x)=m=1MT(x;Θm)......fM(x)=∑m=1MT(x;Θm)......提升树模型

提升树算法(此处讲的非常简略,详情参考[1])

提升树算法采用前向分步算法。每次得到一个新的基本决策树分类器,并加入到提升树模型中。

分类模型
回归模型

梯度提升——加速拟合回归树

问题来源:提升树利用加法模型与前向分步算法实现学习的优化过程,这对于平方损失和指数损失函数,每一步都是简单的。但是对于一般损失函数,优化起来就不那么容易了(譬如对于不可导的函数)。对此,Freidman提出了梯度提升算法,利用最速下降的近似方法,拟合一个回归树。

引用

[1]Friedman, J., Hastie, T., & Tibshirani, R. (2000). Additive logistic regression: a statistical view of boosting (with discussion and a rejoinder by the authors). Annals of Statistics, 28(2), 337-374.


知识归纳

比较支持向量机、AdaBoost、逻辑斯蒂回归模型的学习策略与算法

模型学习策略训练算法
支持向量机(SVM)最大间隔线性支持向量机:合页损失函数
AdaBoost指数函数前项分步算法;梯度提升算法
逻辑斯蒂回归对数似然函数梯度下降法和拟牛顿法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值