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

在AdaBoost中每轮训练后,为什么错误分类的样本权重会增大e^2αt倍

在 AdaBoost 的每一轮迭代中,样本 i i i 的权重更新公式为:
w t + 1 , i = w t , i ⋅ exp ⁡ ( − α t y i G t ( x i ) ) Z t w_{t+1,i} = \frac{w_{t,i} \cdot \exp(-\alpha_t y_i G_t(x_i))}{Z_t} wt+1,i=Ztwt,iexp(αtyiGt(xi))

其中:

  • w t , i w_{t,i} wt,i 是样本 i i i 在第 t t t 轮的权重。
  • α t \alpha_t αt 是该轮弱分类器的权重系数。
  • y i y_i yi 是样本 i i i 的真实标签。
  • G t ( x i ) G_t(x_i) Gt(xi) 是弱分类器 G t G_t Gt 对样本 i i i 的预测结果。
  • Z t Z_t Zt 是归一化因子,用于确保新一轮权重的总和为 1。

权重增大的推导

根据公式,我们分两种情况讨论:

  1. 当样本被正确分类时,即 G t ( x i ) = y i G_t(x_i) = y_i Gt(xi)=yi

    • 在这种情况下, y i G t ( x i ) = 1 y_i G_t(x_i) = 1 yiGt(xi)=1,所以权重更新为:
      w t + 1 , i = w t , i ⋅ exp ⁡ ( − α t ) Z t w_{t+1,i} = \frac{w_{t,i} \cdot \exp(-\alpha_t)}{Z_t} wt+1,i=Ztwt,iexp(αt)
  2. 当样本被错误分类时,即 G t ( x i ) ≠ y i G_t(x_i) \neq y_i Gt(xi)=yi

    • 在这种情况下, y i G t ( x i ) = − 1 y_i G_t(x_i) = -1 yiGt(xi)=1,所以权重更新为:
      w t + 1 , i = w t , i ⋅ exp ⁡ ( α t ) Z t w_{t+1,i} = \frac{w_{t,i} \cdot \exp(\alpha_t)}{Z_t} wt+1,i=Ztwt,iexp(αt)

相对增长倍数的计算

为了计算错误分类的样本权重相对于正确分类样本权重的增长倍数,我们可以比较错误分类的样本权重和正确分类的样本权重之比。

  • 错误分类的样本权重更新 w t + 1 , i 错误 = w t , i ⋅ exp ⁡ ( α t ) Z t w_{t+1,i}^{\text{错误}} = \frac{w_{t,i} \cdot \exp(\alpha_t)}{Z_t} wt+1,i错误=Ztwt,iexp(αt)
  • 正确分类的样本权重更新 w t + 1 , i 正确 = w t , i ⋅ exp ⁡ ( − α t ) Z t w_{t+1,i}^{\text{正确}} = \frac{w_{t,i} \cdot \exp(-\alpha_t)}{Z_t} wt+1,i正确=Ztwt,iexp(αt)

计算它们的比值,即:

w t + 1 , i 错误 w t + 1 , i 正确 = w t , i ⋅ exp ⁡ ( α t ) Z t w t , i ⋅ exp ⁡ ( − α t ) Z t = exp ⁡ ( 2 α t ) \frac{w_{t+1,i}^{\text{错误}}}{w_{t+1,i}^{\text{正确}}} = \frac{\frac{w_{t,i} \cdot \exp(\alpha_t)}{Z_t}}{\frac{w_{t,i} \cdot \exp(-\alpha_t)}{Z_t}} = \exp(2\alpha_t) wt+1,i正确wt+1,i错误=Ztwt,iexp(αt)Ztwt,iexp(αt)=exp(2αt)

结论

因此,相对于正确分类的样本,错误分类的样本权重确实增大了 e 2 α t e^{2\alpha_t} e2αt。这个比值反映了AdaBoost通过增加权重让后续的弱分类器更多关注错误分类样本的机制。

http://www.lryc.cn/news/472598.html

相关文章:

  • 什么是数据中心?
  • 【工具使用】VSCode如何将本地项目关联到远程的仓库 (vscode本地新项目与远程仓库建立链接)
  • 安全见闻-二进制与网络安全的关系
  • MongoDB 部署指南:从 Linux 到 Docker 的全面讲解
  • Java AQS 源码
  • 栈和队列(1)——栈
  • Java中的反射(Reflection)
  • 【IC验证】linux系统下基于QuestaSim的systemverilog仿真TCL命令
  • Python图像处理库PIL,实现旋转缩放、剪切拼接以及滤波
  • xhr的readyState和status
  • Rust 力扣 - 238. 除自身以外数组的乘积
  • 【Vue框架】基础语法练习(1)
  • 开源一款基于 JAVA 的仓库管理系统,支持三方物流和厂内物流,包含 PDA 和 WEB 端的源码
  • 开源一套基于若依的wms仓库管理系统,支持lodop和网页打印入库单、出库单的源码
  • HTML+JavaScript案例分享: 打造经典俄罗斯方块,详解实现全过程
  • 【网页布局技术】项目五 使用CSS设置导航栏
  • 自学网络安全,网络安全入门学习路线,收藏这篇就够了
  • React Query已过时?新一代请求工具横空出世
  • 视频怎么进行格式转换?6款视频转换MP4格式的免费软件!
  • 智能文档处理平台:免费体验智能化医疗信息提取
  • Java 中 InputStream 的使用:try-with-resources 与传统方式的比较
  • 【MATLAB源码-第271期】基于matlab的雷达发射回波模拟,包括匹配滤波,加窗旁瓣控制,以及MTD处理。
  • Linux系统编程——信号量
  • Oracle索引问题汇总
  • 基于QT用工厂模式实现串口通信与网络通信激光器的控制
  • 【代码随想录Day58】图论Part09
  • _或者%关键字模糊匹配查出所有数据
  • 【Python】转换得到图片的rgb565格式数据
  • 隨筆 20241024 Kafka中的ISR列表:分区副本的族谱
  • 【python】爬虫