1. 程式人生 > >機器學習_論文筆記_2: bagging predictors ( BREIMAN[1996])

機器學習_論文筆記_2: bagging predictors ( BREIMAN[1996])

By joey周琦

Bagging predictor可以產生多個版本的predictor, 並把這些predictor聚集(aggregate)為一個。這種策略對於不穩定的系統可以提高其精度。

有一個學習資料集 L ,包含資料 (yn,xn),n=1,,N ,其中 x 為輸入向量, y 或者為一個類(分類問題)或者數值(迴歸問題)。我們可以從資料集 L 中學到一個predictor φ

(x,L) .

假設現在我們有一系列資料集合 Lk , 每個集合都有 N 個訓練資料,並且都來自與資料集 L 相同的概率分佈。那麼明顯我們可以得到一系列的predictor φ(x,Lk) . 如何利用 Lk 來得到一個比”單一資料集 L 得到的predictor”更好的predictor呢?

對於迴歸問題:

φA(x)=ELkφ(x,Lk)

對於分類問題,通過投票選擇出初測最多的那個。

但是一般情況下,我們只有一個數據集 L , 如何得到一些列的資料集 Lk 並且和 L 服從相同分佈呢?利用bootstrap L 進行有放回的取樣(random sampling with replace ment)的到一些列資料集 LB ,再通過上面的方法聚集出一個預測器. 我們稱這個過程為”bootstrap aggregating”,組合起來就稱為”bagging”

  • bagging可以提高“不穩定的演算法”精度
    • 這裡的不穩定表示,資料集 L 小幅度的改變,就可能大幅度改變predictor φ(x,L) .(詳見Breiman[1994])
    • 不穩定的演算法有 神經網路,分類樹,迴歸樹等
    • 穩定的演算法有KNN
  • bagging可能會降低“穩定演算法”的精度
  • bagging可以減少variance, 但是會小幅度提高bias