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 α,Gmini=1∑Nexp[−yi(fm(xi))]=arg α,Gmini=1∑Nexp[−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 α,Gmini=1∑Nexp[−yi(fm−1(xi)+αG(xi))]=arg α,Gmini=1∑Nw^miexp[−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[−yifm−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αmGm(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−1Gm−1(x)=α1G1(x)+α2G2(x)+...+αm−1Gm−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)+αmGm(x)=α1G1(x)+α2G2(x)+...+αmGm(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∑NP(Gm(xi)=yi)=i=1∑NwmiI(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=21logem1−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=Zmwmiexp(−αmyiGm(xi)),i=1,2,...,NZm=i=1∑Nexp(−αmyiGm(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αmGm(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αmGm(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βmb(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,γmmini=1∑NL(yi,m=1∑Mβmb(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;γ))
β,γmini=1∑NL(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 β,γmini=1∑NL(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+βmb(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βmb(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αmGm(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−1Gm−1(x)=α1G1(x)+α2G2(x)+...+αm−1Gm−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)+αmGm(x)=α1G1(x)+α2G2(x)+...+αmGm(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 α,Gmini=1∑Nexp[−yi(fm(xi))]=arg α,Gmini=1∑Nexp[−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 α,Gmini=1∑Nexp[−yi(fm−1(xi)+αG(xi))]=arg α,Gmini=1∑Nw^miexp[−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[−yifm−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 α,Gmini=1∑Nw^miexp[−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 Gmini=1∑Nw^miI(−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∑Nw^mie−yiαG(xi)=yi=G(xi)∑w^mie−α+yi=G(xi)∑w^mieα=yi=G(xi)∑w^mieα−yi=G(xi)∑w^mie−α+yi=G(xi)∑w^mie−α+yi=G(xi)∑w^mie−α=i=1∑Nw^miI(yi=G(xi))(eα−e−α)+i=1∑Nw^mie−α
所以:
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 Gmini=1∑Nw^miI(−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∑Nw^mie−yiαG(xi)=yi=G(xi)∑w^mie−α+yi=G(xi)∑w^mieα=yi=G(xi)∑w^mieα−yi=G(xi)∑w^mie−α+yi=G(xi)∑w^mie−α+yi=G(xi)∑w^mie−α=i=1∑Nw^miI(yi=G(xi))(eα−e−α)+i=1∑Nw^mie−α
将已求得的
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=1Nw^miI(yi=G(xi))(eα−e−α)+∑i=1Nw^mie−α=i=1∑Nw^miI(yi=G(xi))eα+i=1∑Nw^miI(yi=G(xi))e−α−i=1∑Nw^mie−α=(i=1∑Nw^miI(yi=G(xi))−i=1∑Nw^mi)e−α+i=1∑Nw^miI(yi=G(xi))eα=i=1∑Nw^miI(yi=G(xi))e2α+i=1∑Nw^miI(yi=G(xi))−i=1∑Nw^mi(令)=0→e2α=∑i=1Nw^miI(yi=G(xi))∑i=1Nw^mi−∑i=1Nw^miI(yi=G(xi))→α=21ln∑i=1Nw^miI(yi=G(xi))∑i=1Nw^mi−∑i=1Nw^miI(yi=G(xi))→α=21lnem1−emem=∑i=1Nw^mi∑i=1Nw^miI(yi=G(xi))=i=1∑NwmiI(yi=G(xi))=Gm(Xi)=yi∑wmi(注:wmi表示第m轮中第i个实例的权值,i=1∑Nwmi=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)+αmGm(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−yifm−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^mie−yiαmGm(x)
至此推导完毕!