关于Adaboost——样本抽样的权值的实际意义

看这篇文章的前提:已经看了PRML中的Adaboost的算法流程

看懂下面的内容必须牢牢记住:Adaboost使用的误差函数是指数误差

文章主要目的:理解样本抽样的权值是为什么那样变化的。

得出的结论:训练第m个基分类器ym时,样本n的抽样权重是fm-1在样本n上的指数误差

当ym将第n个样本分对了时,则权值保持不变,否则权值增加exp{αm}(>1)倍

  (1)

(2)

(3)

(1)表示分类器fm的误差函数是指数误差函数

(2)表示分类器fm是一系列的基函数(yl,即基分类器)的加权和,αl是基分类器yl的权重,l=1...m

(3)表示分类器fm是二分类

Adaboost是选择恰当的αl和yl使得误差E最小,l=1...m

找到全局最优是件很麻烦的事,所以决定找到局部最优,采用了前向分步算法

前向分步算法

假设前m-1个基分类器y1(x)...ym-1(x)已经确定,且相应的权重α1...αm-1也已经确定,此时只需要寻找恰当的αm和ym使得E最小。

因此E可以转换为:

(4)

根据指数误差函数,我们可以知道,其实就是fm-1在样本n上的误差,即训练ym时,样本n的抽样权重是fm-1在样本n上的误差。

(4)中右边的累加项是表示fm在样本n上的误差,所以就有了下面的递推公式

(5)

(6)

公式6很容易得到,将(6)代入(5)中,可以得到(7)

(7)

与n无关,即与样本(数据)无关,所以对样本的抽样没影响,可以去掉。

当ym将第n个样本分对了,则权值保持不变,否则权值增加expαm(>1)倍



接下来的内容是关于算法的三个主要部分的解释:

1、当考虑ym的变化时,最小化分类器fm的指数误差损失等价于最小化第m个基分类器ym的加权的0-1损失

2、当只考虑αm的变化时,最小化分类器fm的指数误差损失,得到基分类器的权值αm的值(与加权误差率的关系)

3、加权误差率

对(4)进行进一步的转换得到:

(8)

如果只考虑ym的变化,最小化E等价于最小化(9)

(9)

(9)表示加权误差和

如果只考虑αm的变化,最小化E得到

(10)

其中:

是加权误差率



补充AdaBoost算法框架

时间: 2024-07-28 13:55:02

关于Adaboost——样本抽样的权值的实际意义的相关文章

CNN卷积神经网络学习笔记3:权值更新公式推导

在上篇<CNN卷积神经网络学习笔记2:网络结构>中,已经介绍了CNN的网络结构的详细构成,我们已经可以初始化一个自己的CNN网络了,接下来就是要用训练得到一个确定的CNN的模型,也就是确定CNN的参数. CNN本质上就是人工神经网络的一种,只是在前几层的处理上有所不同,我们可以把卷积核看成是人工神经网络里的权值W,而采样层实质上也是一种卷积运算.所以可以基于人工神经网络的权值更新的方法来推导CNN里的权值更新公式.人工神经网络里是用反向传播算法将误差层层回传,利用梯度下降法更新每一层的权值,C

[bzoj3932][CQOI2015]任务查询系统-题解[主席树][权值线段树]

Description 最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分.超级计算机中的 任务用三元组(Si,Ei,Pi)描述,(Si,Ei,Pi)表示任务从第Si秒开始,在第Ei秒后结束(第Si秒和Ei秒任务也在运行 ),其优先级为Pi.同一时间可能有多个任务同时执行,它们的优先级可能相同,也可能不同.调度系统会经常向 查询系统询问,第Xi秒正在运行的任务中,优先级最小的Ki个任务(即将任务按照优先级从小到大排序后取前Ki个 )的优先级之和是多少.特别的,如

[NOIP2014]联合权值

描述 无向连通图G有n个点,n-1条边.点从1到n依次编号,编号为i的点的权值为Wi  ,每条边的长度均为1.图上两点(u, v)的距离定义为u点到v点的最短距离.对于图G上的点对(u, v),若它们的距离为2,则它们之间会产生Wu×Wv的联合权值. 请问图G上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 输入格式 输入文件名为link.in. 第一行包含1个整数n. 接下来n-1行,每行包含2个用空格隔开的正整数u.v,表示编号为u和编号为v的点之间有边相连.

优先队列实现哈弗曼最小权值

建立哈弗曼树要求我们每次都选频率权值最小的点构成节点,即权值小的点在树的深处,权值大的点在树的浅处,根据节点选择的特点,我们可以把节点的值放在优先队列中,包括新形成的节点. 我们先定义优先队列的优先级别. 1 struct cmp 2 { 3 bool operator()(const int &a,const int &b) 4 { 5 return a>b; 6 } 7 };//最小值优先出队 然后就是实现的整个程序. #include<stdio.h> #inclu

POJ--3259--Wormholes【SPFA判负权值回路】

题意:有n个点,之间有m条双向路径,还有w个虫洞,单向,从一点到另一点需要花费时间,但是有虫洞的话会减少时间,一个人想要走某一条路使得他能碰到过去的自己,问这个图是否能让他实现他的想法. 其实就是判一个图是否存在负权值回路,SPFA可以实现,原理是:如果存在负权值回路,那么从源点到某个顶点的距离就可以无限缩短,因此就会无限入队,所以在SPFA中统计每个顶点的入队次数,如果超过了n个(顶点个数)则说明存在负权值回路. 我把输出yes和输出no写反了,WA了两发,看了半天都没发现... #inclu

HDOJ 3790 双权值Dijkstra

1 #include <iostream> 2 #include <stdio.h> 3 #include <string.h> 4 #include <cstring> 5 using namespace std; 6 7 const int INF = 1000000; 8 const int MAXSIZE = 1005; 9 10 int map[MAXSIZE][MAXSIZE]; 11 int price[MAXSIZE][MAXSIZE]; 1

洛谷 P1351 联合权值(NOIp2014D1T2)

题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离.对于图G 上的点对( u, v) ,若它们的距离为2 ,则它们之间会产生Wu×Wv 的联合权值. 请问图G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 输入输出格式 输入格式: 输入文件名为link .in. 第一行包含1 个整数n . 接下来n - 1 行,每

洛谷——P1351 联合权值

https://www.luogu.org/problem/show?pid=1351 题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离.对于图G 上的点对( u, v) ,若它们的距离为2 ,则它们之间会产生Wu×Wv 的联合权值. 请问图G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少? 输入输出格式 输入格式

caffe中权值初始化方法

首先说明:在caffe/include/caffe中的 filer.hpp文件中有它的源文件,如果想看,可以看看哦,反正我是不想看,代码细节吧,现在不想知道太多,有个宏观的idea就可以啦,如果想看代码的具体的话,可以看:http://blog.csdn.net/xizero00/article/details/50921692,写的还是很不错的(不过有的地方的备注不对,不知道改过来了没). 文件 filler.hpp提供了7种权值初始化的方法,分别为:常量初始化(constant).高斯分布初