adaboost原理和計算過程

AdaBoost算法是基於Boosting思想的機器學習算法,AdaBoost是adaptive boosting(自適應boosting)的縮寫,其運行過程如下:

1) 計算樣本權重

{(x1,y1),(x2,y2),...,(xn,yn)} 設定每個樣本的權重都是相等的,即1n

2) 計算錯誤率

利用第一個弱學習算法h1 對其進行學習,學習完成後進行錯誤率ε的統計:

ε=

3) 計算弱學習算法權重

弱學習算法也有一個權重,用向量 α 表示,利用錯誤率計算權重 α

α=12 ln(1εε)

4) 更新樣本權重

在第一次學習完成後,需要重新調整樣本的權重,以使得在第一分類中被錯分的樣本的權重,在接下來的學習中可以重點對其進行學習:

Dt+1(i)=Dt(i)Zt{eαtif ht(xi) = yie αtif ht(xi)  yi

其中,ht(xi)=yi 表示對第i 個樣本訓練正確,不等於則表示分類錯誤。Zt 是一個歸一化因子:

Zt=sum(D)

這個公式我們可以繼續化簡,將兩個公式進行合併,化簡如下:

H(x)=sign(t=1Tαtht(x))
其中sign(x) 是符號函數。
這裏寫圖片描述

5) AdaBoost算法

這裏寫圖片描述

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