当前位置: 首页 > news >正文

AdaBoost与前向分步算法 10-16最小化指数损失函数 公式解析

本文是将文章《AdaBoost与前向分步算法》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。


公式 (10-16) 是前向分步算法在 AdaBoost 中的关键步骤,用于选择当前轮次中的弱分类器及其对应的权重,以最小化整体模型的损失。具体来说,公式 (10-16) 表示如何选择第 t t t 个弱分类器的权重 α t \alpha_t αt 和基模型 G t ( x ) G_t(x) Gt(x) 以使加性模型的损失最小化。

公式 (10-16) 的内容

公式 (10-16) 的表达式为:
( α t , G t ( x ) ) = arg ⁡ min ⁡ α , G ∑ i = 1 N exp ⁡ ( − y i ( f t − 1 ( x i ) + α G ( x i ) ) ) (\alpha_t, G_t(x)) = \arg \min_{\alpha, G} \sum_{i=1}^N \exp(-y_i (f_{t-1}(x_i) + \alpha G(x_i))) (αt,Gt(x))=argα,Gmini=1Nexp(yi(ft1(xi)+αG(xi)))

其中:

  • N N N 是训练样本的数量。
  • y i y_i yi 是第 i i i 个样本的真实标签,取值为 ± 1 \pm 1 ±1
  • f t − 1 ( x ) f_{t-1}(x) ft1(x) 表示在前 t − 1 t-1 t1 轮已经构建好的加性模型,即第 t − 1 t-1 t1 轮之前所有弱分类器的加权组合。
  • G t ( x ) G_t(x) Gt(x) 是第 t t t 轮选择的弱分类器。
  • α t \alpha_t αt 是第 t t t 轮弱分类器的权重。
  • exp ⁡ ( − y i ( f t − 1 ( x i ) + α G ( x i ) ) ) \exp(-y_i (f_{t-1}(x_i) + \alpha G(x_i))) exp(yi(ft1(xi)+αG(xi))) 是损失函数的一部分,表示模型在样本 x i x_i xi 上的损失。

公式的含义

公式 (10-16) 的目的是找到使当前加性模型的损失最小的弱分类器 G t ( x ) G_t(x) Gt(x) 和权重 α t \alpha_t αt。具体步骤如下:

  1. 最小化加性模型的损失:我们希望新加入的弱分类器能够最小化加性模型的损失,这里损失函数采用的是指数损失函数:
    L ( y i , f ( x i ) ) = exp ⁡ ( − y i f ( x i ) ) L(y_i, f(x_i)) = \exp(-y_i f(x_i)) L(yi,f(xi))=exp(yif(xi))

    在AdaBoost中,指数损失函数的使用有助于模型对分类错误的样本赋予更大的权重。

  2. 加性模型的更新:在前向分步算法中,模型逐步构建,每一轮迭代会在已有模型 f t − 1 ( x ) f_{t-1}(x) ft1(x) 的基础上加入一个新的弱分类器 G t ( x ) G_t(x) Gt(x)
    f t ( x ) = f t − 1 ( x ) + α t G t ( x ) f_t(x) = f_{t-1}(x) + \alpha_t G_t(x) ft(x)=ft1(x)+αtGt(x)

    新的弱分类器会根据指数损失函数最小化的要求进行选择。

  3. 最小化损失目标:公式 (10-16) 的目标是最小化每个样本的损失和,即
    ∑ i = 1 N exp ⁡ ( − y i ( f t − 1 ( x i ) + α G ( x i ) ) ) \sum_{i=1}^N \exp(-y_i (f_{t-1}(x_i) + \alpha G(x_i))) i=1Nexp(yi(ft1(xi)+αG(xi)))

    这里的和表示对所有样本的总损失。通过最小化这个表达式,AdaBoost能在当前轮次中找到最优的弱分类器及其对应权重,以尽可能减少当前模型的整体误差。

公式的推导

要详细理解公式 (10-16),可以分解如下:

  1. 前一轮的模型:假设在第 t − 1 t-1 t1 轮已经得到的模型为 f t − 1 ( x ) f_{t-1}(x) ft1(x)
  2. 当前轮次的目标:第 t t t 轮中,我们希望找到一个新的弱分类器 G t ( x ) G_t(x) Gt(x) 以及它的权重 α t \alpha_t αt,使得新的模型 f t ( x ) = f t − 1 ( x ) + α t G t ( x ) f_t(x) = f_{t-1}(x) + \alpha_t G_t(x) ft(x)=ft1(x)+αtGt(x) 的误差最小。
  3. 引入指数损失:使用指数损失函数将优化目标转化为最小化总损失的形式。
  4. 得到当前优化问题:最终,我们的目标变成最小化所有样本的指数损失的和。

公式的意义

公式 (10-16) 通过选择最优的弱分类器及其权重来逐步减少模型的总体误差。在每一轮中:

  • 分类错误的样本(即 y i ≠ G t ( x i ) y_i \neq G_t(x_i) yi=Gt(xi))会使 (-y_i G_t(x_i)) 为正,从而导致 exp ⁡ ( − y i ( f t − 1 ( x i ) + α G ( x i ) ) ) \exp(-y_i (f_{t-1}(x_i) + \alpha G(x_i))) exp(yi(ft1(xi)+αG(xi))) 较大,增加了该样本在损失中的贡献。
  • 正确分类的样本则会使损失较小,从而降低其在损失和中的贡献。

总结

公式 (10-16) 是AdaBoost算法的核心,用于确定每一轮中的弱分类器及其权重。通过最小化指数损失函数,AdaBoost可以有效地提高模型对难以分类样本的关注度,同时逐步降低整体错误率。


http://www.mrgr.cn/news/62520.html

相关文章:

  • Git 创建新的分支但清空提交记录
  • Java如何实现PDF转高质量图片
  • 微信小程序如何实现地图轨迹回放?
  • 零基础学西班牙语,柯桥专业小语种培训泓畅学校
  • VulkanTutorial(11·Rendering)
  • el-date-picker时间范围搜索条件,watch监听
  • react-路由
  • K8S自建企业私有云方案 单台起配 NVMe全闪存储性能
  • SpringBoot常用注解
  • 电脑使用技巧:电脑分区如何合并?
  • YOLO11论文 | 实用脚本 | 绘制多个实验的loss、mAP@0.5、mAP@0.5:0.95的高级图像【科研必备 + 绘图神器】
  • 性价比高的挂耳式耳机有哪些?五大性价比高的挂耳式耳机推荐
  • java 集合类详解
  • Navigation组件页面跳转
  • day14:RSYNC同步
  • Python自动化数据备份与同步
  • 工业设计岗位18K招聘,要求必须会AI,但AI究竟该怎么学呢?
  • HJ108 求最小公倍数
  • 《JVM第3课》运行时数据区
  • Java开发者的Python快速进修指南:文件操作
  • 键盘监听事件xss攻击
  • C++学习日记 | LAB 11 类中的动态内存管理
  • (五)Web前端开发进阶2——AJAX
  • Fsm3
  • Diving into the STM32 HAL-----USART
  • X86下fftw3库的编译和链接undefined reference to fftwf_malloc