組合模型初探

Andrew.Hann發表於2018-02-04

0. 組合模型概述

我們已經學習了一系列不同的模型用於解決分類問題和迴歸問題。經常發現的一件事情是,我們可以通過某種方式將多個模型結合到一起的方法來提升效能,而不是獨立地使用一個單獨的模型。這個小節我們先來提綱挈領的討論一下“組合模型”的思想方法,這種討論可以給我們以啟發,

(1)例如,我麼可以訓練 L 個不同的模型,然後使用每個模型給出的預測的平均值進行預測,這樣的模型的組合有時被稱為委員會(committee)。

(2)委員會方法的一個重要的變體,被稱為提升方法(boosting),這種方法按順序訓練多個模型,其中 每一輪中用來訓練一個特定模型的誤差函式依賴於前一個模型的表現(也即每輪的調整策略由上一輪模型的表現決定)。與單一模型相比,這個模型可以對效能產生顯著的提升。

(3)與對一組模型的預測求平均的方法不同,另一種形式的模型組合是選擇一個模型進行預測,其中模型的選擇是輸入變數的一個函式(也即有輸入變數決定選擇什麼模型)。因此不同的模型用於對輸入空間的不同的區域(特徵維度切面)進行預測。這種方法的一種廣泛使用的框架被稱為決策樹(decision tree),其中選擇的過程可以被描述為一個二值選擇的序列,對應於對樹結構的遍歷。這種情況下,各個單獨的模型通常被選得非常簡單,整體的模型靈活性產生於與輸入相關的選擇過程。決策樹既可以應用於分類問題也可以應用於迴歸問題。

決策樹的一個侷限性是對於輸入空間的劃分基於的是一種硬劃分,對於輸入變數的任意給定的值,只有一個模型用於做出預測。通過將一個概率框架用於模型組合,決策過程可以被軟化,例如,如果我們有一組 K 個模型用於描述條件概率分佈,其中是輸入變數, 是目標變數,是模型的索引,那麼我們可以進行一種概率形式的混合,形式為:,其中表示與輸入相關的混合係數。這樣的模型可以被看成混合概率模型,其中分量的概率密度以及混合係數都以輸入變數為條件,被稱為專家混合(mixture of experts)

 

1. 委員會

構建一個委員會的最簡單的方法是對一組獨立的模型的預測取平均,這樣的方法非常符合概率統計的思想,它綜合考慮了偏置和方差之間的折中,它將模型的誤差分解為:

1. 偏置分量:產生於模型和真實的需要預測的函式之間的差異;
2. 方差分量:表示模型對於單獨的資料點的敏感性;

當然,在實際的應用中,我們只有一個單獨的資料集,因此我們必須尋找一種方法來表示委員會中不同模型之間的變化性。一種方法是使用自助(boostrap)資料集。

考慮一個迴歸問題,其中我們試圖預測一個連續變數的值,並且假設我們生成了 M 個自助資料集然後使用每個資料集訓練出了預測模型的一個獨立的副本,其中。委員會預測為:

這個方法被稱為自助聚集(boostrap aggregation)或者打包(bagging)

假設我們試圖預測的真實的迴歸函式為,從而每個模型的輸出可以寫成真實值加上誤差的形式,即:

這樣,平方和誤差函式的形式為:,其中表示關於輸入變數的一個頻率期望。於是,各個模型獨立預測的平均誤差為:

類似地,委員會方法的預測的期望誤差為:

如果我們假設誤差的均值為零,且不具有相關性,即:,那麼我們有:

這個結果表明:

一個模型的平均誤差可以僅僅通過對模型的M個版本求平均的方法減小M倍。這看起來是一個非常牛逼的事情,但不幸的是,它依賴於我們的關鍵假設,即由各個單獨的模型產生的誤差是不相關的,但是在實際應用中,各個模型之間的誤差通常是“高度相關的”,因此整體的誤差下降是通常很小的。
然後,可以證明,委員會誤差的期望不會超過各個分量模型的期望誤差,即Ecom <= Eav

為了得到更顯著的提升,我們轉向一種更加複雜的構建委員會的方法,被稱為提升方法

 

2. 提升方法(boosting)

提升方法是一種很一種很強大的方法,它將多個“基”分類器進行組合,產生一種形式的委員會,委員會的表現會比任何一個基分類器的表現好得多。即使基分類器的表現僅比隨機猜測的表現稍好,提升方法扔可以產生比較好的結果,這種基分類器有時被稱為弱學習器(weak learner)。提升方法最初被用來解決分類問題,但是也可以推廣到迴歸問題。

提升方法和委員會方法(例如bagging投票方法)的主要區別在於:

基分類器是順序訓練的,每個基分類器使用資料集的一個加權形式進行訓練,其中與每個資料點相關聯的權係數依賴於前一個分類器的表現。特別地,被一個基分類器誤分類的點在訓練序列中的下一個分類器時會被賦予更高的權重。一旦所有的分類器都訓練完畢,那麼它們的預測就會通過加權投票的方法進行組合

0x1:通過一個例子體會Boosting思想的強大之處

使用李航的《統計機器學習》裡的例子,非常經典,給人以啟發

 

我們看到在每輪的迭代中,權重係數對於誤分類的資料點會增大,對於正確分類的資料點不改變,因此後續的分類器就會更關注那些被前一個分類器錯誤分類的資料點。

這裡的 x < v 或者 x > v 我們可以理解成是一個基分類器, 每個基分類器由一個輸入變數的閾值組成,這個簡單的基分類器本質上就是一種“決策樹樁(decision stup)”,即一個具有單節點的決策樹。

可以看到,Boosting中的每個基分類器僅僅使用一個與一個座標軸垂直的線性決策面將空間劃分為兩個區域,這看起來是一個“不是太好的”分類器,很明顯嘛,這樣一個二分類器怎麼可能取得好的效果呢?

但是Boosting通過整合了多個基分類器,不同的基分類器各自有不同的權重係數,通過最後的綜合投票得到一個綜合判斷,Boosting中的一系列基分類器各自有不同的權重係數,係數的確定是由訓練樣本逐輪的迭代確定的。

這頗有深度神經網路神經元的思想。只是區別在於,深度神經網路中神經元的權重是隨著每輪的訓練迭代同時整體調整的,這也是深度神經網路的擬合能力相對更強的原因。

0x2:最小化指數誤差

提升方法最早起源於統計學理論,得到了泛化誤差的上界。然而,這些上界過於寬鬆,沒有實際的價值。提升方法的實際表現要遠優於上界給出的值。考慮下面定義的指數誤差函式:

,其中是根據基分類器的線性組合定義的分類器,形式為:是訓練集目標值。我們的目標是關於權係數和基分類器最小化

然而,我們不進行誤差函式的全域性最小化,而是假設基分類器以及它們的係數固定,因此我們只關於進行最小化。分離出基分類器的貢獻,我們可以將誤差函式寫成

,其中,係數可以被看作常數,因為我們只針對進行最優化。如果我們將被正確分類的資料點的集合記作,並且將剩餘的誤分類的點記作,那麼我們可以將誤差函式寫成如下形式:

當我們關於進行最小化時,我麼看到第二項是常數,不影響最小值的未知。

在通過求導數得到極值,找到之後,資料點的權值使用下面的公式進行更新:

使用下面的事實:

我們看到在下一次迭代中,權值的更新為:

由於與 n 無關,因此我們看到它對於所有資料點的權值都貢獻一個相同的因子(即分對的樣本在本輪的調整幅度是一致的;分錯的樣本的調整幅度在本輪的調整是一致的),從而在公式上可以丟棄,化簡後得到:

最後,一旦所有的基分類器被訓練完畢,新資料點通過所有基分類器的線性組合進行分類,由於因子 1/2 不影響符號,因此可以省略,得到公式:

可以看到,在每輪迭代中參與調整的最核心的因素是:本輪基分類器的分類錯誤的資料點的指數誤差綜合,對Boosting方法來說,每輪分對的資料點和分錯的資料點可以理解為一個神經元(包含2個神經元的隱層的神經網路),每輪迭代都根據上一輪的誤差,藉助一個指數算式來得到一個負向反饋的權重調整

0x3:提升方法的誤差函式

Boosting演算法的最小化指數誤差函式與我們之前學習的統計概率演算法的誤差函式有一些不同。為了更深刻地理解指數誤差函式的本質,我們首先考慮期望誤差:

如果我們關於所有可能的函式進行變分最小化,那麼我們有:

它是log odds函式的一般,因此Boosting演算法是在由基分類器的線性組合表示的函式空間中,尋找對log odds的最好的近似,對應於順序最優化策略下的受限最小化。

下圖用不同顏色的線對指數誤差、縮放的交叉熵誤差、支援向量機使用的鉸鏈誤差函式、無分類誤差函式進行橫向對比:

我們可以看到:

1. 交叉熵誤差函式和指數誤差函式,都可以看成對理想誤分類誤差函式的連續近似。
2. 指數誤差的一個優點在於它的順序最小化會得到簡單的adaboost方法。然而,一個缺點是,與交叉熵函式相比,它對負的 t * y(x)的懲罰是指數增長了,不如交叉熵那麼線性。因此指數誤差函式對於異常點和誤分類點的資料點並不魯棒。
3. 和交叉熵誤差相比,指數誤差函式無法表示為任何具有良好定義的概率模型的似然函式。
4. 此外,指數誤差無法推廣到具有 K > 2個類別的分類問題,而交叉熵這種概率模型可以很容易推廣到多分類形式。

 

3. 基於樹的模型

有許多簡單但廣泛使用的模型,它們將輸入空間劃分為超立方體區域,超立方體的邊與座標軸對齊,然後為每個區域分配一個簡單的模型(例如一個常數閾值二分類器)。這些模型可以被看成一種模型組合方法,其中只有一個模型對於輸入空間中任意給定點的預測起作用(輸入資料點沿著二叉樹直到樹葉只能選擇一條線路,到達唯一的一個葉子結點)。給定一個新的輸入 x,選擇一個具體的模型的過程可以由一個順序決策的過程描述, 這個過程對應於一個二叉樹(每個節點劃分為兩個分支的樹)的遍歷。

0x1:一個具體的樹模型的例子 - 分類與迴歸樹

這裡,我們關注一個特定的基於樹的框架,被稱為分類與迴歸樹(classification and regression tree)。

1. 模型結構

下圖給出了對輸入空間進行遞迴二分的例子,以及對應的樹結構。

在這個例子中,第一步根據或者,將輸入空間劃分為兩個區域,其中是一個模型引數。

這建立了兩個子區域,每個區域之後可以獨立地進行劃分,不斷遞迴下去。

對於任意新的輸入 x,我們確定它所屬區域的方法是:從樹頂端的根節點開始,根據每個結點的決策準則(基分類器),沿著路徑向下走到具體的葉結點。

在每個區域內,有一個單獨的模型(本質上就是基分類器)預測目標變數的值。例如

1. 在迴歸問題中,我們簡單地在每個區域內預測一個常數(離散化取樣思想)
2. 或者在分類問題中,我們將每個區域分配一個具體的類別(二分類或多分類)

基於樹的模型的一個關鍵的性質是模型可以由人類表述(可解釋性),因為模型對應於作用在輸入變數上的一個二元決策序列(注意,序列和加和模型是有區別的,序列不是簡單的total加和,序列包含了決策順序),這種序列在實際應用中非常有用。例如,為了預測一個病人的疾病,我們可以首先問“病人的體溫是否大於某個閾值?”。如果回答是肯定的,那麼我們可以問“病人的血壓是否低於某個閾值?”。然後樹的每個葉節點都與一個具體的診斷相關聯。

2. 模型策略

我們繼續來討論如何確定決策樹的結構,即使對於結點數量固定的樹,確定最優結構(包括每次劃分使用的輸入變數以及對應的閾值)來最小化平方和誤差函式的問題通常在計算上是不可行的,因為可能的組合數量非常巨大。相反,我們通常使用貪心的最優化

對應於整個輸入空間的一個單獨的根節點開始,然後通過每次新增一個結點的方式構建樹;

在每一步,輸入空間中會有若干個可以切分的候選的區域,對應於向當前的樹中新增一對葉節點。對於每個這種候選區域,我們要選擇使用D個輸入變數中的哪一個進行劃分?以及閾值的大小?

劃分割槽域的選擇以及輸入變數和閾值的選擇可以通過徹底搜尋的方法高效地進行聯合最優化

3. 模型終止條件

得到構建樹的貪心策略之後,剩下的問題是如何停止新增結點。一個簡單的方法是當殘留誤差的減小量低於某個閾值時停止(精確度增長速度收斂)。

然而,我們通過實驗發現,經常出現這樣的情形:在某一輪迭代中,沒有一種劃分方式會使誤差函式產生顯著的減小,但是再進行幾次劃分之後,就又突然找到一個使誤差函式顯著減小的劃分方式(似乎是從一個區域性最優的陷阱裡跳出來了)

因此,在實際應用中通常構建一個較大的樹,使用基於與葉節點關聯的資料點數量的停止準則(本質是限制樹的深度),然後進行剪枝,生成最終的樹。

剪枝的過程基於的準則是:在殘留誤差與模型複雜度之間進行平衡

0x2:樹模型可能存在的問題

像CART這種樹模型可以由人類進行表述這一性質通常被視為一個十分重要的優點,然後在實際應用中,學習到的特定的樹結構對於資料集的細節非常敏感,從而訓練集的一個微小的改變就會產生一個相當不同的劃分集合。本質上來說,導致這個問題的原因在於決策的測決面太硬了,不夠柔和。

另一個一個比較嚴重的問題是,劃分邊界與特徵空間的座標軸對齊的,這相當不好。

此外,決策樹中的劃分是硬劃分,從而輸入空間中的每個區域與一個葉節點模型關聯,並且只與一個葉節點模型關聯,樹模型相當於生成了一個分段常數的預測,劃分的邊界是不連續的。

 

4. 條件混合模型

我們已經看到,標準的決策樹被限制為對輸入空間的硬的、與座標軸對齊的劃分。這些限制可以通過引入軟的、概率形式的劃分的方式得到緩解,這些劃分是所有輸入變數的函式,而不是僅僅某個輸入變數的函式。當然,這樣做的代價是模型的直觀意義的消失

如果我們也給葉節點的模型賦予一個概率的形式,那麼我們就得到了一個純粹的概率形式的基於樹的模型,被稱為專家層次混合(hierarchical mixture of experts)。

另一種得到專家層次混合模型的方法是從標準的非條件密度模型(例如高斯分佈)的概率混合開始,將分量概率密度替換為條件概率分佈。這裡,我們考慮線性迴歸模型的混合以及logistic迴歸模型的混合。在最簡單的情況下,混合係數與輸入變數無關。如果我們進行進一步的泛化,使得混合係數同樣依賴於輸入,那麼我們就得到了專家混合(mixture of experts)模型。最後,如果我們使得混合模型的每個分量本身都是一個專家混合模型,那麼我們就得到專家層次混合模型。

0x1:線性迴歸模型的混合

用概率形式表示線性迴歸的眾多優點之一是它可以用作更復雜的概率模型的一個分量。例如,將表示線性迴歸模型的條件概率分佈看成有向概率圖中的一個結點,即可完成這件事。

這裡,我們考慮一個線性迴歸模型的混合的例子,它是高斯混合模型的一個直接推廣,推廣到條件高斯分佈的情形。

我們考慮 K 個線性迴歸模型,每個模型都由自己的權引數控制。在許多應用中,比較合適和簡單的做法是對所有 K 個分量使用一個共同的噪聲方差,由精度引數控制。

我們將注意力集中於單一目標變數,將混合係數記作,那麼混合概率分佈可以寫成:

其中表示模型中所有可調節引數的集合,即。給定一組觀測資料集,這個模型的對數似然函式的形式為:,其中表示目標變數組成的向量。

為了最大戶這個似然函式,我們可以再次使用EM演算法,它是無條件高斯混合模型的EM演算法的一個簡單推廣。於是我們可以基於我們對無條件混合分佈的經驗構造模型,引入一組二值潛在變數,其中,其中對於每個資料點 n,所有的中只有一個元素為1,其餘元素都等於0。等於1的元素表示哪個混合分佈用於生成資料點。潛在變數與觀測變數的聯合概率分佈可以用下面圖模型表示:

 

這樣,完整資料的對數似然函式的形式為:

1. EM步驟

EM演算法在開始時,首先選擇模型引數的初始值,在E步驟中,這些引數用於計算每個資料點 n 的每個分量 k 的後驗概率分佈或者“責任”,結果為:,然後,“責任”被用於確定完整資料對數似然函式關於後驗概率分佈的期望,形式為:

在M步驟中,我們關於最大化函式,保持不變。對於關於混合係數的最優化,我們需要考慮限制條件,這使用拉格朗日乘數法即可完成,得到了的M步步驟重估計方程,形式為:

接下來,考慮關於第 k 個線性迴歸模型的引數向量的最大化,帶入高斯分佈的表示式,我們看到關於引數向量的函式形式為:,其中常數項包含來自的其他權向量的貢獻。

注意,我們最大化的量類似於單一線性迴歸模型的標準平方和誤差函式的負對數,但是包含了責任項。這代表了加權最小平方(weighted least squares)問題,其中對應於第 n 個資料點的項帶有一個加權係數,它可以被看成每個資料點的有效精度。

我們看到,混合模型中的每個分量線性模型由自身的引數向量控制,在 M 步驟中使用整個資料集分別進行調節,但是每個資料點 n 由責任項加權,它表示模型 k 對這個資料點的作用。

關於的導數等於零,可得:

它可以用矩陣的記號表示為:,其中是一個 N * N 的對角矩陣,解出,我們有

它表示一組修改過的規範方程,對應於加權的最小平方問題,與logistic迴歸問題中得到的結果具有相同的形式。

注意,在每個 E 步驟之後,矩陣會發生變化,因此我們在後續的 M 步驟中必須重新解該規範方程

最後,我們關於最大化,只保留依賴於的項,函式可以寫成:

令它關於的導數等於零,整理之後,我們得到了的 M 步驟方程,形式為:

下圖用一個簡單的例子來說明這個基於線性迴歸組合的EM演算法:

在上圖的例子中,我們根據資料集來調整由兩條直線組成的混合模型,資料集有一個輸入變數 x 和一個目標變數 t。

我們看到,混合模型可以更好地表示資料分佈,這一點通過更高的似然函式值反映出來。然而,混合模型也將相當大的概率質量分配到了沒有資料的區域,因為它的預測分佈對於 x 的所有值來說是雙峰的

0x2:logistic模型的混合

由於線性迴歸模型定義了給定輸入變數的條件下目標變數的一個條件概率分佈,因此很容易將其用作混合模型中的分量分佈,從而與單一的logistic迴歸模型相比,可以表示更豐富的一類條件概率分佈。

對於 K 個logistic迴歸模型來說,目標變數的條件概率分佈為:,其中是特徵向量,是分量 k 的輸出,表示可調節引數,即

1. EM步驟

現在假設我們有一個資料集,從而對應的似然函式為:,其中

我們可以使用EM演算法迭代地最大化這個似然函式。這涉及到引入潛在變數,它對應於每個資料點 n 的用方式編碼的二值指示器變數。完整資料的似然函式為:

,其中是潛在的變數矩陣,元素為

我們通過選擇模型引數的一個初始值來初始化EM演算法,之後在 E 步驟中,我們使用這些引數值來計算每個資料點 n 的分量 k 的後驗概率,形式為:

這些責任項然後用於尋找完整資料對數似然函式的期望,它作為的一個函式,形式為:

M步驟涉及到關於最大化這個函式,保持不變,從而保持不變。關於的最大化可以使用通常的方式進行,引入拉格朗日乘數來強制滿足的限制,得到下面的結果:

為了確定,我們注意到由一組下標為 k 項的求和式組成,它只依賴於向量中的一個,因此不同的向量在EM演算法的 M 步驟中可以獨立進行優化。換句話說,不同的分量只通過責任項產生相互作用,它在步驟 M 步驟中是固定的,注意,M 步驟沒有封閉解,必須使用例如迭代重加權最小平方(IRLS)演算法迭代得求解。對於向量的梯度和為:,其中表示關於的梯度。對於固定的,梯度和獨立於,因此我們可以使用 IRLS 演算法分別對每個求解,因此分量 k 的 M 步驟方程僅僅對應於使用資料集調整一個單獨的logistic迴歸模型,其中資料點 n 攜帶權值

下圖給出了一個logistic迴歸模型的混合模型應用的簡單例子

從這2個例子,我們可以看出,混合模型的最強大的地方在於:混合模型可以捕獲資料集中多個不同的概率分佈模式(如果真的存在的話),並通過權重調整來柔性地微調各個基分類器之間的關係

Copyright (c) 2018 LittleHann All rights reserved

相關文章