机器学习——多模型选择和融合的方法2(AdaBoost)

Adaptive Boost(AdaBoost)是一种融合模型,而与Blending不同的是,Blending是在得到 g t g_t gt之后再进行融合,而AdaBoost是一边学习 g t g_t gt,一边融合。那么在介绍AdaBoost之前,首先要看的一个算法模型——前向分步算法


那么,什么是前向分步算法
首先,考虑如下形式的加法模型,
f ( x ) = ∑ m = 1 M β m b ( x ; γ m ) {\rm{f}}(x) = \sum\limits_{m = 1}^M {{\beta _m}b(x;{\gamma _m})} f(x)=m=1Mβmb(x;γm)
其中 b ( x ; γ m ) b(x;{\gamma _m}) b(x;γm)是基函数, γ m {\gamma _m} γm是基函数的参数, β m {\beta _m} βm是基函数的系数。

显然,函数f(x)是基函数的线性组合,是一个加法模型。
那么,在给定数据集D和损失函数 L ( y , f ( x ) ) L(y,f(x)) L(y,f(x))的条件下,学习加法模型就变成了极小化损失函数的问题,
min ⁡ β m , γ m ∑ i = 1 N L ( y i , ∑ m = 1 M β m b ( x i ; γ m ) ) \mathop {\min }\limits_{{\beta _m},{\gamma _m}} \sum\limits_{i = 1}^N {L({y_i},\sum\limits_{m = 1}^M {{\beta _m}b({x_i};\gamma {}_m)} )} βm,γmmini=1NL(yi,m=1Mβmb(xi;γm))

解决上述问题的一个思路就是前向分步算法,其具体的想法为:因为学习算法为加法模型,如果能从前往后,每一步只学习一个基函数及其系数,逐步逼近优化目标函数式(上式),那么就可以简化优化的复杂度。
具体的,每一步只需要优化如下的损失函数,
min ⁡ β , γ ∑ i = 1 N L ( y i , b ( x i ; γ ) ) \mathop {\min }\limits_{\beta ,\gamma } \sum\limits_{i = 1}^N {L({y_i},b({x_i};\gamma ))} β,γmini=1NL(yi,b(xi;γ))
具体的前向分布算法如下:

前向分步算法
输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T = \{ ({x_1},{y_1}),({x_2},{y_2}), \cdots ,({x_N},{y_N})\} T={(x1,y1),(x2,y2),,(xN,yN)};损失函数为 L ( y , f ( x ) ) L(y,f(x)) L(y,f(x));基函数集为 { b ( x ; γ ) } \{ b(x;\gamma )\} {b(x;γ)}
输出:加法模型f(x)
1.初始化 f 0 ( x ) = 0 {f_0}(x) = 0 f0(x)=0
2.对 m = 1 , 2 , ⋯   , M m = 1,2, \cdots ,M m=1,2,,M
      2.1 极小化损失函数 ( β m , γ m ) = arg ⁡ min ⁡ β , γ ∑ i = 1 N L ( y i , f m − 1 ( x i ) + β b ( x ; γ ) ) ({\beta _m},{\gamma _m}) = \arg \mathop {\min }\limits_{\beta ,\gamma } \sum\limits_{i = 1}^N {L({y_i},{f_{m - 1}}({x_i}) + \beta b(x;\gamma ))} (βm,γm)=argβ,γmini=1NL(yi,fm1(xi)+βb(x;γ))      2.2 更新 f m ( x ) = f m − 1 ( x ) + β m b ( x ; γ m ) {f_m}(x) = {f_{m - 1}}(x) + {\beta _m}b(x;{\gamma _m}) fm(x)=fm1(x)+βmb(x;γm)
3.得到加法模型 f ( x ) = f M ( x ) = ∑ m = 0 M β m b ( x ; γ m ) f(x) = {f_M}(x) = \sum\limits_{m = 0}^M {{\beta _m}b(x;{\gamma _m})} f(x)=fM(x)=m=0Mβmb(x;γm)

前向分步算法将同时求解从m=1到M的所有参数 β m , γ m {\beta _m},{\gamma _m} βm,γm的优化问题简化为逐步求解各个 β m , γ m {\beta _m},{\gamma _m} βm,γm的优化问题。


上述就是前向分步算法的主要思想,而AdaBoost就是前向分布算法的一个特例,因为在AdaBoost里,基函数为基本分类器,损失函数为指数损失函数。下面,就基于前向分步算法来推导AdaBoost。

当基函数为基本分类器时,前向分布算法中的加法模型等价于AdaBoost的最终分类器,
f ( x ) = ∑ m = 1 M α m G m ( x ) f(x) = \sum\limits_{m = 1}^M {{\alpha _m}{G_m}(x)} f(x)=m=1MαmGm(x)
其中, G m ( x ) {G_m}(x) Gm(x)为基本分类器, α m {\alpha _m} αm为基本分类器的系数。

当前向分布算法的损失函数为指数损失函数时,
L ( y , f ( x ) ) = exp ⁡ ( − y f ( x ) ) L(y,f(x)) = \exp ( - yf(x)) L(y,f(x))=exp(yf(x))

由前向分步算法,在经过了m轮迭代后,有,
f m ( x ) = f m − 1 ( x ) + α m G m ( x ) {f_m}(x) = {f_{m - 1}}(x) + {\alpha _m}{G_m}(x) fm(x)=fm1(x)+αmGm(x)

求解目标是让求得的 α m {\alpha _m} αm G m ( x ) {G_m}(x) Gm(x)使 f m ( x ) {f_m}(x) fm(x)在训练数据集T上的指数损失最小,即,
( α m , G m ( x ) ) = arg ⁡ min ⁡ α , G ∑ i = 1 N exp ⁡ ( − y i ( f m − 1 ( x i ) + α G ( x i ) ) )                                        = arg ⁡ min ⁡ α , G ∑ i = 1 N exp ⁡ ( − y i f m − 1 ( x i ) ) ⎵ w ˉ m i exp ⁡ ( − y i α G ( x i ) ) )                                        = arg ⁡ min ⁡ α , G ∑ i = 1 N w ˉ m i exp ⁡ ( − y i α G ( x i ) ) ) \begin{array}{l} ({\alpha _m},{G_m}(x)) = \arg \mathop {\min }\limits_{\alpha ,G} \sum\limits_{i = 1}^N {\exp ( - {y_i}({f_{m - 1}}({x_i}) + \alpha G({x_i})))} \\\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\kern 1pt} {\kern 1pt} = \arg \mathop {\min }\limits_{\alpha ,G} \sum\limits_{i = 1}^N {\underbrace {\exp ( - {y_i}{f_{m - 1}}({x_i}))}_{{{\bar w}_{mi}}}\exp ( - {y_i}\alpha G({x_i})))} \\\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\kern 1pt} {\kern 1pt} = \arg \mathop {\min }\limits_{\alpha ,G} \sum\limits_{i = 1}^N {{{\bar w}_{mi}}\exp ( - {y_i}\alpha G({x_i})))} \end{array} (αm,Gm(x))=argα,Gmini=1Nexp(yi(fm1(xi)+αG(xi)))=argα,Gmini=1Nwˉmi exp(yifm1(xi))exp(yiαG(xi)))=argα,Gmini=1Nwˉmiexp(yiαG(xi)))

其中, w ˉ m i = exp ⁡ ( − y i f m − 1 ( x i ) ) {\bar w_{mi}} = \exp ( - {y_i}{f_{m - 1}}({x_i})) wˉmi=exp(yifm1(xi)),之所以把该项单独分出来,是因为该项既不依赖于 α \alpha α,也不依赖于 G G G,与最小化无关,但其依赖于 f m − 1 ( x ) {f_{m - 1}}(x) fm1(x),随着每一轮的迭代而改变。
上式中优化的参数有两个 α \alpha α G G G,所以求解也分为两步,先求解 G G G,再求解 α \alpha α
首先,求解G,G的含义为基本分类器,所以可由在训练集上最小化损失得到,
G m ( x ) = arg ⁡ min ⁡ G ∑ i = 1 N w ˉ m i [ [ y i ≠ G ( x i ) ] ] {G_m}(x) = \arg \mathop {\min }\limits_G \sum\limits_{i = 1}^N {{{\bar w}_{mi}}\left[\kern-0.15em\left[ {{y_i} \ne G({x_i})} \right]\kern-0.15em\right]} Gm(x)=argGmini=1Nwˉmi[[yi̸=G(xi)]]
之后,求解 α m {\alpha _m} αm,对式 ( α m , G m ( x ) ) ({\alpha _m},{G_m}(x)) (αm,Gm(x))进行简化,
           ∑ i = 1 N w ˉ m i exp ⁡ ( − y i α G ( x i ) ) ) = ∑ i = 1 N w ˉ m i exp ⁡ ( − y i α G ( x i ) ) ) = ∑ y i ≠ G m ( x i ) w ˉ m i e − α + ∑ y i = G m ( x i ) w ˉ m i e α = ( e α + e − α ) ∑ i = 1 N w ˉ m i [ [ y i ≠ G ( x i ) ] ] + e α ∑ i = 1 N w ˉ m i \begin{array}{l} \;\;\;\;\;\sum\limits_{i = 1}^N {{{\bar w}_{mi}}\exp ( - {y_i}\alpha G({x_i})))} \\\\ {\kern 1pt} = \sum\limits_{i = 1}^N {{{\bar w}_{mi}}\exp ( - {y_i}\alpha G({x_i})))} \\\\ = \sum\limits_{{y_i} \ne {G_m}({x_i})} {{{\bar w}_{mi}}{e^{ - \alpha }}} + \sum\limits_{{y_i} = {G_m}({x_i})} {{{\bar w}_{mi}}{e^\alpha }} \\\\ = ({e^\alpha } + {e^{ - \alpha }})\sum\limits_{i = 1}^N {{{\bar w}_{mi}}\left[\kern-0.15em\left[ {{y_i} \ne G({x_i})} \right]\kern-0.15em\right]} + {e^\alpha }\sum\limits_{i = 1}^N {{{\bar w}_{mi}}} \end{array} i=1Nwˉmiexp(yiαG(xi)))=i=1Nwˉmiexp(yiαG(xi)))=yi̸=Gm(xi)wˉmieα+yi=Gm(xi)wˉmieα=(eα+eα)i=1Nwˉmi[[yi̸=G(xi)]]+eαi=1Nwˉmi

α \alpha α求导并等于0,得到最优解 α \alpha α,其中目标函数 H ( α ) = ( e α + e − α ) ∑ i = 1 N w ˉ m i [ [ y i ≠ G ( x i ) ] ] + e α ∑ i = 1 N w ˉ m i H(\alpha ) = ({e^\alpha } + {e^{ - \alpha }})\sum\limits_{i = 1}^N {{{\bar w}_{mi}}\left[\kern-0.15em\left[ {{y_i} \ne G({x_i})} \right]\kern-0.15em\right]} + {e^\alpha }\sum\limits_{i = 1}^N {{{\bar w}_{mi}}} H(α)=(eα+eα)i=1Nwˉmi[[yi̸=G(xi)]]+eαi=1Nwˉmi ,为了方便书写,这里的 [ [ y i ≠ G ( x i ) ] ] \left[\kern-0.15em\left[ {{y_i} \ne G({x_i})} \right]\kern-0.15em\right] [[yi̸=G(xi)]] I I I代替,
∂ H ∂ α = e α ∑ w ˉ m i I + e − α ∑ w ˉ m i I − e − α ∑ w ˉ m i = 0 e α ∑ w ˉ m i I = e − α ( ∑ w ˉ m i − ∑ w ˉ m i I ) α + ln ⁡ ∑ w ˉ m i I = − α + ln ⁡ ( ∑ w ˉ m i − ∑ w ˉ m i I ) 2 α = ln ⁡ ( ∑ w ˉ m i − ∑ w ˉ m i I ∑ w ˉ m i I ) α = 1 2 ln ⁡ ( ∑ w ˉ m i ∑ w ˉ m i I − 1 ) \begin{array}{l} \frac{{\partial H}}{{\partial \alpha }} = {e^\alpha }\sum {{{\bar w}_{mi}}I} + {e^{ - \alpha }}\sum {{{\bar w}_{mi}}I} - {e^{ - \alpha }}\sum {{{\bar w}_{mi}}} = 0\\\\ {e^\alpha }\sum {{{\bar w}_{mi}}I} = {e^{ - \alpha }}(\sum {{{\bar w}_{mi}}} - \sum {{{\bar w}_{mi}}I} )\\\\ \alpha + \ln \sum {{{\bar w}_{mi}}I} = - \alpha + \ln (\sum {{{\bar w}_{mi}}} - \sum {{{\bar w}_{mi}}I} )\\\\ 2\alpha = \ln (\frac{{\sum {{{\bar w}_{mi}}} - \sum {{{\bar w}_{mi}}I} }}{{\sum {{{\bar w}_{mi}}I} }})\\\\ \alpha = \frac{1}{2}\ln (\frac{{\sum {{{\bar w}_{mi}}} }}{{\sum {{{\bar w}_{mi}}I} }} - 1) \end{array} αH=eαwˉmiI+eαwˉmiIeαwˉmi=0eαwˉmiI=eα(wˉmiwˉmiI)α+lnwˉmiI=α+ln(wˉmiwˉmiI)2α=ln(wˉmiIwˉmiwˉmiI)α=21ln(wˉmiIwˉmi1)
一般,令 e m = ∑ i = 1 N w ˉ m i I ∑ i = 1 N w ˉ m i = ∑ i = 1 N w ˉ m i [ [ y i ≠ G m ( x i ) ] ] ∑ i = 1 N w ˉ m i {e_m} = \frac{{\sum\limits_{i = 1}^N {{{\bar w}_{mi}}I} }}{{\sum\limits_{i = 1}^N {{{\bar w}_{mi}}} }} = \frac{{\sum\limits_{i = 1}^N {{{\bar w}_{mi}}\left[\kern-0.15em\left[ {{y_i} \ne {G_m}({x_i})} \right]\kern-0.15em\right]} }}{{\sum\limits_{i = 1}^N {{{\bar w}_{mi}}} }} em=i=1Nwˉmii=1NwˉmiI=i=1Nwˉmii=1Nwˉmi[[yi̸=Gm(xi)]],则 α \alpha α为,
α m = 1 2 ln ⁡ ( 1 − e m e m ) {\alpha _m} = \frac{1}{2}\ln (\frac{{1 - {e_m}}}{{{e_m}}}) αm=21ln(em1em)

最后,再来看一下每一轮样本权值的更新,因为 w ˉ m i = exp ⁡ ( − y i f m − 1 ( x i ) ) {\bar w_{mi}} = \exp ( - {y_i}{f_{m - 1}}({x_i})) wˉmi=exp(yifm1(xi)),所以在第m+1轮有,
w ˉ m + 1 , i = exp ⁡ ( − y i f m ( x i ) )                  = exp ⁡ ( − y i ( f m − 1 ( x i ) + α m G m ( x i ) ) )                    = w ˉ m i exp ⁡ ( − y i α m G m ( x i ) ) \begin{array}{l} {{\bar w}_{m + 1,i}} = \exp ( - {y_i}{f_m}({x_i}))\\\\ \;\;\;\;\;\;\;\;{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} = \exp ( - {y_i}({f_{m - 1}}({x_i}) + {\alpha _m}{G_m}({x_i})))\\\\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \;\;\;\;\;\;\;\;\; = {\kern 1pt} {{\bar w}_{mi}}\exp ( - {y_i}{\alpha _m}{G_m}({x_i})) \end{array} wˉm+1,i=exp(yifm(xi))=exp(yi(fm1(xi)+αmGm(xi)))=wˉmiexp(yiαmGm(xi))
这里如果对 w ˉ m i {\bar w_{mi}} wˉmi规范化,即,使得 ∑ i = 1 N w m i = 1 \sum\limits_{i = 1}^N {{w_{mi}} = 1} i=1Nwmi=1 ,则有,
w m i = w ˉ m i ∑ i = 1 N w ˉ m i {w_{mi}} = \frac{{{{\bar w}_{mi}}}}{{\sum\limits_{i = 1}^N {{{\bar w}_{mi}}} }} wmi=i=1Nwˉmiwˉmi
那么,第m+1轮规范化后的样本权值为,
w m + 1 , i = w m i Z m exp ⁡ ( − y i α m G m ( x i ) ) {w_{m + 1,i}} = \frac{{{w_{mi}}}}{{{Z_m}}}\exp ( - {y_i}{\alpha _m}{G_m}({x_i})) wm+1,i=Zmwmiexp(yiαmGm(xi))
其中 Z m = ∑ i = 1 N w m i exp ⁡ ( − y i α m G m ( x i ) ) {Z_m} = \sum\limits_{i = 1}^N {{w_{mi}}\exp ( - {y_i}{\alpha _m}{G_m}({x_i}))} Zm=i=1Nwmiexp(yiαmGm(xi))


以上就是,AdaBoost算法的推导,那么写成算法形式为,

AdaBoost
输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T = \{ ({x_1},{y_1}),({x_2},{y_2}), \cdots ,({x_N},{y_N})\} T={(x1,y1),(x2,y2),,(xN,yN)};其中 x i ∈ χ ⊆ R n , y i ∈ Y = { − 1 , + 1 } {x_i} \in \chi \subseteq {R^n},{y_i} \in Y = \{ - 1, + 1\} xiχRn,yiY={1,+1};弱学习算法 G m ( x ) {G_m}(x) Gm(x)
输出:最终分类器G(x)
1.初始化训练数据的权值分布 D 1 = ( w 11 , w 12 , ⋯   , w 1 i , ⋯   , w 1 N ) ,            w 1 i = 1 N , i = 1 , 2 , ⋯   , N {D_1} = ({w_{11}},{w_{12}}, \cdots ,{w_{1i}}, \cdots ,{w_{1N}}),\;\;\;\;\;{w_{1i}} = \frac{1}{N},i = 1,2, \cdots ,N D1=(w11,w12,,w1i,,w1N),w1i=N1,i=1,2,,N
2.对 m = 1 , 2 , ⋯   , M m = 1,2, \cdots ,M m=1,2,,M
      2.1 使用具有权值分布 D m {D_m} Dm的训练数据集学习,得到基分类器 G m ( x ) : χ → { − 1 , + 1 } {G_m}(x):\chi \to \{ - 1, + 1\} Gm(x):χ{1,+1}      2.2 计算 G m ( x ) {G_m}(x) Gm(x)在训练集上的分类误差率 e m = ∑ i = 1 N w m i [ [ G m ( x i ) ≠ y i ] ] {e_m} = \sum\limits_{i = 1}^N {{w_{mi}}\left[\kern-0.15em\left[ {{G_m}({x_i}) \ne {y_i}} \right]\kern-0.15em\right]} em=i=1Nwmi[[Gm(xi)̸=yi]]      2.3 计算 G m ( x ) {G_m}(x) Gm(x)的系数 α m = 1 2 ln ⁡ ( 1 − e m e m ) {\alpha _m} = \frac{1}{2}\ln (\frac{{1 - {e_m}}}{{{e_m}}}) αm=21ln(em1em)      2.4 更新数据集的权值分布 D m + 1 = ( w m + 1 , 1 , ⋯   , w m + 1 , i , ⋯   , w m + 1 , N ) w m + 1 , i = w m i Z m exp ⁡ ( − α m y i G m ( x i ) ) , i = 1 , 2 , ⋯   , N \begin{array}{l}{D_{m + 1}} = ({w_{m + 1,1}}, \cdots ,{w_{m + 1,i}}, \cdots ,{w_{m + 1,N}})\\\\{w_{m + 1,i}} = \frac{{{w_{mi}}}}{{{Z_m}}}\exp ( - {\alpha _m}{y_i}{G_m}({x_i})),i = 1,2, \cdots ,N\end{array} Dm+1=(wm+1,1,,wm+1,i,,wm+1,N)wm+1,i=Zmwmiexp(αmyiGm(xi)),i=1,2,,N其中, Z m {Z_m} Zm是规范化因子, Z m = ∑ i = 1 N w m i exp ⁡ ( − α m y i G m ( x i ) ) {Z_m} = \sum\limits_{i = 1}^N {{w_{mi}}\exp ( - {\alpha _m}{y_i}{G_m}({x_i}))} Zm=i=1Nwmiexp(αmyiGm(xi))它使 D m + 1 {D_{m + 1}} Dm+1成为了一个概率分布,即, ∑ i = 1 N w m i = 1 \sum\limits_{i = 1}^N {{w_{mi}} = 1} i=1Nwmi=1
3.得到最终的分类器 G ( x ) = s i g n ( f ( x ) ) = s i g n ( ∑ m = 1 M α m G m ( x ) ) G(x) = sign(f(x)) = sign(\sum\limits_{m = 1}^M {{\alpha _m}{G_m}(x)} ) G(x)=sign(f(x))=sign(m=1MαmGm(x))

最后,来看一下有关AdaBoost算法的一些含义解释。

首先,在刚开始的时候,假设训练集具有均匀的权值分布,即,训练集里的每条样本数据都具有相同的权值,为 1 N \frac{1}{N} N1。这能保证在原始数据上学习得到基本分类器 G 1 ( x ) {G_1}(x) G1(x)
而后的每一轮迭代,改变的其实只有两个量,一个是样本权重 w m i {w_{mi}} wmi,另一个是基本学习器的系数(权重) α m {\alpha _m} αm。在每一轮 m = 1 , 2 , ⋯   , M m = 1,2, \cdots ,M m=1,2,,M顺次地执行下列操作:
1.使用当前加权的训练集 D m {D_m} Dm,学习基本分类器 G m ( x ) {G_m}(x) Gm(x)。其实该步骤更新了 G m ( x ) {G_m}(x) Gm(x)里的参数 γ m {\gamma _m} γm
2.计算 G m ( x ) {G_m}(x) Gm(x)在加权数据集 D m {D_m} Dm上的分类误差率,
e m = ∑ i = 1 N w m i [ [ G m ( x i ) ≠ y i ] ] = ∑ G m ( x i ) ≠ y i w m i {e_m} = \sum\limits_{i = 1}^N {{w_{mi}}\left[\kern-0.15em\left[ {{G_m}({x_i}) \ne {y_i}} \right]\kern-0.15em\right]} = \sum\limits_{{G_m}({x_i}) \ne {y_i}} {{w_{mi}}} em=i=1Nwmi[[Gm(xi)̸=yi]]=Gm(xi)̸=yiwmi
w m i {w_{mi}} wmi表示第m轮中第i个样本的权值,因为是规范化之后的,所以 ∑ i = 1 N w m i = 1 \sum\limits_{i = 1}^N {{w_{mi}} = 1} i=1Nwmi=1。则这里的分类误差率表示的是被 G m ( x ) {G_m}(x) Gm(x)误分类的样本权值之和。
3.计算基本分类器 G m ( x ) {G_m}(x) Gm(x)的系数 α m {\alpha _m} αm
α m = 1 2 ln ⁡ ( 1 − e m e m ) {\alpha _m} = \frac{1}{2}\ln (\frac{{1 - {e_m}}}{{{e_m}}}) αm=21ln(em1em)
图像如下图,
在这里插入图片描述
这里的 α m {\alpha _m} αm表示的是 在最终分类器中的重要程度。由函数图像可知,当 e m ≤ 1 2 {e_m} \le \frac{1}{2} em21时, α m ≥ 0 {\alpha _m} \ge 0 αm0,并且 α m {\alpha _m} αm e m {e_m} em的减小而增大,所以分类误差率越小的基分类器在最终分类器中的作用就越大。
4.更新样本集的权值分布,为下一轮做准备,这里的权值更新式 w m + 1 , i = w m i Z m exp ⁡ ( − α m y i G m ( x i ) ) {w_{m + 1,i}} = \frac{{{w_{mi}}}}{{{Z_m}}}\exp ( - {\alpha _m}{y_i}{G_m}({x_i})) wm+1,i=Zmwmiexp(αmyiGm(xi))可以改写成,
w m + 1 , i = { w m i Z m e − α m ,          G m ( x i ) ≠ y i w m i Z m e α m ,          G m ( x i ) = y i {w_{m + 1,i}} = \left\{ {\begin{array}{} {\frac{{{w_{mi}}}}{{{Z_m}}}{e^{ - {\alpha _m}}},\;\;\;\;{G_m}({x_i}) \ne {y_i}}\\\\ {\frac{{{w_{mi}}}}{{{Z_m}}}{e^{{\alpha _m}}},\;\;\;\;{G_m}({x_i}) = {y_i}} \end{array}} \right. wm+1,i=Zmwmieαm,Gm(xi)̸=yiZmwmieαm,Gm(xi)=yi

由上式可知,被基本分类器 G m ( x ) {G_m}(x) Gm(x)误分类的样本的权值得以扩大,而被正确分类的样本的权值得以缩小。其中,误分类样本的权值被放大了 e 2 α = 1 − e m e m {e^{2\alpha }} = \frac{{1 - {e_m}}}{{{e_m}}} e2α=em1em倍。这就说明,误分类的样本在下一轮学习中起到了更大的作用。不改变所给的训练集,而不断改变样本的权值分布,使得训练集在基本分类器中的学习起到了不同的作用,这其实就是统计学里的boostrapping操作,即,在一个样本集里进行N次有放回的抽样,这也是AdaBoost的一个特点。
最终分类器是由M个基本分类器线性组合而成,这是AdaBoost的另一个特点。系数 α m {\alpha _m} αm表示了基本分类器 G m ( x ) {G_m}(x) Gm(x)的重要性,所有的 α m {\alpha _m} αm之和并不为1。最终的分类器f(x)的符号决定了实例所属的类别,而绝对值表示了分类的确信度。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值