集成学习之Adaboost算法推导

1. 回顾boosting算法的基本原理

    在集成学习原理小结中,我们已经讲到了boosting算法系列的基本思想,如下图:
在这里插入图片描述

    从图中可以看出,Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学习器2中得到更多的重视。然后基于调整权重后的训练集来训练弱学习器2,如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。

    不过有几个具体的问题Boosting算法没有详细说明:

  1. 如何计算学习误差率e?
  2. 如何得到弱学习器权重系 α \alpha α ?
  3. 如何更新样本权重D?
  4. 使用何种结合策略?

2. Adaboost算法的基本思路

2.1、AdaBoost(Adaptive Boosting, 自适应增强)算法采取的方法是:

  1. 提高上一轮被错误分类的样本的权值,降低被正确分类的样本的权值;
  2. 线性加权求和。误差率小的基学习器拥有较大的权值,误差率大的基学习器拥有较小的权值。

2.2、Adaboost算法图解

在这里插入图片描述

2.3、算法步骤

    Adaboost 算法有多种推导方式,比较容易理解的是基于 “加性模型”(additive model),即基学习器的线性组合。

    周志华《机器学习》p174有证明,加性模型的损失函数可为指数函数。指数损失函数是分类任务原本0/1损失函数的一致(consistent)替代损失函数,由于指数损失函数有更好的数学性质,例如处处可微,所以我们用它替代0/1损失作为优化目标。

    在 Adaboost 算法中,第一个基分类器 h 1 h_1 h1 是通过直接将基学习算法用于初始数据分布而得;此后迭代地生成 h t h_t ht α t \alpha_t αt,当基分类器 h t h_t ht 基于分布 D t D_t Dt 产生后,该基分类器的权重 α t \alpha_t αt 应使得 α t h t \alpha_th_t αtht 最小化指数损失函数

在这里插入图片描述
    上式中 I ( ⋅ ) I(⋅) I() 是指示函数, I ( f ( x ) = h t ( x ) ) I\left(f(x)=h_t(x)\right) I(f(x)=ht(x))表示在数据集 D t D_t Dt f ( x ) = h t ( x ) f(x)=h_t(x) f(x)=ht(x) 的所有数据组成的集合。

    其中 ϵ t = P x − D t ( h t ( x ) ≠ f ( x ) ) \epsilon_t=P_{x-D_t} \left(h_t(x)\not=f(x)\right) ϵt=PxDt(ht(x)=f(x)),考虑指数损失函数的导数

在这里插入图片描述
    令(8.10)为零可解得
在这里插入图片描述

    这恰是算法图解(8.3)中算法第 6 行的分类器权重更新公式。

    Adaboost 算法在获得 H t − 1 H_{t-1} Ht1 之后样本分布将进行调整,使下一轮的基学习器 h t h_t ht 能纠正 H t − 1 H_{t-1} Ht1 的一些错误,理想的 h t h_t ht 能纠正 H t − 1 H_{t-1} Ht1 的全部错误,即最小化
在这里插入图片描述

    注意到 f 2 ( x ) = h t 2 ( x ) = 1 f^2(x)=h^2_t(x)=1 f2(x)=ht2(x)=1,式(8.12)可使用 e − f ( x ) h t ( x ) e^{-f(x)h_t(x)} ef(x)ht(x) 的泰勒展式近似为
在这里插入图片描述

    于是,理想的基学习器
在这里插入图片描述
在这里插入图片描述

    注意到 E x − D [ e − f ( x ) H t − 1 ( x ) ] E_{x-D} [e^{-f(x)H_{t-1}(x)}] ExD[ef(x)Ht1(x)] 是一个常数,令 D t D_t Dt 表示一个分布
在这里插入图片描述
    根据数学期望的定义,这等价于令
在这里插入图片描述
    由 f ( x ) , h ( x ) ∈ f(x),h(x) \in f(x)h(x){ − 1 , + 1 -1,+1 1,+1},有
在这里插入图片描述
    则理想的基学习器
在这里插入图片描述

    由此可见,理想的 h t h_t ht 将分布在 D t D_t Dt 下最小化分类误差。因此,弱分类器将基于分布 D t D_t Dt 来训练,且针对 D t D_t Dt 的分类误差应小于 0.5 ,这在一定程度上类似 “残差逼近” 的思想,考虑到 D t D_t Dt D t + 1 D_{t+1} Dt+1 的关系,有
在这里插入图片描述
    这恰是图 8.3 中算法第 7 行的样本分布更新公式。

3、Adaboost小结

    理论上任何学习器都可以用于Adaboost。但一般来说,使用最广泛的 Adaboost 弱学习器是决策树和神经网络。对于决策树,Adaboost分类用了CART分类树,而Adaboost回归用了CART回归树。

3.1、Adaboost的主要优点

  1. Adaboost作为分类器时,分类精度很高
  2. 在Adaboost的框架下,可以使用各种回归分类模型来构建弱学习器,非常灵活。
  3. 作为简单的二元分类器时,构造简单,结果可理解。
  4. 不容易发生过拟合

3.2、Adaboost的主要缺点

    对异常样本敏感,异常样本在迭代中可能会获得较高的权重,影响最终的强学习器的预测准确性。

Adaboost前向分步学习算法推导

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值