初始化样本数据,样本数据集大小为N,每个样本的权重设置为1/N。
相关公式:
D
1
=
(
w
11
,
w
12
,
w
13
,
w
14
,
.
.
.
,
w
1
i
,
.
.
.
,
w
1
N
)
,
w
1
i
=
1
N
,
i
=
1
,
2
,
3
,
4
,
.
.
.
,
N
D_1=(w_{11},w_{12},w_{13},w_{14},...,w_{1i},...,w_{1N}),w_{1i}=\frac{1}{N},i=1,2,3,4,...,N
D1=(w11,w12,w13,w14,...,w1i,...,w1N),w1i=N1,i=1,2,3,4,...,N
其中D1表示,第一次迭代每个样本的权值。w11表示,第1次迭代时的第一个样本的权值。
迭代。
根据前一个分类器分类结果,对样本进行加权处理(分类正确的样本权重减小,分类错误的样本权重增加)。
按照新的权重,对当前样本进行重新训练,得到一个新的弱分类器。
计算公式如下:
W k + 1 , i = W k , i Z k e − α k y k , i G k ( x i ) Z k = ∑ i = 1 m e − α k y k , i G k ( x i ) W_{k+1,i} = \frac{W_{k,i}}{Z_k} e^{-\alpha_k y_{k,i} G_k(x_i)}\\ Z_k=\sum\limits_{i=1}^{m} e^{-\alpha_k y_{k,i} G_k(x_i)} Wk+1,i=ZkWk,ie−αkyk,iGk(xi)Zk=i=1∑me−αkyk,iGk(xi)
推导出如下公式
w
i
n
e
w
=
{
1
2
(
1
−
ε
)
w
i
o
l
d
,
样本被正确分类
1
2
(
ε
)
w
i
o
l
d
,
样本被错误分类
w_{i}^{new}=
其中
ε
=
∑
i
=
1
N
w
i
I
(
f
i
≠
y
i
)
\varepsilon=\sum\limits_{i=1}^{N} w_i I(f_i\neq y_i)
ε=i=1∑NwiI(fi=yi)表示当前训练器的错误率,即所有错误分类的样本权重之和除以所有的权重之和。
I 是指示函数,如果条件成立则为 1,否则为 0。
当迭代到一定的次数,或者得到的分类器的误差很小时,结束迭代循环。
组合弱分类器。公式如下:
F
‾
=
α
1
f
1
+
α
2
f
2
+
α
3
f
3
+
.
.
.
+
α
k
f
k
\overline{F}=\alpha_{1} f_{1}+\alpha_{2} f_{2}+\alpha_{3} f_{3}+...+\alpha_{k} f_{k}
F=α1f1+α2f2+α3f3+...+αkfk
其中
α
k
=
1
2
ln
1
−
ε
k
ε
k
\alpha_{k}=\frac{1}{2}\ln{\frac{1-\varepsilon_k}{\varepsilon_k}}
αk=21lnεk1−εk,
f
k
f_k
fk表示第
k
k
k次迭代训练得到的训练器。
整体是一个强学习器,是由一个一个弱学习器迭代而来。公式如下:
F
m
(
x
)
=
F
m
−
1
(
x
)
+
α
m
G
(
x
)
F_m(x)=F_{m-1}(x)+\alpha_m G(x)
Fm(x)=Fm−1(x)+αmG(x), 强学习器需要通过
s
i
g
n
(
F
(
x
)
)
sign(F(x))
sign(F(x))函数转换输出。
其中
F
m
(
x
)
F_m(x)
Fm(x)表示第
m
m
m代强学习器,
α
m
\alpha_m
αm表示当前弱学期器的权重,
G
(
x
)
=
{
−
1
,
1
}
G(x)=\{-1,1\}
G(x)={−1,1}表示弱学习器。
怎样求取弱学习器的权重
α
m
\alpha_m
αm。
假设有 N 个样本,那么样本的初始权重为
1
N
\frac{1}{N}
N1。
定义损失函数
L
(
F
m
,
y
)
=
∑
i
=
1
N
e
−
y
i
F
m
(
x
i
)
L(F_m,y)=\sum\limits_{i=1}^{N}e^{-y_i F_m(x_i)}
L(Fm,y)=i=1∑Ne−yiFm(xi)。
根据损失函数进行化简推导:
L o s s = ∑ i = 1 N e − y i F m ( x i ) = ∑ i = 1 N e − y i [ F m − 1 ( x i ) + α m G m ( x i ) ] = ∑ i = 1 N e − y i F m − 1 ( x i ) − y i α m G m ( x i ) = ∑ i = 1 N w m i × e − y i α m G m ( x i ) = ∑ y i = G ( x i ) N w m i × e − α m + ∑ y i ≠ G ( x i ) N w m i × e α m = ∑ y i = G ( x i ) N w m i × e − α m + ∑ y i ≠ G ( x i ) N w m i × e α m + ∑ y i ≠ G ( x i ) N w m i × e − α m − ∑ y i ≠ G ( x i ) N w m i × e − α m = ∑ i = 1 N w m i × e − α m + ( e α m − e − α m ) ∑ y i ≠ G ( x i ) N w m i Loss = \sum\limits_{i=1}^{N}e^{-y_i F_m(x_i)} \\ = \sum\limits_{i=1}^{N} e^{-y_i[F_{m-1}(x_i)+\alpha_m G_m(x_i)]} \\ = \sum\limits_{i=1}^{N} e^{-y_i F_{m-1}(x_i) -y_i\alpha_m G_m(x_i)} \\ = \sum\limits_{i=1}^{N} w_{mi}\times e^{-y_i\alpha_m G_m(x_i)} \\ = \sum\limits_{y_i=G(x_i)}^{N} w_{mi}\times e^{-\alpha_m} + \sum\limits_{y_i \neq G(x_i)}^{N} w_{mi}\times e^{\alpha_m} \\ = \sum\limits_{y_i=G(x_i)}^{N} w_{mi}\times e^{-\alpha_m} + \sum\limits_{y_i \neq G(x_i)}^{N} w_{mi}\times e^{\alpha_m} +\sum\limits_{y_i \neq G( x_i)}^{N} w_{mi}\times e^{-\alpha_m} -\sum\limits_{y_i \neq G(x_i)}^{N} w_{mi}\times e^{-\alpha_m} \\ = \sum\limits_{i=1}^{N} w_{mi}\times e^{-\alpha_m} + (e^{\alpha_m}-e^{-\alpha_m})\sum\limits_{y_i \neq G(x_i)}^{N} w_{mi} Loss=i=1∑Ne−yiFm(xi)=i=1∑Ne−yi[Fm−1(xi)+αmGm(xi)]=i=1∑Ne−yiFm−1(xi)−yiαmGm(xi)=i=1∑Nwmi×e−yiαmGm(xi)=yi=G(xi)∑Nwmi×e−αm+yi=G(xi)∑Nwmi×eαm=yi=G(xi)∑Nwmi×e−αm+yi=G(xi)∑Nwmi×eαm+yi=G(xi)∑Nwmi×e−αm−yi=G(xi)∑Nwmi×e−αm=i=1∑Nwmi×e−αm+(eαm−e−αm)yi=G(xi)∑Nwmi
上面的推导用定义了权重 w m i = e − y i F m − 1 ( x i ) w_{mi}=e^{-y_i F_{m-1}(x_i)} wmi=e−yiFm−1(xi)。
接着对损失函数求导,当损失函数对 α m \alpha_m αm求偏导,导数为 0 时,取得极小值,这时可以得到 α m \alpha_m αm的值。
L o s s ′ ( α m ) = − e − α m ∑ i = 1 N w m i + ( e α m + e − α m ) ∑ y i ≠ G ( x i ) N w m i {Loss}^\prime(\alpha_m)=-e^{-\alpha_m}\sum\limits_{i=1}^{N} w_{mi} + (e^{\alpha_m}+e^{-\alpha_m})\sum\limits_{y_i \neq G(x_i)}^{N} w_{mi} Loss′(αm)=−e−αmi=1∑Nwmi+(eαm+e−αm)yi=G(xi)∑Nwmi
令 L o s s ′ ( α m ) = 0 {Loss}^\prime(\alpha_m)=0 Loss′(αm)=0得到
e − α m e α m + e − α m = ∑ y i ≠ G ( x i ) N w m i ∑ i = 1 N w m i = ∑ i N w m i I ( y i ≠ G ( x i ) ) ∑ i = 1 N w m i = e m \frac{e^{-\alpha_m}}{e^{\alpha_m}+e^{-\alpha_m}}\\ =\frac{\sum\limits_{y_i \neq G(x_i)}^{N} w_{mi}}{\sum\limits_{i=1}^{N} w_{mi}} \\ =\frac{\sum\limits_{i}^{N} w_{mi} I(y_i\neq G(x_i))}{\sum\limits_{i=1}^{N} w_{mi}}\\ = e_m eαm+e−αme−αm=i=1∑Nwmiyi=G(xi)∑Nwmi=i=1∑Nwmii∑NwmiI(yi=G(xi))=em
求解
α
m
=
1
2
ln
1
−
e
m
e
m
\alpha_m=\frac{1}{2}\ln{\frac{1-e_m}{e_m}}
αm=21lnem1−em,
其中
e
m
=
∑
i
N
w
m
i
I
(
y
i
≠
G
(
x
i
)
)
∑
i
=
1
N
w
m
i
e_m=\frac{\sum\limits_{i}^{N} w_{mi} I(y_i\neq G(x_i))}{\sum\limits_{i=1}^{N} w_{mi}}
em=i=1∑Nwmii∑NwmiI(yi=G(xi))表示分类误差率,
I
(
y
i
≠
G
(
x
i
)
)
I(y_i\neq G(x_i))
I(yi=G(xi))表示条件函数,条件成立时为 1,不成立时为 0。
怎样在迭代中求取样本的权重
w
i
w_i
wi。
根据以下公式组
F m + 1 ( x i ) = F m ( x i ) + α m + 1 G m + 1 ( x i ) W m + 1 , i = e − y i F m ( x i ) F_{m+1}(x_i)=F_{m}(x_i)+\alpha_{m+1} G_{m+1}(x_i)\\ W_{m+1,i}=e^{-y_i F_{m}(x_i)} Fm+1(xi)=Fm(xi)+αm+1Gm+1(xi)Wm+1,i=e−yiFm(xi)
推导权重的递推公式
W m + 1 , i = e − y i F m ( x i ) W m + 1 , i = e − y i ( F m − 1 ( x i ) + α m G m ( x i ) ) W m + 1 , i = W m , i ∗ e − y i α m G m ( x i ) ) W_{m+1,i}=e^{-y_i F_{m}(x_i)}\\ W_{m+1,i}=e^{-y_i (F_{m-1}(x_i)+\alpha_{m} G_{m}(x_i))}\\ W_{m+1,i}=W_{m,i} * e^{-y_i \alpha_{m} G_{m}(x_i))}\\ Wm+1,i=e−yiFm(xi)Wm+1,i=e−yi(Fm−1(xi)+αmGm(xi))Wm+1,i=Wm,i∗e−yiαmGm(xi))
其中初始值 α 0 = 1 \alpha_0=1 α0=1, w [ 0 ] i = 1 N w_{[0]i}=\frac{1}{N} w[0]i=N1。