AdaBoost詳解

本博客內容摘自李航老師的《統計學習方法》,加以一些整理。

相關概念

  提升(boosting)方法是一種常用的統計學習方法,應用廣泛且有效。在分類問題中,它通過改變訓練樣本的權重,學習多個分類器,並將這些分類器進行線性組合,提高分類的性能。

  對於分類問題而言,給定一個訓練集,求比較粗糙的分類規則(弱分類器)要比求精確的分類規則(強分類器)容易得多。提升(booting)方法就是從弱學習算法出發,反覆學習,得到一系列弱分類器(又稱爲基本分類器),然後組合這些弱分類器,構成一個強分類器。大多數的提升方法都是改變訓練數據的概率分佈(訓練數據的權值分佈),針對不同的訓練數據分佈調用弱學習算法學習一系列弱分類器。

  所以對於提升方法而言,有兩個問題需要解決:一是在每一輪如何改變訓練數據的權值或者概率分佈;二是如何將弱分類器組合成一個強分類器。

  對於第一個問題,AdaBoost的做法是,提高那些被前一輪弱分類器錯誤分類樣本的權值,而降低那些被正確分類樣本的權值。這樣一來,那些沒有得到正確分類的數據,由於其權值的加大而受到後一輪的弱分類器的更大關注。於是,分類問題被一系列的弱分類器」分而治之」。

  對於第二個問題,即弱分類器的組合,AdaBoost採取加權多數表決的方法。具體地,加大分類錯誤率小的弱分類器的權重,使其在表決中起較大的作用,減少分類誤差率大的弱分類器的權值,使其在表決中起較小的作用。

AdaBoost算法

  假定給定一個二分類的訓練數據集:

T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) }

其中,每個樣本點由實力和標記組成。實例 x i X R n (表示實數),標記 y i Y = { 1 , + 1 } ,即有兩種標籤的數據,用 { 1 , + 1 } 來表示這兩種類別; X 是實例空間, Y 是標記集合。AdaBoost算法利用以下算法,從訓練數據中學習一系列弱分類器或基本分類器,並將這些弱分類器線性組合成一個強分類器。

AdaBoost描述:
  輸入:訓練數據集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } ,其中 x i X R n , y i Y = { 1 , + 1 } ;得到弱學習算法;
  輸出:最終分類器 G ( x )

算法步驟:

(1)初始化訓練數據的權值分佈

D 1 = ( w 11 , . . . , w 1 i , . . . , w 1 N ) , w 1 i = 1 N , i = 1 , 2 , . . . , N ( 2.1 )

D是用來描述各樣本的權值分佈的。

(2) m = 1 , 2 , . . . , M m 表示迭代的次數
  (a)使用具有權值分佈 D m 的訓練數據集學習,得到基本分類器:

G m ( x ) : X { 1 , + 1 }

   (b)計算 G m 在訓練數據集上的分類誤差率
e m = P ( G m ( x i ) y i ) = i = 1 N w m i I ( G m y i ) ( 2.2 )

其中 I ( G m y i ) = { 0 , 1 } ,當分類正確時,等於0;分類錯誤時,等於1; G m ( x i ) 表示第 m 輪得到的弱分類器 G m 對第 i 個樣本 x i 的分類結果, y i 表示第 i 個樣本的真實類別。 注意計算誤差率是用到了權重分佈 D 中的 w m
   (c) 計算 G m ( x ) 的係數
α m = 1 2 l o g 1 e m e m ( 2.3 )

這裏的對數是自然對數。可以發現,當錯誤率 e m 越大時, a m 越小。這個參數將會用在集成階段。
   (d)更新訓練數據集的權值分佈
D m + 1 = ( w m + 1 , 1 , . . . , w m + 1 , i , . . . , w m + 1 , N ) ( 2.4 )

w m + 1 , i = w m i Z m e x p ( α m y i G m ( x i ) ) , i = 1 , 2 , . . . , N ( 2.5 )

這裏, Z m 是規範化因子,使得總的 w m + 1 值和爲1.
Z m = i = 1 N w m i e x p ( α m y i G m ( x i ) ) ( 2.6 )

它使得 D m + 1 成爲一個概率分佈。

(3)構建基本分類器的線性組合

Z m = i = 1 N w m i e x p ( α m y i G m ( x i ) ) ( 2.6 )

它使得 D m + 1 成爲一個概率分佈。

(3)構建基本分類器的線性組合

D m + 1 成爲一個概率分佈。

(3)構建基本分類器的線性組合

f ( x ) = m = 1 M α m G m ( x ) ( 2.7 )

錯誤率越低的弱分類器對應的 α 值越大,使其在表決中起較大的作用。
得到最終的分類器
( x ) =
相關文章
相關標籤/搜索