Adaboost
1.思想
通过改变数据概率分布,来得到一系列的弱分类器。
主要有两个问题:
(1)如何改变数据分布
将上一弱分类器误分样例的权重提高,正确分类样例的权重降低
(2)如何将若分类器组合为强分类器
加权求和
2.算法流程
输入:训练样本集 T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) , 其 中 x ∈ χ ⊂ R n , y ∈ { 1 , − 1 } T={(x_1,y_1),(x_2,y_2),...,(x_n,y_n)},其中x\in\chi\subset{R^n},y\in{\{1,-1\}} T=(x1,y1),(x2,y2),...,(xn,yn),其中x∈χ⊂Rn,y∈{1,−1}
输入:分类器 G ( x ) = ∑ t = 1 T a t G t ( x ) G(x)=\sum_{t=1}^Ta_tG_t(x) G(x)=∑t=1TatGt(x)
-
初始化样本权重 D 1 = ( w 1 , 1 , w 1 , 2 , . . . , w 1 , m ) , w 1 , i = 1 m D_1=(w_{1,1},w_{1,2},...,w_{1,m}),w_{1,i}=\frac{1}{m} D1=(w1,1,w1,2,...,w1,m),w1,i=m1
-
根据样本分布 D t D_t Dt,训练得到基分类器 G t ( x ) G_t(x) Gt(x)
-
计算样本分布 D t D_t Dt下, G t ( x ) G_t(x) Gt(x)的误差 ε t \varepsilon_t εt
-
计算该分类器的权重 a t = 1 2 l n 1 − ε t ε t a_t=\frac{1}{2}\mathop{ln}\frac{1-\varepsilon_t}{\varepsilon_t} at=21lnεt1−εt
5.根据 a t a_t at调整样本集的分布,得到 D t + 1 D_{t+1} Dt+1, D t + 1 = ( w t + 1 , 1 , w t + 1 , 2 , . . . , w t + 1 , m ) , w t + 1 , i = w t , i e x p ( − a t y t h t ( x ) ) z m D_{t+1}=(w_{t+1,1},w_{t+1,2},...,w_{t+1,m}),w_{t+1,i}=\frac{w_{t,i}exp(-a_ty_th_t(x))}{z_m} Dt+1=(wt+1,1,wt+1,2,...,wt+1,m),wt+1,i=zmwt,iexp(−atytht(x)), z m z_m zm是归一化因子。
6.重复2,3,4,5步直到得到T个基分类器
tips:
1.分类器的权重 a t a_t at在当 ε t ≤ 0.5 \varepsilon_t\le0.5 εt≤0.5时, a t ≥ 0 a_t\ge0 at≥0并且 a t a_t at随着 ε t \varepsilon_t εt的减少而增大(基分类器的误差越小,对于的权重就越大)。当 ε t ≥ 0.5 \varepsilon_t\ge0.5 εt≥0.5时, a t ≤ 0 a_t\le0 at≤0。此时认为基分类器效果太差,差于随机猜测。抛弃当前基分类器。
3.算法解释
假设空间:加法模型 G ( x ) = ∑ t = 1 T G t ( x ) G(x)=\sum_{t=1}^TG_t(x) G(x)=∑t=1TGt(x)
损失函数:指数损失函数 L e x p ( G ( x ) ∣ D ) = E x ∼ D ( e − f ( x ) G ( x ) ) L_{exp(G(x)|D)=E_{x\sim{D}}}(e^{-f(x)G(x)}) Lexp(G(x)∣D)=Ex∼D(e−f(x)G(x))
优化算法:前向分布算法:按照2中的算法依次得到T个基分类器
4.证明
4.1证明分类器权重是 a t a_t at
输入:当前样本分布
D
t
D_t
Dt,当前的基分类器
h
t
(
x
)
h_t(x)
ht(x)。
h
t
(
x
)
h_t(x)
ht(x)的权重未知,设为
ω
\omega
ω。权重
ω
\omega
ω应使得指数损失函数在样本分布
D
t
D_t
Dt下最小化。即
ω
=
a
r
g
m
i
n
ω
L
(
w
h
t
(
x
)
∣
D
t
)
\omega=\mathop{argmin}\limits_{\omega}L(wh_t(x)|D_t)
ω=ωargminL(wht(x)∣Dt)
L
(
w
h
t
(
x
)
∣
D
t
)
=
E
x
∼
D
t
(
e
x
p
(
−
f
(
x
)
w
h
t
(
x
)
)
)
=
e
x
p
(
−
w
)
p
(
f
(
x
)
=
h
t
(
x
)
)
+
e
x
p
(
w
)
p
(
f
(
x
)
≠
h
t
(
x
)
)
=
e
x
p
(
−
w
)
(
1
−
ε
t
)
+
e
x
p
(
w
)
ε
t
L(wh_t(x)|D_t)=E_{x\sim{D_t}}(exp(-f(x)wh_t(x)))\\=exp(-w)p(f(x)=h_t(x))+exp(w)p(f(x)\ne{h_t(x)})\\=exp(-w)(1-\varepsilon_t)+exp(w)\varepsilon_t
L(wht(x)∣Dt)=Ex∼Dt(exp(−f(x)wht(x)))=exp(−w)p(f(x)=ht(x))+exp(w)p(f(x)=ht(x))=exp(−w)(1−εt)+exp(w)εt
令
∂
L
(
w
h
t
(
x
)
∣
D
t
∂
w
=
0
\frac{\partial L(wh_t(x)|D_t}{\partial w}=0
∂w∂L(wht(x)∣Dt=0求得。
w
=
1
2
l
n
1
−
ε
t
ε
t
w=\frac{1}{2}\mathop{ln}\frac{1-\varepsilon_t}{\varepsilon_t}
w=21lnεt1−εt
4.2对数损失函数等价于极大化后验概率
L ( G ( x ) ∣ D ) = E x ∼ D ( e x p ( − f ( x ) G ( x ) ) ) = e x p ( − G ( X ) ) p ( f ( x ) = 1 ∣ D ) + e x p ( G ( x ) ) p ( f ( x ) = − 1 ∣ D ) L(G(x)|D)=E_{x\sim{D}}(exp(-f(x)G(x)))\\=exp(-G(X))p(f(x)=1|D)+exp(G(x))p(f(x)=-1|D)\\ L(G(x)∣D)=Ex∼D(exp(−f(x)G(x)))=exp(−G(X))p(f(x)=1∣D)+exp(G(x))p(f(x)=−1∣D)
对G(x)求偏导得,并令其等于0,可求得G(x)
∂
L
(
G
(
x
)
∣
D
)
∂
G
(
x
)
=
−
e
x
p
(
−
G
(
X
)
)
p
(
f
(
x
)
=
1
∣
D
)
+
e
x
p
(
G
(
x
)
)
p
(
f
(
x
)
=
−
1
∣
D
)
\frac{\partial L(G(x)|D)}{\partial G(x)}=-exp(-G(X))p(f(x)=1|D)+exp(G(x))p(f(x)=-1|D)\\
∂G(x)∂L(G(x)∣D)=−exp(−G(X))p(f(x)=1∣D)+exp(G(x))p(f(x)=−1∣D)
G ( x ) = 1 2 l n p ( f ( x ) = 1 ∣ D ) p ( f ( x ) = − 1 ∣ D ) G(x)=\frac{1}{2}\mathop{ln}\frac{p(f(x)=1|D)}{p(f(x)=-1|D)} G(x)=21lnp(f(x)=−1∣D)p(f(x)=1∣D)
考虑到决策函数为sign(G(x)),即有以下关系成立。
s
i
g
n
(
G
(
x
)
)
=
{
1
,
p
(
f
(
x
)
=
1
∣
D
)
>
p
(
f
(
x
)
=
−
1
∣
D
)
−
1
,
p
(
f
(
x
)
=
1
∣
D
)
<
p
(
f
(
x
)
=
−
1
∣
D
)
sign(G(x))=\begin{cases}1, &p(f(x)=1|D)>p(f(x)=-1|D)\\ -1, &p(f(x)=1|D)<p(f(x)=-1|D)\end{cases}
sign(G(x))={1,−1,p(f(x)=1∣D)>p(f(x)=−1∣D)p(f(x)=1∣D)<p(f(x)=−1∣D)
即评价指标为指数损失函数得到的最优模型,实际上是根据最大后验概率进行决策的。