AdaBoost算法的详细数学推导过程!!
AdaBoost(Adaptive Boosting)
?
? 提升(boosting)方法是一种常用的统计学习方法,应用广泛且有效。在分类问题 中,它通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。
? 对于分类问题而言,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要 比求精确的分类规则(强分类器)容易得多。提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(又称为基本分类器),然后组合这些弱分类器,构成一个强分类器。大多数的提升方法都是改变训练数据的概率分布(训练数据的权值分布), 针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。
? 这样,对提升方法来说,有两个问题需要回答:一是在每一轮如何改变训练数据的权值或概率分布;二是如何将弱分类器组合成一个强分类器。关于第1个问 题,AdaBoost的做法是,提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。这样一来,那些没有得到正确分类的数据,由于其权值的 加大而受到后一轮的弱分类器的更大关注。于是,分类问题被一系列的弱分类器"分而泊之"。至于第2个问题,即弱分类器的组合,AdaBoost采取加权多数表决的方法。 具体地,加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用:减小分类误差率大的弱分类器的权值,使其在表决中起较小的作用。
? AdaBoost 算法还有另一个解释, 即可以认为 AdaBoost 算法是模型为**加法模型、 损失函数为指数函数、 学习算法为前向分步算法时的二类分类学习方法。**
-------------------------------------------------------------------------------------------------------------------------------------
输入:线性可分训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) } T= \{(x_1,y_1), (x_2,y_2),…, (x_N,y_N)\} T={(x1?,y1?),(x2?,y2?),…,(xN?,yN?)}
? 其中, x i ∈ X = R n , y i ∈ Y = { ? 1 , + 1 } , i = 1 , 2 , … , N x_i∈X=R^n,y_i∈Y=\{-1,+1\}, i = 1,2,…,N xi?∈X=Rn,yi?∈Y={?1,+1},i=1,2,…,N;弱学习算法
输出: 最终分类器 G ( x ) G(x) G(x)、 f ( x ) = s i g n ( G ( x ) ) f(x)=sign(G(x)) f(x)=sign(G(x))
优化问题:(损失函数为指数损失函数,即: L ( y , f ( x ) ) = e x p [ ? y f ( x ) ] L(y, f(x)) = exp[-yf(x)] L(y,f(x))=exp[?yf(x)])
目标是使前向分步算法得到的
α
m
\alpha_m
αm? 和
G
m
(
x
)
G_m(x)
Gm?(x) 使
f
m
(
x
)
f_m(x)
fm?(x) 在训练数据集T 上的指数损失最小:
(
α
m
,
G
m
(
x
)
)
=
a
r
g
?
m
i
n
α
,
G
∑
i
=
1
N
e
x
p
[
?
y
i
(
f
m
(
x
i
)
)
]
=
a
r
g
?
m
i
n
α
,
G
∑
i
=
1
N
e
x
p
[
?
y
i
(
f
m
?
1
(
x
i
)
+
α
G
(
x
i
)
)
]
(\alpha_m,G_m(x))=arg\ \underset{\alpha,G}{min}\sum_{i=1}^Nexp[-y_i(f_{m}(x_i))]\\ =arg\ \underset{\alpha,G}{min}\sum_{i=1}^Nexp[-y_i(f_{m-1}(x_i)+\alpha G(x_i))]
(αm?,Gm?(x))=arg?α,Gmin?i=1∑N?exp[?yi?(fm?(xi?))]=arg?α,Gmin?i=1∑N?exp[?yi?(fm?1?(xi?)+αG(xi?))]
上面损失函数又可以写为:
(
α
m
,
G
m
(
x
)
)
=
a
r
g
?
m
i
n
α
,
G
∑
i
=
1
N
e
x
p
[
?
y
i
(
f
m
?
1
(
x
i
)
+
α
G
(
x
i
)
)
]
=
a
r
g
?
m
i
n
α
,
G
∑
i
=
1
N
w
^
m
i
e
x
p
[
?
y
i
α
G
(
x
i
)
]
(\alpha_m,G_m(x))=arg\ \underset{\alpha,G}{min}\sum_{i=1}^Nexp[-y_i(f_{m-1}(x_i)+\alpha G(x_i))]\\ =arg\ \underset{\alpha,G}{min}\sum_{i=1}^N \hat w_{mi}exp[-y_i \alpha G(x_i)]\\
(αm?,Gm?(x))=arg?α,Gmin?i=1∑N?exp[?yi?(fm?1?(xi?)+αG(xi?))]=arg?α,Gmin?i=1∑N?w^mi?exp[?yi?αG(xi?)]
这里
w
^
m
i
=
e
x
p
[
?
y
i
f
m
?
1
(
x
)
]
\hat w_{mi}=exp[-y_if_{m-1}(x)]
w^mi?=exp[?yi?fm?1?(x)]
-------------------------------------------------------------------------------------------------------------------------------------
前向分布算法学习的是加法模型,当基函数为基本分类器时,该加法模型等价于AdaBoost的最终分类器
f
(
x
)
=
∑
m
=
1
M
α
m
G
m
(
x
)
f(x)=\sum_{m=1}^M \alpha_mG_m(x)
f(x)=m=1∑M?αm?Gm?(x)
第m-1轮迭代:
f
m
?
1
(
x
)
=
f
m
?
2
(
x
)
+
α
m
?
1
G
m
?
1
(
x
)
=
α
1
G
1
(
x
)
+
α
2
G
2
(
x
)
+
.
.
.
+
α
m
?
1
G
m
?
1
(
x
)
f_{m-1}(x)=f_{m-2}(x)+\alpha_{m-1}G_{m-1}(x)\\ =\alpha_1G_1(x)+\alpha_2G_2(x)+...+\alpha_{m-1}G_{m-1}(x)
fm?1?(x)=fm?2?(x)+αm?1?Gm?1?(x)=α1?G1?(x)+α2?G2?(x)+...+αm?1?Gm?1?(x)
第m轮迭代:
f
m
(
x
)
=
f
m
?
1
(
x
)
+
α
m
G
m
(
x
)
=
α
1
G
1
(
x
)
+
α
2
G
2
(
x
)
+
.
.
.
+
α
m
G
m
(
x
)
f_{m}(x)=f_{m-1}(x)+\alpha_{m}G_{m}(x)\\ =\alpha_1G_1(x)+\alpha_2G_2(x)+...+\alpha_{m}G_{m}(x)
fm?(x)=fm?1?(x)+αm?Gm?(x)=α1?G1?(x)+α2?G2?(x)+...+αm?Gm?(x)
-------------------------------------------------------------------------------------------------------------------------------------
AdaBoost算法流程
输入:训练数据集 T = { ( x 1 , y 1 ) 、 ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1)、(x_2,y_2),...,(x_N,y_N)\} T={(x1?,y1?)、(x2?,y2?),...,(xN?,yN?)}其中 x i ∈ X ? R n , y i ∈ Y = { ? 1 , + 1 } x_i∈X\subset R^n, y_i∈ Y = \{-1, +1 \} xi?∈X?Rn,yi?∈Y={?1,+1};弱学习算法;
输出:最终分类器G(x)。
(1)初始化训练数据的权值分布
D
1
=
(
w
11
,
w
12
,
.
.
.
,
w
1
i
,
.
.
.
,
w
1
N
)
,
???
w
1
i
=
1
N
,
???
i
=
1
,
2
,
.
.
.
,
N
D_1=(w_{11},w_{12},...,w_{1i},...,w_{1N}),\ \ \ w_{1i}=\frac1N,\ \ \ i=1,2,...,N
D1?=(w11?,w12?,...,w1i?,...,w1N?),???w1i?=N1?,???i=1,2,...,N
(2)对
m
=
1
,
2
,
.
.
.
,
M
m=1,2,...,M
m=1,2,...,M
? (a)使用具有权值分布
D
m
D_m
Dm?的训练数据集学习,得到基本分类器
G
m
(
x
)
:
X
→
{
?
1
,
?
+
1
}
G_m(x):X→\{-1,\ +1\}
Gm?(x):X→{?1,?+1}
? (b)计算
G
(
x
)
G(x)
G(x)在训练数据集上的分类误差率
e
m
=
∑
i
=
1
N
P
(
G
m
(
x
i
)
≠
y
i
)
=
∑
i
=
1
N
w
m
i
I
(
G
m
(
x
i
)
≠
y
i
)
e_m=\sum_{i=1}^NP(G_m(x_i)≠y_i)=\sum_{i=1}^Nw_{mi}I(G_m(x_i)≠y_i)
em?=i=1∑N?P(Gm?(xi?)=yi?)=i=1∑N?wmi?I(Gm?(xi?)=yi?)
? (c)计算
G
m
(
x
)
G_m(x)
Gm?(x)的系数
α
m
=
1
2
l
o
g
1
?
e
m
e
m
\alpha_m=\frac12log\frac{1-e_m}{e_m}
αm?=21?logem?1?em??
? (d)更新训练数据集的权值分布
D
m
+
1
=
(
w
m
+
1
,
1
,
w
m
+
1
,
2
,
.
.
.
,
w
m
+
1
,
i
,
.
.
.
,
w
m
+
1
,
N
)
w
m
+
1
,
i
=
w
m
i
Z
m
e
x
p
(
?
α
m
y
i
G
m
(
x
i
)
)
,
i
=
1
,
2
,
.
.
.
,
N
Z
m
=
∑
i
=
1
N
e
x
p
(
?
α
m
y
i
G
m
(
x
i
)
)
是规范化因子
,
它使得
D
m
+
1
成为一个概率分布
D_{m+1}=(w_{m+1,1},w_{m+1,2},...,w_{m+1,i},...,w_{m+1,N})\\ \\ w_{m+1,i}=\frac{w_{mi}}{Z_m}exp(-\alpha_my_iG_m(x_i)),i=1,2,...,N\\ \\ Z_m=\sum_{i=1}^Nexp(-\alpha_my_iG_m(x_i))是规范化因子,它使得D_{m+1}成为一个概率分布
Dm+1?=(wm+1,1?,wm+1,2?,...,wm+1,i?,...,wm+1,N?)wm+1,i?=Zm?wmi??exp(?αm?yi?Gm?(xi?)),i=1,2,...,NZm?=i=1∑N?exp(?αm?yi?Gm?(xi?))是规范化因子,它使得Dm+1?成为一个概率分布
(3)构建基本分类器的线性组合
f
(
x
)
=
∑
m
=
1
M
α
m
G
m
(
x
)
f(x)=\sum_{m=1}^M\alpha_mG_m(x)
f(x)=m=1∑M?αm?Gm?(x)
得到最终的分类器:
G
(
x
)
=
s
i
g
n
(
f
(
x
)
)
=
s
i
g
n
(
∑
m
=
1
M
α
m
G
m
(
x
)
)
G(x)=sign(f(x))=sign(\sum_{m=1}^M\alpha_mG_m(x))
G(x)=sign(f(x))=sign(m=1∑M?αm?Gm?(x))
前向分布算法
?
? AdaBoost 算法是模型为加法模型、 损失函数为指数函数、 学习算法为前向分步算法时的二类分类学习方法。
加法模型:
f
(
x
)
=
∑
m
=
1
M
β
m
b
(
x
;
γ
m
)
f(x)=\sum_{m=1}^M\beta_mb(x;γ_m)
f(x)=m=1∑M?βm?b(x;γm?)
其中,
b
(
x
;
γ
m
)
b(x;γ_m)
b(x;γm?)为基函数,
γ
m
γ_m
γm? 为基函数的参数,
β
m
\beta_m
βm?为基函数的系数。
? 学习该加法模型成为损失函数极小化问题:
m
i
n
β
m
,
γ
m
∑
i
=
1
N
L
(
y
i
,
∑
m
=
1
M
β
m
b
(
x
i
;
γ
m
)
)
\underset{\beta_m,γ_m}{min}\sum_{i=1}^NL(y_i,\sum_{m=1}^M\beta_mb(x_i;γ_m))
βm?,γm?min?i=1∑N?L(yi?,m=1∑M?βm?b(xi?;γm?))
? 前向分步算法(forward stagewise algorithm)求解这一优化问题的想法是:因为学习的是加法模型,如果能够从前向后,每一步只学习一个基函数及其系数,逐步逼近优化目标函数式,那么就可以简化优化的复 杂度。
? 每一步都只需要优化如下损失函数:
m
i
n
β
,
γ
∑
i
=
1
N
L
(
y
i
,
β
b
(
x
i
;
γ
)
)
\underset{\beta,γ}{min}\sum_{i=1}^NL(y_i,\beta b(x_i;γ))
β,γmin?i=1∑N?L(yi?,βb(xi?;γ))
前向分布算法的算法流程
输入:训练数据集 T = { ( x 1 , y 1 ) 、 ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1)、(x_2,y_2),...,(x_N,y_N)\} T={(x1?,y1?)、(x2?,y2?),...,(xN?,yN?)}损失函数 L ( y , f ( x ) ) L(y,f(x)) L(y,f(x));函数集 { b ( x ; γ ) } \{b(x;γ)\} {b(x;γ)};
输出:加法模型 f ( x ) f(x) f(x)。
(1)初始化 f 0 ( x ) = 0 f_0(x)=0 f0?(x)=0
(2)对 m = 1 , 2 , . . . , M m=1,2,...,M m=1,2,...,M
? (a)极小化损失函数
(
β
m
,
γ
m
)
=
a
r
g
?
m
i
n
β
,
γ
∑
i
=
1
N
L
(
y
i
,
f
m
?
1
(
x
i
)
+
β
b
(
x
i
;
γ
)
)
(\beta_m,γ_m)=arg\ \underset{\beta,γ}{min}\sum_{i=1}^NL(y_i,f_{m-1}(x_i)+\beta b(x_i;γ))
(βm?,γm?)=arg?β,γmin?i=1∑N?L(yi?,fm?1?(xi?)+βb(xi?;γ))
得到参数
β
m
\beta_m
βm?,
γ
m
γ_m
γm?
? (b)更新
f
m
(
x
)
=
f
m
?
1
+
β
m
b
(
x
;
γ
m
)
f_m(x)=f_{m-1}+\beta_mb(x;γ_m)
fm?(x)=fm?1?+βm?b(x;γm?)
(3)得到加法模型
f
(
x
)
=
f
M
(
x
)
=
∑
m
=
1
M
β
m
b
(
x
;
γ
m
)
f(x)=f_M(x)=\sum_{m=1}^M\beta_mb(x;γ_m)
f(x)=fM?(x)=m=1∑M?βm?b(x;γm?)
这样,前向分布算法将同时求解从m=1到M的所有参数
β
m
,
γ
m
\beta_m,γ_m
βm?,γm? 的优化问题简化为逐次求解各个
β
m
,
γ
m
\beta_m,γ_m
βm?,γm?的优化问题
前向分布算法与AdaBoost
前向分布算法当基函数为基本分类器时,该加法模型等价于AdaBoost的最终分类器
f
(
x
)
=
∑
m
=
1
M
α
m
G
m
(
x
)
f(x)=\sum_{m=1}^M \alpha_mG_m(x)
f(x)=m=1∑M?αm?Gm?(x)
当前向分布算法的损失函数是指数损失函数时,其学习的具体操作等价于AdaBoost算法学习的具体操作。
L
(
y
,
f
(
x
)
)
=
e
x
p
[
?
y
f
(
x
)
]
L(y,f(x))=exp[-yf(x)]
L(y,f(x))=exp[?yf(x)]
假设经过m-1轮迭代前向分布算法已经得到
f
m
?
1
(
x
)
f_{m-1}(x)
fm?1?(x):
f
m
?
1
(
x
)
=
f
m
?
2
(
x
)
+
α
m
?
1
G
m
?
1
(
x
)
=
α
1
G
1
(
x
)
+
α
2
G
2
(
x
)
+
.
.
.
+
α
m
?
1
G
m
?
1
(
x
)
f_{m-1}(x)=f_{m-2}(x)+\alpha_{m-1}G_{m-1}(x)\\ =\alpha_1G_1(x)+\alpha_2G_2(x)+...+\alpha_{m-1}G_{m-1}(x)
fm?1?(x)=fm?2?(x)+αm?1?Gm?1?(x)=α1?G1?(x)+α2?G2?(x)+...+αm?1?Gm?1?(x)
第m轮迭代得到
α
m
,
G
m
(
x
)
,
f
m
(
x
)
\alpha_m,G_m(x),f_m(x)
αm?,Gm?(x),fm?(x):
f
m
(
x
)
=
f
m
?
1
(
x
)
+
α
m
G
m
(
x
)
=
α
1
G
1
(
x
)
+
α
2
G
2
(
x
)
+
.
.
.
+
α
m
G
m
(
x
)
f_{m}(x)=f_{m-1}(x)+\alpha_{m}G_{m}(x)\\ =\alpha_1G_1(x)+\alpha_2G_2(x)+...+\alpha_{m}G_{m}(x)
fm?(x)=fm?1?(x)+αm?Gm?(x)=α1?G1?(x)+α2?G2?(x)+...+αm?Gm?(x)
目标是使前向分步算法得到的
α
m
\alpha_m
αm? 和
G
m
(
x
)
G_m(x)
Gm?(x) 使
f
m
(
x
)
f_m(x)
fm?(x) 在训练数据集T 上的指数损失最小:
(
α
m
,
G
m
(
x
)
)
=
a
r
g
?
m
i
n
α
,
G
∑
i
=
1
N
e
x
p
[
?
y
i
(
f
m
(
x
i
)
)
]
=
a
r
g
?
m
i
n
α
,
G
∑
i
=
1
N
e
x
p
[
?
y
i
(
f
m
?
1
(
x
i
)
+
α
G
(
x
i
)
)
]
(\alpha_m,G_m(x))=arg\ \underset{\alpha,G}{min}\sum_{i=1}^Nexp[-y_i(f_{m}(x_i))]\\ =arg\ \underset{\alpha,G}{min}\sum_{i=1}^Nexp[-y_i(f_{m-1}(x_i)+\alpha G(x_i))]
(αm?,Gm?(x))=arg?α,Gmin?i=1∑N?exp[?yi?(fm?(xi?))]=arg?α,Gmin?i=1∑N?exp[?yi?(fm?1?(xi?)+αG(xi?))]
上面损失函数又可以写为:
(
α
m
,
G
m
(
x
)
)
=
a
r
g
?
m
i
n
α
,
G
∑
i
=
1
N
e
x
p
[
?
y
i
(
f
m
?
1
(
x
i
)
+
α
G
(
x
i
)
)
]
=
a
r
g
?
m
i
n
α
,
G
∑
i
=
1
N
w
^
m
i
e
x
p
[
?
y
i
α
G
(
x
i
)
]
(\alpha_m,G_m(x))=arg\ \underset{\alpha,G}{min}\sum_{i=1}^Nexp[-y_i(f_{m-1}(x_i)+\alpha G(x_i))]\\ =arg\ \underset{\alpha,G}{min}\sum_{i=1}^N \hat w_{mi}exp[-y_i \alpha G(x_i)]\\
(αm?,Gm?(x))=arg?α,Gmin?i=1∑N?exp[?yi?(fm?1?(xi?)+αG(xi?))]=arg?α,Gmin?i=1∑N?w^mi?exp[?yi?αG(xi?)]
这里
w
^
m
i
=
e
x
p
[
?
y
i
f
m
?
1
(
x
)
]
\hat w_{mi}=exp[-y_if_{m-1}(x)]
w^mi?=exp[?yi?fm?1?(x)]
因为 w ^ m i \hat w_{mi} w^mi?既不依赖 α \alpha α也不依赖G,所以与最小化无关。但是 w ^ m i \hat w_{mi} w^mi?依赖于 f m ? 1 ( x ) f_{m-1}(x) fm?1?(x),随着每一轮的迭代而发生改变。
求解
(
α
m
,
G
m
(
x
)
)
=
a
r
g
?
m
i
n
α
,
G
∑
i
=
1
N
w
^
m
i
e
x
p
[
?
y
i
α
G
(
x
i
)
]
(\alpha_m,G_m(x))=arg\ \underset{\alpha,G}{min}\sum_{i=1}^N \hat w_{mi}exp[-y_i \alpha G(x_i)]\\
(αm?,Gm?(x))=arg?α,Gmin?i=1∑N?w^mi?exp[?yi?αG(xi?)]
分为两步:第一步,首先求
G
m
?
(
x
)
G_m^*(x)
Gm??(x);第二步,求
α
m
?
\alpha^*_m
αm??。
①:对于任意的
α
>
0
\alpha > 0
α>0,使得上式最小的
G
(
x
)
G(x)
G(x)由下式得到:
G
m
?
(
x
)
=
a
r
g
?
m
i
n
G
∑
i
=
1
N
w
^
m
i
I
(
?
y
i
≠
G
(
x
i
)
)
G_m^*(x)=arg\ \underset{G}{min}\sum_{i=1}^N \hat w_{mi}I(-y_i≠G(x_i))\\
Gm??(x)=arg?Gmin?i=1∑N?w^mi?I(?yi?=G(xi?))
推导如下:
∑
i
=
1
N
w
^
m
i
e
?
y
i
α
G
(
x
i
)
=
∑
y
i
=
G
(
x
i
)
w
^
m
i
e
?
α
+
∑
y
i
≠
G
(
x
i
)
w
^
m
i
e
α
=
∑
y
i
≠
G
(
x
i
)
w
^
m
i
e
α
?
∑
y
i
≠
G
(
x
i
)
w
^
m
i
e
?
α
+
∑
y
i
≠
G
(
x
i
)
w
^
m
i
e
?
α
+
∑
y
i
=
G
(
x
i
)
w
^
m
i
e
?
α
=
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
(
e
α
?
e
?
α
)
+
∑
i
=
1
N
w
^
m
i
e
?
α
\sum_{i=1}^N \hat w_{mi}e^{-y_i\alpha G(x_i)}=\sum_{y_i=G(x_i)} \hat w_{mi}e^{-\alpha}+\sum_{y_i≠G(x_i)} \hat w_{mi}e^{\alpha}\\ \\ =\sum_{y_i≠G(x_i)} \hat w_{mi}e^{\alpha}-\sum_{y_i≠G(x_i)} \hat w_{mi}e^{-\alpha}+\sum_{y_i≠G(x_i)} \hat w_{mi}e^{-\alpha}+\sum_{y_i=G(x_i)} \hat w_{mi}e^{-\alpha}\\ \\ =\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))(e^{\alpha}-e^{-\alpha})+\sum_{i=1}^N\hat w_{mi}e^{-\alpha}\\ \\
i=1∑N?w^mi?e?yi?αG(xi?)=yi?=G(xi?)∑?w^mi?e?α+yi?=G(xi?)∑?w^mi?eα=yi?=G(xi?)∑?w^mi?eα?yi?=G(xi?)∑?w^mi?e?α+yi?=G(xi?)∑?w^mi?e?α+yi?=G(xi?)∑?w^mi?e?α=i=1∑N?w^mi?I(yi?=G(xi?))(eα?e?α)+i=1∑N?w^mi?e?α
所以:
G
m
?
(
x
)
=
a
r
g
?
m
i
n
G
∑
i
=
1
N
w
^
m
i
I
(
?
y
i
≠
G
(
x
i
)
)
G_m^*(x)=arg\ \underset{G}{min}\sum_{i=1}^N \hat w_{mi}I(-y_i≠G(x_i))\\
Gm??(x)=arg?Gmin?i=1∑N?w^mi?I(?yi?=G(xi?))
②:求解
α
m
?
\alpha ^*_m
αm??
∑
i
=
1
N
w
^
m
i
e
?
y
i
α
G
(
x
i
)
=
∑
y
i
=
G
(
x
i
)
w
^
m
i
e
?
α
+
∑
y
i
≠
G
(
x
i
)
w
^
m
i
e
α
=
∑
y
i
≠
G
(
x
i
)
w
^
m
i
e
α
?
∑
y
i
≠
G
(
x
i
)
w
^
m
i
e
?
α
+
∑
y
i
≠
G
(
x
i
)
w
^
m
i
e
?
α
+
∑
y
i
=
G
(
x
i
)
w
^
m
i
e
?
α
=
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
(
e
α
?
e
?
α
)
+
∑
i
=
1
N
w
^
m
i
e
?
α
\sum_{i=1}^N \hat w_{mi}e^{-y_i\alpha G(x_i)}=\sum_{y_i=G(x_i)} \hat w_{mi}e^{-\alpha}+\sum_{y_i≠G(x_i)} \hat w_{mi}e^{\alpha}\\ \\ =\sum_{y_i≠G(x_i)} \hat w_{mi}e^{\alpha}-\sum_{y_i≠G(x_i)} \hat w_{mi}e^{-\alpha}+\sum_{y_i≠G(x_i)} \hat w_{mi}e^{-\alpha}+\sum_{y_i=G(x_i)} \hat w_{mi}e^{-\alpha}\\ \\ =\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))(e^{\alpha}-e^{-\alpha})+\sum_{i=1}^N\hat w_{mi}e^{-\alpha}\\ \\
i=1∑N?w^mi?e?yi?αG(xi?)=yi?=G(xi?)∑?w^mi?e?α+yi?=G(xi?)∑?w^mi?eα=yi?=G(xi?)∑?w^mi?eα?yi?=G(xi?)∑?w^mi?e?α+yi?=G(xi?)∑?w^mi?e?α+yi?=G(xi?)∑?w^mi?e?α=i=1∑N?w^mi?I(yi?=G(xi?))(eα?e?α)+i=1∑N?w^mi?e?α
将已求得的
G
m
?
(
x
)
G_m^*(x)
Gm??(x)代入,对
α
\alpha
α求导并令导数为0:
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
(
e
α
?
e
?
α
)
+
∑
i
=
1
N
w
^
m
i
e
?
α
?
α
=
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
e
α
+
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
e
?
α
?
∑
i
=
1
N
w
^
m
i
e
?
α
=
(
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
?
∑
i
=
1
N
w
^
m
i
)
e
?
α
+
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
e
α
=
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
e
2
α
+
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
?
∑
i
=
1
N
w
^
m
i
(
令
)
=
0
→
e
2
α
=
∑
i
=
1
N
w
^
m
i
?
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
→
α
=
1
2
l
n
∑
i
=
1
N
w
^
m
i
?
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
→
α
=
1
2
l
n
1
?
e
m
e
m
e
m
=
∑
i
=
1
N
w
^
m
i
I
(
y
i
≠
G
(
x
i
)
)
∑
i
=
1
N
w
^
m
i
=
∑
i
=
1
N
w
m
i
I
(
y
i
≠
G
(
x
i
)
)
=
∑
G
m
(
X
i
)
≠
y
i
w
m
i
(
注
:
w
m
i
表示第
m
轮中第
i
个实例的权值
,
∑
i
=
1
N
w
m
i
=
1
)
\frac{\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))(e^{\alpha}-e^{-\alpha})+\sum_{i=1}^N\hat w_{mi}e^{-\alpha}}{\partial \alpha}\\ \\ =\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))e^{\alpha}+\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))e^{-\alpha}-\sum_{i=1}^N\hat w_{mi}e^{-\alpha}\\ \\ =(\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))-\sum_{i=1}^N\hat w_{mi})e^{-\alpha}+\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))e^{\alpha}\\ \\ =\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))e^{2\alpha}+\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))-\sum_{i=1}^N\hat w_{mi}(令)=0\\ \\ →e^{2\alpha}=\frac{\sum_{i=1}^N\hat w_{mi}-\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))}{\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))}\\ \\ →\alpha = \frac12ln\frac{\sum_{i=1}^N\hat w_{mi}-\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))}{\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))}\\ \\ →\alpha = \frac12ln\frac{1-e_m}{e_m}\\ \\ e_m=\frac{\sum_{i=1}^N \hat w_{mi}I(y_i≠G(x_i))}{\sum_{i=1}^N\hat w_{mi}}=\sum_{i=1}^N w_{mi}I(y_i≠G(x_i))\\ \\ =\sum_{G_m(X_i)≠y_i}w_{mi}(注:w_{mi}表示第m轮中第i个实例的权值,\sum_{i=1}^Nw_{mi}=1)
?α∑i=1N?w^mi?I(yi?=G(xi?))(eα?e?α)+∑i=1N?w^mi?e?α?=i=1∑N?w^mi?I(yi?=G(xi?))eα+i=1∑N?w^mi?I(yi?=G(xi?))e?α?i=1∑N?w^mi?e?α=(i=1∑N?w^mi?I(yi?=G(xi?))?i=1∑N?w^mi?)e?α+i=1∑N?w^mi?I(yi?=G(xi?))eα=i=1∑N?w^mi?I(yi?=G(xi?))e2α+i=1∑N?w^mi?I(yi?=G(xi?))?i=1∑N?w^mi?(令)=0→e2α=∑i=1N?w^mi?I(yi?=G(xi?))∑i=1N?w^mi??∑i=1N?w^mi?I(yi?=G(xi?))?→α=21?ln∑i=1N?w^mi?I(yi?=G(xi?))∑i=1N?w^mi??∑i=1N?w^mi?I(yi?=G(xi?))?→α=21?lnem?1?em??em?=∑i=1N?w^mi?∑i=1N?w^mi?I(yi?=G(xi?))?=i=1∑N?wmi?I(yi?=G(xi?))=Gm?(Xi?)=yi?∑?wmi?(注:wmi?表示第m轮中第i个实例的权值,i=1∑N?wmi?=1)
每一轮的权值更新,由:
f
m
(
x
)
=
f
m
?
1
(
x
)
+
α
m
G
m
(
x
)
f_m(x)=f_{m-1}(x)+\alpha_mG_m(x)
fm?(x)=fm?1?(x)+αm?Gm?(x)
以及
w
^
m
i
=
e
?
y
i
f
m
?
i
(
x
i
)
\hat w_{mi}=e^{-y_if_{m-i(x_i)}}
w^mi?=e?yi?fm?i(xi?)?可得:
w
^
m
+
1
,
i
=
w
^
m
i
e
?
y
i
α
m
G
m
(
x
)
\hat w_{m+1,i}=\hat w_{mi}e^{-y_i\alpha_mG_m(x)}
w^m+1,i?=w^mi?e?yi?αm?Gm?(x)
至此推导完毕!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!