Adaboost的推导
加法模型
H ( x ) = ∑ t = 1 T α t h t ( x ) 构 造 强 分 类 器 为 弱 分 类 器 的 线 性 组 合 H(x) = \sum_{t=1}^{T}{\alpha_th_t(x)} \\ 构造强分类器为弱分类器的线性组合 H(x)=t=1∑Tαtht(x)构造强分类器为弱分类器的线性组合
指数损失函数
∑
i
=
1
N
L
(
y
i
,
H
(
x
i
)
)
=
∑
i
=
1
N
L
(
y
i
,
∑
t
=
1
T
α
t
h
t
(
x
)
)
=
∑
i
=
1
N
exp
(
−
y
i
∑
t
=
1
T
α
t
h
t
(
x
i
)
)
\sum_{i=1}^NL(y_i,H(x_i))=\sum_{i=1}^NL(y_i,\sum_{t=1}^{T}{\alpha_th_t(x)})=\sum_{i=1}^N\exp(-y_i\sum_{t=1}^{T}{\alpha_th_t(x_i)})
i=1∑NL(yi,H(xi))=i=1∑NL(yi,t=1∑Tαtht(x))=i=1∑Nexp(−yit=1∑Tαtht(xi))
y的取值只有{-1,1}, 当H(x)越接近y的时候
−
y
∑
t
=
1
T
α
t
h
t
(
x
)
-y\sum_{t=1}^{T}{\alpha_th_t(x)}
−y∑t=1Tαtht(x)越大, 故
L
(
y
,
H
(
x
)
)
L(y,H(x))
L(y,H(x))越小
Adaboost算法流程
![](https://i-blog.csdnimg.cn/blog_migrate/05d09a0ad04dbf37db80f44aa9009904.png)
算法推导
- 构造一个
f
t
(
x
)
f_t(x)
ft(x)
f t ( x ) f_t(x) ft(x)代表前t个h(x)的线性组合: f t ( x ) = f t − 1 ( x ) + α t h t ( x ) f_t(x) = f_{t-1}(x)+\alpha_th_t(x) ft(x)=ft−1(x)+αtht(x)。其中, f 1 ( x ) = α 1 h 1 ( x ) f_1(x) = \alpha_1h_1(x) f1(x)=α1h1(x) - 计算弱分类器的权重
α
t
\alpha_t
αt, 样本权重
w
‾
t
i
\overline{w}_{ti}
wti
每一轮迭代的时候计算 arg min α t , h t ∑ i = 1 N exp ( − y i ( f t − 1 ( x ) + α t h t ( x ) ) ) \arg\min_{\alpha_t,h_t} \sum_{i=1}^{N}\exp(-y_i(f_{t-1}(x)+\alpha_th_t(x))) argminαt,ht∑i=1Nexp(−yi(ft−1(x)+αtht(x))), 计算T-1次(t=(2…T))就能得到能让指数损失函数取得最小的T个 α \alpha α与 w ‾ \overline{w} w- 首先计算
arg
min
h
t
∑
i
=
1
N
exp
(
−
y
i
(
f
t
−
1
(
x
i
)
+
α
t
h
t
(
x
i
)
)
)
\arg\min_{h_t}\sum_{i=1}^N\exp(-y_i(f_{t-1}(x_i)+\alpha_th_t(x_i)))
argminht∑i=1Nexp(−yi(ft−1(xi)+αtht(xi)))
⇒ arg min h t ∑ i = 1 N exp ( − y i ( f t − 1 ( x i ) ) ∗ exp ( y i h t ( x i ) ) ⇒ arg min h t ∑ i = 1 N w ‾ t i I ( h t ( x i ) ≠ y i ) { I ( A ≠ B ) = 1 , A ≠ B I ( A ≠ B ) = 0 , A = B \Rightarrow\arg\min_{h_t}\sum_{i=1}^{N}\exp(-y_i(f_{t-1}(x_i)) * \exp(y_ih_t(x_i)) \\ \Rightarrow \arg\min_{h_t}\sum_{i=1}^N\overline{w}_{ti}I(h_t(x_i) \ne y_i) \\ \begin{cases} I(\text{A $\neq$ B}) = 1, & \text{A $\neq$ B} \\[5ex] I(\text{A $\neq$ B}) = 0, & \text{A = B} \end{cases} ⇒arghtmini=1∑Nexp(−yi(ft−1(xi))∗exp(yiht(xi))⇒arghtmini=1∑NwtiI(ht(xi)̸=yi)⎩⎪⎪⎨⎪⎪⎧I(A ̸= B)=1,I(A ̸= B)=0,A ̸= BA = B - 定义 w ‾ t i = exp ( − y i f t − 1 ( x i ) ) \overline{w}_{ti} = \exp (-y_if_{t-1}(x_i)) wti=exp(−yift−1(xi))为样本权重
- 这个过程相当于第三行伪代码
- 首先计算
arg
min
h
t
∑
i
=
1
N
exp
(
−
y
i
(
f
t
−
1
(
x
i
)
+
α
t
h
t
(
x
i
)
)
)
\arg\min_{h_t}\sum_{i=1}^N\exp(-y_i(f_{t-1}(x_i)+\alpha_th_t(x_i)))
argminht∑i=1Nexp(−yi(ft−1(xi)+αtht(xi)))
- 计算弱分类器权重
α
t
\alpha_t
αt
把已知的 h t ( x ) h_t(x) ht(x)代入计算 arg min α t ∑ i = 1 N exp ( − y i ( f t − 1 ( x i ) + α t h t ( x i ) ) ) \arg\min_{\alpha_t}\sum_{i=1}^N\exp(-y_i(f_{t-1}(x_i)+\alpha_th_t(x_i))) argminαt∑i=1Nexp(−yi(ft−1(xi)+αtht(xi)))
原 式 = ∑ i = 1 N exp ( − y i ( f t − 1 ( x i ) + α t h t ( x i ) ) ) = ∑ i = 1 N w ‾ t i ∗ e x p ( − y i α t h t ( x i ) ) 将 样 本 分 成 y i = h t ( x i ) 的 部 分 和 y i ≠ h t ( x i ) 的 部 分 原 式 = ∑ y i = h t ( x i ) w ‾ t i exp ( − α t ) + ∑ y i ≠ h t ( x i ) w ‾ t i exp ( α t ) = ∑ i = 1 N w ‾ t i exp ( − α t ) − ∑ y i ≠ h t ( x i ) w ‾ t i exp ( − α t ) + ∑ i = 1 N w ‾ t i exp ( α t ) ∗ I ( y i ≠ h t ( x i ) ) = ∑ i = 1 N w ‾ t i exp ( − α t ) − ∑ i = 1 N w ‾ t i exp ( − α t ) ∗ I ( y i ≠ h t ( x i ) ) + ∑ i = 1 N w ‾ t i exp ( α t ) ∗ I ( y i ≠ h t ( x i ) ) = ( e α t − e − α t ) ∑ i = 1 N w ‾ t i ∗ I ( y i ≠ h t ( x i ) ) + e − α t ∑ i = 1 N w ‾ t i 对 α t 求 导 ⇒ ∑ i = 1 N w ‾ t i I ( y i ≠ h t ( x i ) ) ( e α t + e − α t ) − ∑ i = 1 N w ‾ t i e − α t 令 上 式 = 0 ⇒ ∑ i = 1 N w ‾ t i I ( y i ≠ h t ( x i ) ) ( e α t + e − α t ) = ∑ i = 1 N w ‾ t i e − α t ⇒ ∑ i = 1 N w ‾ t i I ( y i ≠ h t ( x i ) ) ( e 2 α t + 1 ) = ∑ i = 1 N w ‾ t i ⇒ e 2 α t = ∑ i = 1 N w ‾ t i ∑ i = 1 N w ‾ t i I ( y i ≠ h t x i ) − 1 α t = 1 2 ln ( ∑ i = 1 N w ‾ t i ∑ i = 1 N w ‾ t i I ( y i ≠ h t ( x i ) ) − 1 ) α t = 1 2 ln ( 1 − ∑ i = 1 N w ‾ t i I ( y i ≠ h t ( x i ) ) ∑ i = 1 N w ‾ t i ∑ i = 1 N w ‾ t i I ( y i ≠ h t ( x i ) ) ∑ i = 1 N w ‾ t i ) 其 中 ∑ i = 1 N w ‾ t i I ( y i ≠ h t ( x i ) ) ∑ i = 1 N w ‾ t i 就 是 错 误 率 , 分 子 是 错 误 的 个 数 ∗ 样 本 权 重 , 分 母 是 所 有 样 本 个 数 ∗ 样 本 权 重 原式=\sum_{i=1}^N\exp(-y_i(f_{t-1}(x_i)+\alpha_th_t(x_i))) \\ = \sum_{i=1}^N\overline{w}_{ti}*exp(-y_i\alpha_th_t(x_i)) \\ 将样本分成y_i=h_t(x_i)的部分和y_i \neq h_t(x_i)的部分 \\ 原式=\sum_{y_i=h_t(x_i)}\overline{w}_{ti}\exp(-\alpha_t) + \sum_{y_i \neq h_t(x_i)}\overline{w}_{ti}\exp(\alpha_t) \\ = \sum_{i=1}^N\overline{w}_{ti}\exp(-\alpha_t)-\sum_{y_i\neq h_t(x_i)}\overline{w}_{ti}\exp(-\alpha_t)+\sum_{i=1}^N\overline{w}_{ti}\exp(\alpha_t)*I(y_i\neq h_t(x_i)) \\ = \sum_{i=1}^N\overline{w}_{ti}\exp(-\alpha_t)-\sum_{i=1}^N\overline{w}_{ti}\exp(-\alpha_t)*I(y_i\neq h_t(x_i))+\sum_{i=1}^N\overline{w}_{ti}\exp(\alpha_t)*I(y_i\neq h_t(x_i)) \\ = (e^{\alpha_t}-e^{-\alpha_t})\sum_{i=1}^N\overline{w}_{ti}*I(y_i\neq h_t(x_i))+e^{-\alpha_t}\sum_{i=1}^N \overline{w}_{ti} \\ 对\alpha_t求导 \Rightarrow \sum_{i=1}^N \overline{w}_{ti}I(y_i\neq h_t(x_i))(e^{\alpha_t}+e^{-\alpha_t}) - \sum_{i=1}^N\overline{w}_{ti}e^{-\alpha_t} \\ 令上式=0 \Rightarrow \sum_{i=1}^N\overline{w}_{ti}I(y_i\neq h_t(x_i))(e^{\alpha_t}+e^{-\alpha_t}) = \sum_{i=1}^N\overline{w}_{ti}e^{-\alpha_t} \\ \Rightarrow \sum_{i=1}^N\overline{w}_{ti}I(y_i\neq h_t(x_i))(e^{2\alpha_t}+1) = \sum_{i=1}^N\overline{w}_{ti} \\ \Rightarrow e^{2\alpha_t} = \frac{\sum_{i=1}^N\overline{w}_{ti}}{\sum_{i=1}^N\overline{w}_{ti}I(y_i\neq h_t{x_i})}-1 \\ \alpha_t = \frac{1}{2} \ln (\frac{\sum_{i=1}^N\overline{w}_{ti}}{\sum_{i=1}^N\overline{w}_{ti}I(y_i\neq h_t(x_i))}-1) \\ \alpha_t = \frac{1}{2}\ln(\frac{1-\frac{\sum_{i=1}^N\overline{w}_{ti}I(y_i\neq h_t(x_i))}{\sum_{i=1}^N\overline{w}_{ti}}}{\frac{\sum_{i=1}^N\overline{w}_{ti}I(y_i\neq h_t(x_i))}{\sum_{i=1}^N\overline{w}_{ti}}}) \\ 其中 \frac{\sum_{i=1}^N\overline{w}_{ti}I(y_i\neq h_t(x_i))}{\sum_{i=1}^N\overline{w}_{ti}} 就是错误率, 分子是错误的个数*样本权重, 分母是所有样本个数*样本权重 原式=i=1∑Nexp(−yi(ft−1(xi)+αtht(xi)))=i=1∑Nwti∗exp(−yiαtht(xi))将样本分成yi=ht(xi)的部分和yi̸=ht(xi)的部分原式=yi=ht(xi)∑wtiexp(−αt)+yi̸=ht(xi)∑wtiexp(αt)=i=1∑Nwtiexp(−αt)−yi̸=ht(xi)∑wtiexp(−αt)+i=1∑Nwtiexp(αt)∗I(yi̸=ht(xi))=i=1∑Nwtiexp(−αt)−i=1∑Nwtiexp(−αt)∗I(yi̸=ht(xi))+i=1∑Nwtiexp(αt)∗I(yi̸=ht(xi))=(eαt−e−αt)i=1∑Nwti∗I(yi̸=ht(xi))+e−αti=1∑Nwti对αt求导⇒i=1∑NwtiI(yi̸=ht(xi))(eαt+e−αt)−i=1∑Nwtie−αt令上式=0⇒i=1∑NwtiI(yi̸=ht(xi))(eαt+e−αt)=i=1∑Nwtie−αt⇒i=1∑NwtiI(yi̸=ht(xi))(e2αt+1)=i=1∑Nwti⇒e2αt=∑i=1NwtiI(yi̸=htxi)∑i=1Nwti−1αt=21ln(∑i=1NwtiI(yi̸=ht(xi))∑i=1Nwti−1)αt=21ln(∑i=1Nwti∑i=1NwtiI(yi̸=ht(xi))1−∑i=1Nwti∑i=1NwtiI(yi̸=ht(xi)))其中∑i=1Nwti∑i=1NwtiI(yi̸=ht(xi))就是错误率,分子是错误的个数∗样本权重,分母是所有样本个数∗样本权重
故, 证明出第6行伪代码 α t = 1 2 l n ( 1 − ϵ t ϵ t ) \alpha_t = \frac{1}{2}ln(\frac{1-\epsilon_t}{\epsilon_t}) αt=21ln(ϵt1−ϵt) - 计算
w
‾
t
i
\overline{w}_{ti}
wti
已 知 w ‾ t i = exp ( − y i f t − 1 ( x i ) ) 能 得 到 w ‾ m + 1 , i = exp ( − y i f t ( x i ) ) = exp ( − y i ( f t − 1 ( x i ) + α t h t ( x i ) ) ) = exp ( − y i f t − 1 ( x i ) ) ∗ exp ( − y i α t h t ( x i ) ) 故 , w ‾ t + 1 , i = w ‾ t i ∗ exp ( − y i α t h t ( x i ) ) 与 伪 代 码 第 7 条 只 差 一 个 规 范 因 子 z \\ 已知 \ \overline{w}_{ti} = \exp(-y_if_{t-1}(x_i)) \\ 能得到\ \overline{w}_{m+1,i} = \exp(-y_if_t(x_i)) \\ = \exp(-y_i(f_{t-1}(x_i)+\alpha_th_t(x_i))) \\ = \exp(-y_if_{t-1}(x_i))*\exp(-y_i\alpha_th_t(x_i)) \\ 故, \overline{w}_{t+1,i} = \overline{w}_{ti}*\exp(-y_i\alpha_th_t(x_i)) \\ 与伪代码第7条只差一个规范因子z 已知 wti=exp(−yift−1(xi))能得到 wm+1,i=exp(−yift(xi))=exp(−yi(ft−1(xi)+αtht(xi)))=exp(−yift−1(xi))∗exp(−yiαtht(xi))故,wt+1,i=wti∗exp(−yiαtht(xi))与伪代码第7条只差一个规范因子z
参考文献
- 周志华 - 机器学习
- 李航 - 统计学习方法