统计学习方法 第二版 读书笔记_第八章 提升方法

统计学习方法 第二版 读书笔记_第八章 提升方法

参考:

  • 陆小亮 带读
    https://www.bilibili.com/video/BV1Ta4y1s7Qn?p=2
  • Adaboost 算法的原理与推导
    https://blog.csdn.net/v_july_v/article/details/40718799
  • 李航老师 统计学习方法 第二版

8.1 提升方法AdaBoosting算法

8.1.1 提升方法的基本思路

将弱可学习方法提升为强可学习方法
这样,对提升方法来说,有两个问题需要回答:
一是在每一轮如何改变训练数据的权值或概率分布;

  • 关于第1个问题,AdaBoost的做法是,提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。这样一来,那些没有得到正确分类的数据,由于其权值的加大而受到后一轮的弱分类器的更大关注。于是,分类问题被一系列的弱分类器“分而治之”。

二是如何将弱分类器组合成一个强分类器。

  • 至于第2个问题,即弱分类器的组合,AdaBoost采取加权多数表决的方法。具体地,加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用;减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。

8.1.2 AdaBoost算法

参考:

https://blog.csdn.net/v_july_v/article/details/40718799

误分类样本在下一轮学习中起更大的作用。不改变所给的训练数据,而不断改变训练数据权值的分布,使得训练数据在基本分类器的学习中起不同的作用,是AdaBoost的一个特点。

8.1.3 AdaBoost的例子

参考: 讲的很清楚

https://blog.csdn.net/v_july_v/article/details/40718799

8.2 AdaBoost算法的训练误差分析

定理8.1 AdaBoost的训练误差界

https://www.bilibili.com/video/BV1Ta4y1s7Qn?p=8

定理8.2 二分类问题AdaBoost的训练误差界

https://www.bilibili.com/video/BV1Ta4y1s7Qn?p=9
https://www.bilibili.com/video/BV1Ta4y1s7Qn?p=10

8.3 AdaBoost算法的解释

8.3.1 前向分布算法

https://www.bilibili.com/video/BV1Ta4y1s7Qn?p=11

算法8.2 前向分布算法
问题: 需要证明每一步的最优 = 全局最优

8.3.2 前向分布算法与AdaBoost

以下推导并不通透.

https://www.bilibili.com/video/BV1Ta4y1s7Qn?p=12

定理8.3 AdaBoost算法是前向分步加法算法的特例, 模型是由基本分类器组成的加法模型, 损失函数是指数函数

可参考

https://zhuanlan.zhihu.com/p/59121403
推导有如下关键点:

  1. AdaBoost算法是一个加性模型,将其简化成前向分步算法求解;
  2. 将0/1损失函数用数学性质更好的指数损失函数替代。

8.4 提升树

提升树是以分类树或回归树为基本分类器的提升方法。提升树被认为是统计学习中性能最好的方法之一。

8.4.1 提升树模型

https://www.bilibili.com/video/BV1Ta4y1s7Qn?p=13

8.4.2 提升树算法

https://www.bilibili.com/video/BV1Ta4y1s7Qn?p=14

算法8.3 回归问题的提升树算法

8.4.3 梯度提升

https://www.bilibili.com/video/BV1Ta4y1s7Qn?p=16

将损失函数的负梯度在当前模型的值, 作为回归问题提升树算法中的残差的近似值, 拟合一个回归树

算法8.4 梯度提升算法

本章概要

  1. 提升方法是将弱学习算法提升为强学习算法的统计学习方法. 在分类学习中, 提升方法通过反复修改训练数据的权值分布, 构建一系列基本分类器(弱分类器), 并将这些基本分类器线性组合, 构成一个强分类器. 代表性的提升方法是AdaBoost算法.
    AdaBoost模型是弱分类器的线性组合
    f ( x ) = ∑ m = 1 M α m G m ( x ) f(x)=\sum\limits^M_{m=1}\alpha_mG_m(x) f(x)=m=1MαmGm(x)
  2. AdaBoost算法的特点是通过迭代每次学习一个基本分类器. 每次迭代中, 提高哪些被前一轮分类器错误分类数据的权值, 而降低哪些被正确分类的数据的权值. 最后, AdaBoost将基本分类器的线性组合作为强分类器, 其中给分类错误率小的基本分类器以大的权值, 给分类错误率大的基本分类器以小的权值.
  3. AdaBoost的训练误差分析表明, AdaBoost的每次迭代可以减少他在训练数据集上的分类错误率, 这说明了他作为提升方法的有效性.
  4. AdaBoost算法的一个解释是该算法实际是前向分步算法的一个实现. 在这个方法里, 模型是加法模型, 损失函数是指数函数, 算法是前向分步算法.
    每一步中极小化损失函数
    ( β m , γ m ) = a r g min ⁡ β , γ ∑ i = 1 N L ( y i , f m − 1 ( x i ) + β b ( x i ; γ ) (\beta_m, \gamma_m)=arg \min\limits_{\beta,\gamma}\sum\limits^N_{i=1}L(y_i, f_{m-1}(x_i) + \beta b(x_i;\gamma) (βm,γm)=argβ,γmini=1NL(yi,fm1(xi)+βb(xi;γ)
    得到参数 β m , γ m \beta_m,\gamma_m βm,γm
  5. 提升树是以分类树或回归树为基本分类器的提升方法. 提升树被认为是统计学习中最有效的方法之一.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值