AdaBoost算法的事前向分步算法,即经过k−1次迭代后,第k−1轮后强学习器为 KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
f_{k-1}(x) & =…
经过k次迭代后,第k轮后强学习器为 fk(x)=i=1∑kαiGi(x)=fk−1(x)+αkGk(x)
得到第k轮强学习器后,我们知道AdaBoost的目标函数是指数函数,因此我们的目标是使前向分步算法得到的αk和Gk(x)使fk(x)在训练数据集上的指数损失最小,即AdaBoost的目标函数为 KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
(\alpha_k,G_k(…
由于e[−yi(fk−1(xi))]的值不依赖α,G,因此他与最小化无关,它仅仅依赖于随着每一轮迭代而变化的fk−1(x),因此可以把e[−yi(fk−1(xi))]看做wki,即目标函数变为 (αk,Gk(x))=α,Gargmini=1∑mwkie[−yi(αG(xi))]
现在的目标就是最优化AdaBoost的目标函数得到能使目标函数最小化的αk∗和Gk∗(x)。
首先,对于任意的α>0,Gk∗(x)表示第k轮能够使得加训练数据分类误差率最小的基本分类器,分类误差率为 ek=∑i=1mwki∑i=1mwkiI(yi=Gk(xi))=i=1∑mwkiI(yi=Gk(xi))=yi=Gk(xi)∑wki Gk∗(x)为 Gk∗(x)=Gargmini=1∑mwkiI(yi=G(xi)) Gk∗(x)即为学习器的Gk(x),把Gk(x)代入目标函数对α求导并使导数为0,可以把上述的目标函数优化成 KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
(\alpha_k,G_k(…
既得最小的α为 αk∗=21logek1−ek
最后看样本的权重更新,利用fk(x)=fk−1(x)+αkGk(x)和wki=e[−yifk−1(xi)]可得 KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
\overline{w}_{… wk+1,i即接下来要讲到的AdaBoost算法的训练数据权重的更新公式。
计算弱分类器Gk(x)在训练集上的分类误差率为 KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
e_k & = \sum_{…
计算Gk(x)的权重系数 KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
& \alpha_k={\f…
二分类问题的权重系数中,可以看出如果分类误差率ek越大,则对应的弱分类器的权重系数αk越小,即误差率小的弱分类器权重系数越大。
多分类问题使用的是AdaBoost SAMME算法,其中R为类别数,如果R=2,则该多元分类的权重系数将变成二元分类的权重系数。
5. 更新训练数据的权重 KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
& D_{k+1} = (w…
其中Zk是规范因子 Zk=i=1∑mwkie−αkyiGk(xi)
从wk+1,i的计算公式中可以看出,如果第i个样本分类错误,则yiGk(xi)<0,导致样本的权重在第k+1个弱分类器中变大,反之,则样本权重在第k+1个弱分类器中变小。
6. 结合策略 KaTeX parse error: No such environment: align at position 8:
\begin{̲a̲l̲i̲g̲n̲}̲
& f(x)=\sum_{k…