8.3.2 前向分步算法与 AdaBoost

由前向分步算法可以推导出 AdaBoost,用定理叙述这一关系。
  定理 8.3  AdaBoost 算法是前向分步加法算法的特例。 这时,模型是由基本分类器组成的加法模型,损失函数是指数函数。
  证明 前向分步算法学习的正加法模型,当基函数为基本分类器时,该加法模型等价于 AdaBoost 的最终分类器:

f ( x ) = ∑ m = 1 M α m G m ( x ) (8.19) f(x) = \sum_{m=1}^M \alpha_m G_m(x) \tag{8.19} f(x)=m=1MαmGm(x)(8.19)

由基本分类器 G m ( x ) G_m(x) Gm(x) 及其系数 α m \alpha_m αm 组成, m = 1 , 2 , ⋯ , M m = 1, 2, \cdots, M m=1,2,,M。前向分步算法逐一学习基函数,这一过程与 AdaBoost 算法逐一学习基本分类器的过程一致。下面证明前向分步算法的损失函数是指数损失函数(exponential loss function)

L ( y , f ( x ) ) = exp ⁡ ( − y f ( x ) ) L(y, f(x)) = \exp(-y f(x)) L(y,f(x))=exp(yf(x))

时,其学习的具体操作等价于 AdaBoost 算法学习的具体操作。

假设经过 m − 1 m - 1 m1 轮迭代前向分步算法已经得到 f m − 1 ( x ) f_{m-1}(x) fm1(x)

f m − 1 ( x ) = f m − 2 ( x ) + α m − 1 G m − 1 ( x ) f_{m-1}(x) = f_{m-2}(x) + \alpha_{m-1} G_{m-1}(x) fm1(x)=fm2(x)+αm1Gm1(x)

= α 1 G 1 ( x ) + ⋯ + α m − 1 G m − 1 ( x ) = \alpha_1 G_1(x) + \cdots + \alpha_{m-1} G_{m-1}(x) =α1G1(x)++αm1Gm1(x)

在第 m m m 轮选择得到 α m \alpha_m αm G m ( x ) G_m(x) Gm(x) f m ( x ) f_m(x) fm(x)

f m ( x ) = f m − 1 ( x ) + α m G m ( x ) f_m(x) = f_{m-1}(x) + \alpha_m G_m(x) fm(x)=fm1(x)+αmGm(x)

目标是使前向分步算法得到的 α m \alpha_m αm G m ( x ) G_m(x) Gm(x) 使 f m ( x ) f_m(x) fm(x) 在训练数据集 T T T 上的指数损失最小,即

( α m , G m ( x ) ) = arg ⁡ min ⁡ α , G ∑ i = 1 N exp ⁡ [ − y i ( f m − 1 ( x i ) + α G ( x i ) ) ] (8.20) (\alpha_m, G_m(x)) = \arg \min_{\alpha, G} \sum_{i=1}^N \exp \left[ -y_i \left( f_{m-1}(x_i) + \alpha G(x_i) \right) \right] \tag{8.20} (αm,Gm(x))=argα,Gmini=1Nexp[yi(fm1(xi)+αG(xi))](8.20)

式(8.20)可以表示为

( α m , G m ( x ) ) = arg ⁡ min ⁡ α , G ∑ i = 1 N w ~ m i exp ⁡ ( − y i α G ( x i ) ) (8.21) (\alpha_m, G_m(x)) = \arg \min_{\alpha, G} \sum_{i=1}^N \tilde{w}_{mi} \exp(-y_i \alpha G(x_i)) \tag{8.21} (αm,Gm(x))=argα,Gmini=1Nw~miexp(yiαG(xi))(8.21)

其中, w ~ m i = exp ⁡ ( − y i f m − 1 ( x i ) ) \tilde{w}_{mi} = \exp(-y_i f_{m-1}(x_i)) w~mi=exp(yifm1(xi)),因为 w ~ m i \tilde{w}_{mi} w~mi 已不依赖于 G G G,所以与最小化无关。 w ~ m i \tilde{w}_{mi} w~mi 依赖于 f m − 1 f_{m-1} fm1,随得每一轮迭代而发生改变。
  现在证明使(8.21)达到最小的 α m ∗ \alpha^*_m αm G m ∗ ( x ) G^*_m(x) Gm(x) 就是 AdaBoost 算法所得得到的 α m \alpha_m αm G m ( x ) G_m(x) Gm(x)。求解式(8.21)可分两步:
  首先,求 G m ∗ ( x ) G^*_m(x) Gm(x) 对任意 α > 0 \alpha > 0 α>0,使式(8.21)最小的 G ( x ) G(x) G(x) 由下式得到:

G m ∗ ( x ) = arg ⁡ min ⁡ G ∑ i = 1 N w m i I ( y i ≠ G ( x i ) ) G^*_m(x) = \arg \min_G \sum_{i=1}^N w_{mi} I(y_i \ne G(x_i)) Gm(x)=argGmini=1NwmiI(yi=G(xi))

其中, w ~ m i = exp ⁡ ( − y i f m − 1 ( x i ) ) \tilde{w}_{mi} = \exp(-y_i f_{m-1}(x_i)) w~mi=exp(yifm1(xi))
  此处分类器 G m ∗ ( x ) G^*_m(x) Gm(x) 即为 AdaBoost 算法的基本分类器 G m ( x ) G_m(x) Gm(x),因为它是使第 m m m 轮加权训练数据集分类误差最小的基本分类器。
  然后,求 α m ∗ \alpha_m^* αm 参式(8.11),式(8.21)中

∑ i = 1 N w ~ m i exp ⁡ ( − y i α G ( x i ) ) = ∑ y i = G m ( x i ) w ~ m i e − α + ∑ y i ≠ G m ( x i ) w ~ m i e α \sum_{i=1}^N \tilde{w}_{mi} \exp(-y_i \alpha G(x_i)) = \sum_{y_i = G_m(x_i)} \tilde{w}_{mi} e^{-\alpha} + \sum_{y_i \ne G_m(x_i)} \tilde{w}_{mi} e^\alpha i=1Nw~miexp(yiαG(xi))=yi=Gm(xi)w~mieα+yi=Gm(xi)w~mieα

= ( e α − e − α ) ∑ i = 1 N w ~ m i I ( y i ≠ G ( x i ) ) + e − α ∑ i = 1 N w ~ m i (8.22) = (e^\alpha - e^{-\alpha}) \sum_{i=1}^N \tilde{w}_{mi} I(y_i \ne G(x_i)) + e^{-\alpha} \sum_{i=1}^N \tilde{w}_{mi} \tag{8.22} =(eαeα)i=1Nw~miI(yi=G(xi))+eαi=1Nw~mi(8.22)

将它求得的 G m ∗ ( x ) G^*_m(x) Gm(x) 代入式(8.22),对 α \alpha α 求导并使导数数为0,即得到使式(8.21)最小的 α \alpha α

α m ∗ = 1 2 log ⁡ 1 − e m e m \alpha_m^* = \frac{1}{2} \log \frac{1 - e_m}{e_m} αm=21logem1em

其中, e m e_m em 是分类误差率:

e m = ∑ i = 1 N w ~ m i I ( y i ≠ G m ( x i ) ) ∑ i = 1 N w ~ m i e_m = \frac{\sum_{i=1}^N \tilde{w}_{mi} I (y_i \ne G_m(x_i))}{\sum_{i=1}^N \tilde{w}_{mi}} em=i=1Nw~mii=1Nw~miI(yi=Gm(xi))

= ∑ i = 1 N w m i I ( y i ≠ G m ( x i ) ) (8.23) = \sum_{i=1}^N w_{mi} I(y_i \ne G_m(x_i)) \tag{8.23} =i=1NwmiI(yi=Gm(xi))(8.23)

这里的 α m ∗ \alpha_m^* αm 与 AdaBoost 算法第 2(c) 步的 α m \alpha_m αm 完全一致。
  最后来看每一轮样本权值的更新。由

f m ( x ) = f m − 1 ( x ) + α m G m ( x ) f_m(x) = f_{m-1}(x) + \alpha_m G_m(x) fm(x)=fm1(x)+αmGm(x)

以及 w ~ m i = exp ⁡ ( − y i f m − 1 ( x i ) ) \tilde{w}_{mi} = \exp(-y_i f_{m-1}(x_i)) w~mi=exp(yifm1(xi)),可得:

w ~ m + 1 , i = w ~ m , i exp ⁡ ( − y i α m G m ( x ) ) \tilde{w}_{m+1, i} = \tilde{w}_{m,i} \exp(-y_i \alpha_m G_m(x)) w~m+1,i=w~m,iexp(yiαmGm(x))

这与 AdaBoost 算法第 2(d) 步的样本权值的更新只相差规范化因子,因而等价。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/884233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安宝特分享 | AR技术引领:跨国工业远程协作创新模式

在当今高度互联的工业环境中,跨国合作与沟通变得日益重要。然而,语言障碍常常成为高效协作的绊脚石。安宝特AR眼镜凭借其强大的多语言自动翻译和播报功能,正在改变这一局面,让远程协作变得更加顺畅。 01 多语言翻译优势 安宝特A…

逗号运算符应用举例

在main.cpp里输入程序如下&#xff1a; #include <iostream> //使能cin(),cout(); #include <iomanip> //使能setbase(),setfill(),setw(),setprecision(),setiosflags()和resetiosflags(); //setbase( char x )是设置输出数字的基数,如输出进制数则用set…

vxe-table v4.8+ 与 v3.10+ 虚拟滚动支持动态行高,虚拟渲染更快了

Vxe UI vue vxe-table v4.8 与 v3.10 解决了老版本虚拟滚动不支持动态行高的问题&#xff0c;重构了虚拟渲染&#xff0c;渲染性能大幅提升了&#xff0c;行高自适应和列宽拖动都支持&#xff0c;大幅降低虚拟渲染过程中的滚动白屏&#xff0c;大量数据列表滚动更加流畅。 自适…

ICPC区域赛成都站【赛后回顾+总结】

传送门 前言赛后总结赛后回顾赛后感悟 前言 首先&#xff0c;这是本人本赛季第一场XCPC区域赛&#xff0c;也是本人算竞生涯中第一场XCPC区域赛&#xff08;之前只打过邀请赛和省赛&#xff09;。 赛后总结 然后赛后总结一下&#xff1a;我队天崩开局&#xff0c;我队出师不利…

c盘满了怎么清理垃圾而不误删?6招轻松清理C盘,快来试试

c盘满了怎么清理垃圾而不误删&#xff1f;相信平时工作生活中离不开电脑&#xff0c;随着使用电脑时间就了&#xff0c;C 盘的空间会不断被占据&#xff0c;进而致使系统运行变得迟缓&#xff0c;甚至出现卡顿现象。因此&#xff0c;定期清理 C 盘的是非常重要的。很多电脑小白…

excel的宏1

1宏和vba visual basic for applications 一种编程语言 2vba编写一系列指令的程序&#xff0c;就是宏 3完成重复性的数据任务 点击开发工具 使用设置的宏之后表格的变化 excel帮忙编写了一个代码 以上为自动编写的代码

Swarm-LIO: Decentralized Swarm LiDAR-inertial Odometry论文翻译

文章目录 前言一、介绍二、相关工作三、方法A. 问题表述B. 框架概述C. 群体系统的初始化D. 去中心化激光雷达-惯性状态估计 四. 实验A. 室内飞行B. 退化环境飞行C. 去中心化部署 五. 结论和未来工作 前言 原文&#xff1a;原文 准确的自我状态和相对状态估计是完成群体任务的关…

光耦合器的关键作用和创新---腾恩科技

光耦合器或光隔离器已成为电路中必不可少的器件&#xff0c;它允许信号在无需直接电接触的情况下跨不同电压域传输。这种隔离能力对于保护低压元件免受高压电路的潜在损坏至关重要。本文将仔细研究光耦合器在当今技术中发挥的独特作用&#xff0c;并探讨其在各种应用中不断扩展…

linux:回车换行+进度条+git理解与使用以及如何解决免密码push问题

目录 特殊符号 Linux小程序---进度条 1.\n和\r的理解 2.缓冲区 3.设计简单的倒计时 4.设计简单的进度条 git-版本控制器 1.理解什么是版本控制器? 2.git的使用 3.git的其他说明 总结上传过程 特殊符号 1.(取消显化) 的作用:执行指令,但指令本身不会显化; 举个例子:我…

vscode摸鱼学习插件开发

不知道大家在摸鱼的时候&#xff0c;会不会想要学习&#xff1f; 或者有没有考公人&#xff0c;下班要学习的&#xff1f; 上班时间摸鱼&#xff0c;下班时间不够学习&#xff1f; 为此&#xff0c;我决定开发一个vscode插件&#xff0c;来刷粉笔题 粉笔插件名称&#xff1a;…

如何解决RabbitMQ消息的重复消费问题

什么情况下会导致消息的重复消费——在消费者还没成功发送自动确认机制时发生&#xff1a; 网络抖动消费者挂了 解决方案 每条消息设置一个唯一的标识id幂等方案&#xff1a;【Redis分布式锁、数据库锁&#xff08;悲观锁、乐观锁&#xff09;】 面试官&#xff1a;如何解决…

Kafka 与传统 MQ 消息系统之间有三个关键区别?

大家好&#xff0c;我是锋哥。今天分享关于【Kafka 与传统 MQ 消息系统之间有三个关键区别&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; Kafka 与传统 MQ 消息系统之间有三个关键区别&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 …

软件测试基础知识最强总结(2024版)

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、什么是软件&#xff1f; 软件是计算机系统中的程序和相关文件或文档的总称。 二、什么是软件测试&#xff1f; 说法一&#xff1a;使用人工或自动的手段…

智慧用电监控装置:引领0.4kV安全用电新时代

在智能科技日新月异的今天&#xff0c;电力安全与管理正迎来一场前所未有的革新。为0.4kV以下TT、TN系统打造的智慧用电在线监控装置不仅重新定义了电力监控的边界&#xff0c;更为建筑安全用电筑起了一道坚不可摧的防线。 装置集成了单、三相交流电精确测量、四象限电能计量、…

【GL09】(算法)卡尔曼滤波

一、简介 卡尔曼滤波&#xff08;Kalman Filter&#xff09;是一种有效的递归滤波器&#xff08;自回归滤波器&#xff09;&#xff0c;它能够从一系列的包含统计噪声的测量中估计动态系统的状态。卡尔曼滤波广泛应用于信号处理、控制理论、自动驾驶、金融等领域。 基本公式&am…

IIC学习总结

一、基本概念 IIC&#xff08;Inter-Integrated Circuit&#xff09;其实是IICBus简称&#xff0c;所以中文应该叫集成电路总线&#xff0c;它是一种串行通信总线&#xff0c;使用多主从架构。 二、模块结构 I2C串行总线一般有两根信号线&#xff0c;一根是双向的数据线SDA&…

go 聊天系统项目-1

1、登录界面 说明&#xff1a;这一节的内容采用 go mod 管理【GO111MODULE‘’】的模块&#xff0c;从第二节开始使用【GO111MODULE‘off’】GOPATH 管理模块。具体参见 go 包相关知识 1.1登录界面代码目录结构 代码所在目录/Users/zld/Go-project/day8/chatroom/ 1.2登录…

qt QCheckBox详解

QCheckBox 是 Qt 框架中的一个控件&#xff0c;用于创建复选框&#xff0c;允许用户进行选择和取消选择。它通常用于表单、设置界面和任何需要用户选择的场景。 QCheckBox继承自QAbstractButton类&#xff0c;因此继承了按钮的特性。它表示一个复选框&#xff0c;用户可以通过…

使用Postman发送POST请求的指南

作为一名软件测试工程师&#xff0c;掌握如何使用Postman发送POST请求是非常重要的技能。POST请求通常用于向服务器发送数据&#xff0c;以创建或更新资源。本文将详细介绍如何在Postman中发送POST请求&#xff0c;帮助你高效地进行接口测试。 什么是POST请求&#xff1f; PO…

2024年meme币走势分析:最后两个月的市场趋势与机会 #交易所#dapp#KOL社区合作

2024年即将步入尾声&#xff0c;meme币市场经历了显著的波动。对于加密市场来说&#xff0c;年底的走势尤为关键&#xff0c;尤其是meme币这种受市场情绪影响较大的加密资产。本文将从市场环境、宏观经济因素、投资者情绪、技术分析等方面分析meme币在2024年最后两个月的潜在走…