《统计学习方法》阅读笔记 Ch8 提升方法

Ch8 提升方法

目录


  • Adaboost
  • 前向分步算法
  • 提升树
  • 梯度提升树

参考


  • 《百面机器学习》Ch12 集成学习
  • 西瓜书 Ch8 集成学习

Adaboost


提升 ( boosting ) 是一种常用的统计学习方法,是集成(ensemble)学习的一种。它通过改变训练样本的权重 ( 概率分布 ),学习多个弱分类器 ( 基本分类器 ),并将这些分类器按权重线性组合来构成一个强分类器提高分类的性能。
核心思想:序列串行训练弱分类器,每一轮训练步骤中,通过提高那些被前一轮弱分类器错误分类样本的权值,降低那些被正确分类样本的权值,使该轮训练器更加注重上一代的错误。然后采取加权表决的方法组合弱分类器。
步骤:
-(1)训练数据集具有均匀的权值分布 D1=(w11,…,w1i,…,w1N),每个w初始为1/N。
-(2)m=1…N:
—(a)对于每轮/个弱分类器Gm,使用带权值Dm的样本进行训练。
—(b)首先计算错误率在这里插入图片描述
—(c)根据错误率,计算Gm在最后线性组合中的权重alpha:
在这里插入图片描述
观察上式发现em越大,alpha越小,也就是错误率越大的弱分类器在最后的表决中权重越小
—(d)再更新样本的权重分布Dm+1,用于下一轮分类器的训练:
在这里插入图片描述
其中
在这里插入图片描述
Zm是归一化因子
在这里插入图片描述
观察Dm的更新计算,发现Gm误判的样本的权值Wm+1会高,这样,Gm+1就会更注重该样本(或者说该样本如果在Gm+1中还判错,损失会很大)

前向分步算法


AdaBoost 算法也可以理解成模型为加法模型,损失函数为指数函数,学习算法为前向分步算法的二类分类学习方法。
Adaboost是以指数函数为损失的前向分步算法。参考西瓜书。指数函数最小化,由于推理得到最优贝叶斯错误率,那么分类错误率也能最小化。
前向分步算法我认为是一种boost的总结算法,Adaboost是他的特例。
考虑加法模型:
在这里插入图片描述
其中 b(x,γm) 为基函数,γm 为基函数的参数,βm 为基函数的系数。在给定损失函数 L(y,f(x)) 的条件下,学习加法模型就是求解损失函数极小化问题
在这里插入图片描述
前向分步算法求解的想法是:从前往后,每一步只学习一个基函数及其系数,优化
在这里插入图片描述
得到参数 βm 和 γm,更新,简化优化复杂度,逐步逼近优化目标。最终得到加法模型。

提升树


提升树叫boosting tree
提升树是模型为加法模型,算法为前向分布算法,基函数为决策树的提升方法。分类使用二叉分类树,回归使用二叉回归树(是不是CART算法?)
提升树用于分类:Adaboost中的弱分类器使用二叉分类树。
提升树用于回归:
–如果将输入空间划分为J(切分变量)个互不相交的区域,并且在每个区域上确定输出的常量 Cj(平均值),那么树可表示为(这一步是cart最小二乘回归树的生成):
在这里插入图片描述
参数为在这里插入图片描述
对提升树采用前向分布算法
在这里插入图片描述
每一步的损失函数为:
在这里插入图片描述
r是残差(理解为上一步回归树拟合的剩余)。
也就是说后一步回归树的拟合使用的不是样本的实际值,而是上一步剩余的残差(真实值减去前几步预测值)。理解可见例8.2

梯度提升树


梯度提升树是著名的GBDT(Gradient Boosting Decision Tree)。使用最速下降,利用损失函数的负梯度在当前模型的值
在这里插入图片描述
作为回归问题中的残差近似值。
每一步以此来估计回归树叶结点区域以拟合残差的近似值,并利用线性搜索估计叶结点区域的值使损失函数最小化,然后更新回归树即可。

欢迎关注我的个人公众号,记录学习历程
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值