《8.3.2 前向分步算法与 AdaBoost》最小α公式如何通过简化得到的

本文是将文章《8.3.2 前向分步算法与 AdaBoost》中的公式单独拿出来做一个详细的解析,便于初学者更好的理解。


α m ∗ = 1 2 log ⁡ 1 − e m e m \alpha_m^* = \frac{1}{2} \log \frac{1 - e_m}{e_m} αm=21logem1em


我们从公式 ( 8.22 ) (8.22) (8.22) 开始,详细列出将 G m ∗ ( x ) G_m^*(x) Gm(x) 代入后并一步步化简的过程。

公式 ( 8.22 ) (8.22) (8.22)

首先,公式 ( 8.22 ) (8.22) (8.22) 的初始形式为:

∑ i = 1 N w m i exp ⁡ ( − y i α G ( x i ) ) = ( e α − e − α ) ∑ i = 1 N w m i I ( y i ≠ G ( x i ) ) + e − α ∑ i = 1 N w m i \sum_{i=1}^N w_{mi} \exp(-y_i \alpha G(x_i)) = (e^{\alpha} - e^{-\alpha}) \sum_{i=1}^N w_{mi} I(y_i \neq G(x_i)) + e^{-\alpha} \sum_{i=1}^N w_{mi} i=1Nwmiexp(yiαG(xi))=(eαeα)i=1NwmiI(yi=G(xi))+eαi=1Nwmi

其中:

  • G ( x ) G(x) G(x) 是一个弱分类器。
  • w m i w_{mi} wmi 是样本 x i x_i xi 的权重。
  • I ( y i ≠ G ( x i ) ) I(y_i \neq G(x_i)) I(yi=G(xi)) 是指示函数,当 y i ≠ G ( x i ) y_i \neq G(x_i) yi=G(xi) 时取 1,否则取 0。

1. 将 G m ∗ ( x ) G_m^*(x) Gm(x) 代入公式 ( 8.22 ) (8.22) (8.22)

已知 G m ∗ ( x ) G_m^*(x) Gm(x) 是在第 m m m 轮使分类误差最小的弱分类器,因此将 G ( x ) G(x) G(x) 替换为 G m ∗ ( x ) G_m^*(x) Gm(x),公式变为:

∑ i = 1 N w m i exp ⁡ ( − y i α G m ∗ ( x i ) ) = ( e α − e − α ) ∑ i = 1 N w m i I ( y i ≠ G m ∗ ( x i ) ) + e − α ∑ i = 1 N w m i \sum_{i=1}^N w_{mi} \exp(-y_i \alpha G_m^*(x_i)) = (e^{\alpha} - e^{-\alpha}) \sum_{i=1}^N w_{mi} I(y_i \neq G_m^*(x_i)) + e^{-\alpha} \sum_{i=1}^N w_{mi} i=1Nwmiexp(yiαGm(xi))=(eαeα)i=1NwmiI(yi=Gm(xi))+eαi=1Nwmi

接下来我们简化公式中的各项。

2. 定义分类误差率 e m e_m em

定义当前弱分类器 G m ∗ ( x ) G_m^*(x) Gm(x) 的加权分类误差率为:

e m = ∑ i = 1 N w m i I ( y i ≠ G m ∗ ( x i ) ) e_m = \sum_{i=1}^N w_{mi} I(y_i \neq G_m^*(x_i)) em=i=1NwmiI(yi=Gm(xi))

在这个定义下,公式可以重写为:

∑ i = 1 N w m i exp ⁡ ( − y i α G m ∗ ( x i ) ) = ( e α − e − α ) e m + e − α ∑ i = 1 N w m i \sum_{i=1}^N w_{mi} \exp(-y_i \alpha G_m^*(x_i)) = (e^{\alpha} - e^{-\alpha}) e_m + e^{-\alpha} \sum_{i=1}^N w_{mi} i=1Nwmiexp(yiαGm(xi))=(eαeα)em+eαi=1Nwmi

3. 求解总权重和

权重 w m i w_{mi} wmi 是在上一轮(即第 m − 1 m-1 m1 轮)归一化过的权重,因此满足:

∑ i = 1 N w m i = 1 \sum_{i=1}^N w_{mi} = 1 i=1Nwmi=1

于是公式可以进一步简化为:

∑ i = 1 N w m i exp ⁡ ( − y i α G m ∗ ( x i ) ) = ( e α − e − α ) e m + e − α \sum_{i=1}^N w_{mi} \exp(-y_i \alpha G_m^*(x_i)) = (e^{\alpha} - e^{-\alpha}) e_m + e^{-\alpha} i=1Nwmiexp(yiαGm(xi))=(eαeα)em+eα

4. 对 α \alpha α 求导,找到最优 α m \alpha_m αm

我们希望找到一个最优的 α \alpha α 值,使得上式的损失最小。为此,对 α \alpha α 求导并令其等于 0。

将公式记为:

f ( α ) = ( e α − e − α ) e m + e − α f(\alpha) = (e^{\alpha} - e^{-\alpha}) e_m + e^{-\alpha} f(α)=(eαeα)em+eα

f ( α ) f(\alpha) f(α) 关于 α \alpha α 求导,得到:

f ′ ( α ) = e α e m + e − α e m − e − α f'(\alpha) = e^{\alpha} e_m + e^{-\alpha} e_m - e^{-\alpha} f(α)=eαem+eαemeα

令导数等于 0:

e α e m + e − α e m − e − α = 0 e^{\alpha} e_m + e^{-\alpha} e_m - e^{-\alpha} = 0 eαem+eαemeα=0

移项得到:

e α e m = e − α ( 1 − e m ) e^{\alpha} e_m = e^{-\alpha} (1 - e_m) eαem=eα(1em)

两边同时乘以 e α e^{\alpha} eα 得:

e 2 α e m = 1 − e m e^{2\alpha} e_m = 1 - e_m e2αem=1em

解出 e α e^{\alpha} eα

e α = 1 − e m e m e^{\alpha} = \sqrt{\frac{1 - e_m}{e_m}} eα=em1em

取对数,得到:

α m = 1 2 log ⁡ 1 − e m e m \alpha_m = \frac{1}{2} \log \frac{1 - e_m}{e_m} αm=21logem1em

最终结果

我们得到了最优的 α m \alpha_m αm 值为:

α m = 1 2 log ⁡ 1 − e m e m \alpha_m = \frac{1}{2} \log \frac{1 - e_m}{e_m} αm=21logem1em

这个结果表明了在给定分类器 G m ∗ ( x ) G_m^*(x) Gm(x) 的情况下,权重 α m \alpha_m αm 的计算公式。

猜你喜欢

转载自blog.csdn.net/u013172930/article/details/143442917