機器學習技法(7)--Blending and Bagging


Ensemble模型的基礎概念。

先總結歸納幾個aggregation的常見形式:

多選一的形式特別需要那幾個里面有一個表現好的,如果表現都不太好的時候,幾個模型融合到一起真的會表現好嗎?

左圖:如果只能用垂直的線和水平的線做分類,結果肯定不是太好,但是如果能把垂直的線和水平的線結合起來,就有可能做出這一條好的分割線;

右圖:PLA會在可以分割的線中隨機選一條,但是如果他們能投票的話,投票的線就會得到一個中庸的結果,就是那個黑線。

在知道了aggregate會表現好之后,下面介紹到底怎么樣進行融合:

blending的前提是知道了幾個g,結合的時候投票就好了:

classification的時候:

但是這幾個已知的g要不一樣才行,一樣的話還是沒有什么意義;

如果這些g很不一樣的話,本質就是得出一個少數服從多數的結果。

regression的時候:做一個平均

也就是說,當我們已知的g差異很大的時候,融合起來的表現一定比單個g表現要好。

數學證明:

從上式可以看出,一個演算法的表現可以分成兩個部分:

Blending的過程就是一個減少方差(variance)的過程,這個過程可以讓表現更加的穩定。

下面介紹Linear Blending:從一人一票改成沒人投票是有權重的,這個權重又是線性的。

一個好的αt的標准就是最小化Ein

linear blending = linear model + hypotheses transform + constraints

α在二元分類問題中反過來其實也沒什么,這樣的話那個constraints也可以去掉了:

linear blending和model selection的區別:

如果用Ein的話,有很多的缺點,所以建議用validation error來做標准。

所以,之前說的blending是先把所有的g算出來,再做融合,那么我們能不能一邊算g,一邊融合呢?

怎么樣保證g的多樣性呢?

那么同一份數據能不能創造g的多樣性呢?

bootstrapping:一個統計學的工作,其目的是從有限的數據中“模擬”更多的數據出來。其實就是放回抽樣。這樣的話,同一筆數據有可能被抽取多次,也有可能一次都沒有被抽取。

boostrap就是bagging。這個bagging的算法在base algorithm對隨機很敏感的時候表現好。

總結:


免責聲明!

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



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