機器學習中一種讓多個弱分類器投票的演算法
Ensemble 手法的一種
使用多個弱分類器合成一個強分類器
Bootstrap aggregating
隨機取樣作為訓練資料,用於搭配複雜的演算法 (如 decision tree) 降低 overfit 的情況。多次隨機取樣訓練出多個模型,最後用 majority vote。
單個分類器可能會 overfit 取樣結果,但 bagging 將所有的分類器總和取平均,相對更於平滑
將多個弱分類器合成一個強分類器
分類器本身只需比隨機還要好一點就行
bagging 和 boosting 有點相反,前者是模型過於複雜,要降低 overfit,後者是模型過於簡單,要提升正確率。
Bagging | Boosting | |
---|---|---|
適用模型 | 複雜 (decision tree) |
簡單 (decision tree stump) |
處理問題 | overfit | underfit |
取樣方式 | 隨機 | 權重 |
合成方式 | majority vote | 權重 |
Adaptive Boosting
Why & How
令 h 是一個二元分類器,輸出是 −1 或 +1
h:{−1,+1}
若 h 是弱分類器,我們希望集合多個不同的 h 形成一個強分類器
0
1
0.5
weak
strong
error
令 H 是合成的強分類器
H(x)=sign(h1(x)+h2(x)+h3(x))
x 是 samples
rate
Input space
h1 wrong
h2 wrong
h3 wrong
投票後最差的可能情形是?
Input space
h1 wrong
h2 wrong
h3 wrong
DATA →h1
h1 在原始資料中具有最小 error rate
DATA 在 h1 錯誤經過加權 →h2
h2 在加權資料中具有最小 error rate
DATA 在 h2 錯誤經過加權 →h3
h3 在加權資料中具有最小 error rate
可以是任何演算法,NN、decision tree
最簡單的例子:一層的 decision tree: decision tree stump
h1 是在所有 h 中作用在原始資料上有最小 error rate
令 error rate ϵ 定義為
ϵ=wrong∑N1
N 是 sample 的數量
ϵ 就是錯誤資料量 ×N1
h 在加權資料中具有最小 error rate
wi=1t=1
wi=21
wi=31
更正 ϵ 定義為加權型式
ϵ=wrong∑wi
wi1=N1
∑wi=1
其中 w1 代表第一輪資料的權重
H(x)=sign(h1(x)+h2(x)+h3(x)+⋯)
α1
α2
α3
令 wi1=N1
挑出 ht 使得 ϵt 最小
計算 wt+1
計算 αt
error rate ϵ
ϵ=wrong∑wi
N: sample 數量
wit: 第 t 輪第 i 個資料的權重
ht: 第 t 輪挑出來的分類器,它使得 ϵt 最小
αt: 給第 t 輪挑出的分類器 ht 的權重
H: 將每輪的弱分類器合併後得到的強分類器
αt=21lnϵt1−ϵt
wit+1=Zwit×⎩⎨⎧1−ϵtϵtcorrectϵt1−ϵtincorrect
Z: normalize 總和為1
推導......略!
correct∑wt+1=21
wrong∑wt+1=21
wit+1={2wt1−ϵ1correct2wtϵ1wrong
答對的 weight 經過總和再縮放會等於 21
答錯的 weight 也是