原理介紹:
(1)初始化訓練數據(每個樣本)的權值分佈:如果有N個樣本,則每一個訓練的樣本點最開始時都被賦予相同的權重:1/N。
(2)訓練弱分類器。具體訓練過程中,如果某個樣本已經被準確地分類,那麼在構造下一個訓練集中,它的權重就被降低;相反,如果某個樣本點沒有被準確地分類,那麼它的權重就得到提高。同時,得到弱分類器對應的話語權。然後,更新權值後的樣本集被用於訓練下一個分類器,整個訓練過程如此迭代地進行下去。
(3)將各個訓練得到的弱分類器組合成強分類器。各個弱分類器的訓練過程結束後,分類誤差率小的弱分類器的話語權較大,其在最終的分類函數中起着較大的決定作用,而分類誤差率大的弱分類器的話語權較小,其在最終的分類函數中起着較小的決定作用。換言之,誤差率低的弱分類器在最終分類器中佔的比例較大,反之較小。
算法流程:
(1)初始化訓練數據的權值分佈:給每個訓練樣本(x1,x2,….,xN)分配權重,初始權重w1均爲1/N。
D1 = {w11,w12,....,w1i,.....,w1N}, i = 1,2,3, ..... , N w1i = 1/N
(2)對於要生成M個基學習器,則對於m = 1,2,.....,M:
(a)、針對帶有權值的樣本進行訓練,得到模型Gm(初始模型爲G1):
( b )、 計算Gm(x)在訓練數據集上的分類誤差率:
上式還可以寫爲:
#這裏,Wmi表示第m輪中第i個實例的權值,Wm1+Wm1+......+Wmn = 1, 這表明,Gm(x)在加權的訓練數據集上的分類誤差率是被Gm(x)誤分類樣本的權值之 和,由此可以看出數據權值分佈Dm與基本分類器Gm(x)的分類誤差率的關係
(c)、計算基學習器Gm(x)的係數:+
#這裏的對數是自然對數
(d)、更新訓練數據集的權重分佈:
其中Zm爲:
(3)構建基本分類器的線性組合:
得到最終的分類器: