機器學習技法筆記-Lecture 7 Blending and bagging


blending和bagging都是 aggregation的方式。將許多不同的g組合成新的G.

 

首先引入幾種aggregation的方式

selection的方法是從備選中挑出最好的模型,aggregation的方法則希望能夠將多個weaker的模型融合一起變強。

 

適當的aggregation可能起到特征轉化與正則的作用,得到更好的效果。

 

blending 混合

uniform blending在分類上,就是投票。

在多分類問題上,對預測的x,選取投票最多的類別

 

uniform blending在回歸上,就是求均值。

aggretation的效果要好,一個很重要的前提是g_t之間要有差別 (diverse),不能過於相似。

 

以下證明了在平方誤差下,G的Eout要比g的Eout小。

 

然后給出了 expected performance of A 演算法的平均表現的概念

假設一個演算法T個在size為N的data上得到各個g_t,另T趨近無限大,得到g平均

將g平均代換掉G

左側稱為演算法表現的期望,右邊第一項是 g_t與共識的差別,第二項是共識的表現。

uniform blending求平均其實就是減少variance的過程。

 

linear blending 

投票的權重不一樣。alpha的求解同樣是最小化Ein的過程。

左邊的linear blending for regression的問題可以看做是 對特征的transform后再做LR的過程。

在二分類中alpha>0的條件可以忽略,因為對於不好的g,取反可能更好。

 

上面講到的alpha的求解,是最小化Ein,其實也是增加了模型的vc維,所以最好使用minEval來求解alpha.

 

any blending(stacking)

在train set上得到的多個了 g-,將樣本點表示為,相當於把訓練出來的每個g-(x)看做特征,再丟到linear model(linear blending)或者其他model里面進行訓練(數據集換成validation set)。

一個blending的例子。單模型-stacking

 

blending首先需要一堆g,這些g最好是diverse的。那一般是怎么得到的呢?

可以從不同模型中學到不同的g

可以對算法使用不同的參數學到不同的g

或者利用算法的隨機性,比如PLA初始w不同最后的結果也不一樣

或者資料具有隨機性,比如cv后,每次的g-會不一樣

下面介紹的bagging就是通過data的隨機性來得到多個g的方法。

bagging ( bootstrap aggregation)

bootstrapping是一個re-sample的過程,在size N的樣本中每次有放回地抽取 N’個樣本,用這些樣本去訓練得到g。

重復這個過程T次,那么就能得到T個g的平均。

如果算法對數據敏感的時候,得到的g可能就會很不一樣,那么aggregation的表現可能就會很好。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM