Bias and Variance

一張比較經典的圖[1]:

 

數學推導:

objective=E[(y-\^y)^2]

=[E(\^y^2)-E^2(\^y)]+[y^2-2yE(\^y)+E^2(\^y)]

=E[(\^y-E(\^y))^2]+(y-E(\^y))^2

=D(\^y)+(y-E(\^y))^2

第一項是Variance, 第二項是Bias(\^y=f(x),即分類器的預測)

[1] http://www.noobyard.com/article/p-rcnrawwj-qv.html

 

一個經典的問題:boosting降低Bias,而bagging(例如RF)降低Variance[2]。

1.

boosting例如Adaboost,GBDT,其第i個子分類器的訓練依賴於第i-1個分類器的結果:

loss=L(y,F_{i-1}(x)+af_i(x))

where, F_m(x)=\sum _i a_if_i(x)

具體的,例如Adaboost使用了指數損失函數L(y,f(x))=exp(-yf(x))

這樣的依賴關係導致了子分類器之間相關程度高

2. 

bagging例如RF,每個子分類器重採樣訓練集,隨機選則特徵集的子集。使得子分類器之間相關程度變低。

從公式來理解以上兩個情況,有n個分類器fi(x):

 

對於Bias:

對於bagging來說:E(F_n(x))=E(\frac{1}{n} \sum _if_i(x))=E(f_i(x)),即取算術平均後基本不會改變Bias。

而對於Boosting來說其取加權平均,可以減小Bias。

 

對於Variance:

先選取兩種極端情況進行討論

若各個分類器相互獨立,則D(F_m(x))=\frac{1}{m}D(f_i(x))

反之,D(F_m(x))=D(f_i(x))

因此,對於Bagging來說,分類器間相關程度低,有利於減小Variance,而Boosting卻無法做到這一點。

 

[2] https://www.zhihu.com/question/26760839