AdaBoost算法詳解


提升方法就是從弱學習算法出發,反覆學習,得到一系列弱分類器,然後組合得到一個強學習分類器。

提升策略

  1. 如何改變訓練數據集的權重或者概率分佈?
    提高那些被前一輪弱分類器錯誤分類樣本的權重。
  2. 如何將弱學習分類器組合成一個強學習分類器?
    採取加權表決的方法,加大分類誤差率小的弱分類器的權值。

算法細節

  1. 初始訓練數據權值分佈
    D1=(w11,,w1i,,wiN),w1i=1N,i=1,2, ,ND_1 = (w_{11},\dots,w_{1i},\dots,w_{iN}),w_{1i} = \frac{1}{N},i=1,2,\cdots,N
  2. 使用具有權值分佈DmD_m的訓練數據集學習,得到基學習器
    Gm(x):X{1,+1}G_m(x) : X\to \{-1,+1\}
  3. 計算Gm(x)G_m(x)在訓練集上的分類誤差率
    em=i=1NP(Gm(xi)yi)=i=1NwmiI(Gm(xi)yi)e_m = \sum_{i=1}^N P(G_m(x_i) \neq y_i) = \sum_{i=1}^N w_{mi}I(G_m(x_i) \neq y_i)
  4. 計算Gm(x)G_m(x)的係數,通過最小化指數損失函數求導得到。
    αm=12ln1emem\alpha_m = \frac12\ln\frac{1-e_m}{e_m}
  5. 更新訓練數據集的權值分佈
    Dmi=(wm+1,1,,wm+1,i, ,wm+1,N)D_{mi} = (w_{m+1,1},\dots,w_{m+1,i},\cdots,w_{m+1,N})
    wm+1,i=wmiZmexp(αmyiGm(xi)),i=1,2, ,Nw_{m+1,i} = \frac{w_{mi}}{Z_m}exp(-\alpha_my_iG_m(x_i)),i=1,2,\cdots,N
    其中, ZmZ_m是規範化因子
    Zm=i=1Nwmiexp(αmyiGm(xi))Z_m = \sum_{i=1}^Nw_{mi}exp(-\alpha_my_iG_m(x_i))
    它使Dm+1D_{m+1}成爲一個概率分佈。
  6. 構建基本分類器的線性組合
    f(x)=m=1MαmGm(x)f(x) = \sum_{m=1}^M \alpha_mG_m(x)
    從而得到最終的分類器
    G(x)=sign(f(x))=sign(m=1MαmGm(x))G(x) = sign(f(x)) = sign(\sum_{m=1}^M\alpha_mG_m(x))

整體算法流程

  1. 假設訓練數據集具有均勻的權值分佈。這樣可在原始數據上學習基本分類器G1(x)G_1(x)

  2. 計算基本分類器Gm(x)G_m(x)在加權訓練數據集上的分類誤差率:
    em=i=1NP(Gm(xi)yi)=i=1NwmiI(Gm(xi)yi)e_m = \sum_{i=1}^N P(G_m(x_i) \neq y_i) = \sum_{i=1}^N w_{mi}I(G_m(x_i) \neq y_i)

  3. 計算基本分類器Gm(x)G_m(x)的係數αm\alpha_mαm\alpha_m表示Gm(x)G_m(x)在最終分類器中的重要性。αm\alpha_m表示Gm(x)G_m(x)在最終分類器中的重要性,當em12e_m \leq \frac12時,αm0\alpha_m \geq 0,並且αm\alpha_m隨着eme_m的減小而增大,所以分類誤差率越小的基分類器在最終分類器中的作用越大。

  4. 更新數據集的權值分佈。
    wm+1,i={wmiZmeαm,Gm(xi)=yiwmiZmeαm,Gm(xi)yiw_{m+1,i} = \begin{cases} \frac{w_{mi}}{Z_m}e^{-\alpha_m}, G_m(x_i)=y_i \\ \frac{w_{mi}}{Z_m}e^{\alpha_m}, G_m(x_i)\neq y_i \end{cases}
    被基分類器Gm(x)G_m(x)誤分類樣本的權值得以擴大,而被正確分類樣本的權值得以縮小。

  5. 使用當前分佈DmD_m加權的訓練數據集,學習基本分類器Gm(x)G_m(x)

  6. 重複上述步驟,直至分類器在訓練數據集上的誤分類點爲0。

  • 係數αm\alpha_m表示了基本學習器Gm(x)G_m(x)的重要性,所有的αm\alpha_m之和並不爲0。
  • f(x)f(x)的符號決定實例xx的類,f(x)f(x)的絕對值表示分類的確信度。

參考文獻:《統計學習方法》第8章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章