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

Ensemble模型的基礎概念。算法

先總結概括幾個aggregation的常見形式:bootstrap

多選一的形式特別須要那幾個裏面有一個表現好的,若是表現都不太好的時候,幾個模型融合到一塊兒真的會表現好嗎?app

左圖:若是隻能用垂直的線和水平的線作分類,結果確定不是太好,可是若是能把垂直的線和水平的線結合起來,就有可能作出這一條好的分割線;3d

右圖:PLA會在能夠分割的線中隨機選一條,可是若是他們能投票的話,投票的線就會獲得一箇中庸的結果,就是那個黑線。orm

在知道了aggregate會表現好以後,下面介紹到底怎麼樣進行融合:blog

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

classification的時候:it

可是這幾個已知的g要不同才行,同樣的話仍是沒有什麼意義;io

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

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對隨機很敏感的時候表現好。

總結:

相關文章
相關標籤/搜索