機器學習:整合學習(ensemble learning)(一)——原理概述
阿新 • • 發佈:2018-12-10
整合學習(ensemble learning)
整合學習通過構建多個個體學習器,然後再用某種策略將他們結合起來,產生一個有較好效果的強學習器來完成任務。基本原理如下圖所示。這裡主要有三個關鍵點:個體學習器的同質異質、個體學習器的生成方式、結合策略。
- 同質異質。首先需要明確的是個體學習器至少不差於弱學習器。弱學習器常指泛化效能略優於隨機猜測的學習器,例如二分類問題中精度略高於50%的分類器。對於訓練資料若整合中的個體學習器為同一型別,例如都為BP神經網路或者都為決策樹,則稱同質整合。同樣的道理,若個體學習器型別不同,例如既有決策樹又有神經網路,則稱異質整合。
- 個體學習器的生成方式。主要可以分為兩種,個體學習器之間存在強依賴關係、必須序列生成的序列化方法,以及個體學習器件不存在強依賴關係、可同時生成的並行化方法。前者代表是Boosting,後者代表是Bagging和隨機森林(Random Forest)。
1.Boosting基本原理如圖所示
- 整合的組合策略。
- 平均法。對於迴歸問題一般使用平均法,分為算術平均與加權平均等。\[\begin{array}{l} G(x) = \frac{1}{T}\sum\limits_{i = 1}^T {{G_i}} (x)\\ G(x) = \sum\limits_{i = 1}^T {{\alpha _i}{G_i}} (x),{\alpha _i} \ge 0\;\;\;\;\sum\limits_{i = 1}^T {{\alpha _i} = 1} \end{array}\]
- 投票法。對於分類問題一般使用投票法。相對多數投票法,取學習器分類結果中數目最多的類為最終類別。絕對多數投票法,票數最多,且必須大於半數。加權投票法。
- 學習法。即通過一個學習器來進行組合。Stacking為典型代表。實際上上面兩種方法可以看做其中的特例。
偏差、方差與泛化誤差
- “偏差-方差分解”是解釋學習演算法泛化效能的一種重要工具。我們知道,演算法在不同訓練集上學得的結果可能不同,即便這些訓練集來自同一分佈。
- 對測試樣本\(x\),令\(y_D\)為其在資料集D上的標記,\(y\)為其真實標記(因為由於噪聲存在,會出現兩者不等情況),\(f(x;D)\)為在訓練集D上學得得模型\(f\)在\(x\)上的預測輸出。
- 由上有學習演算法的期望預測\[\bar f(x) = {{\rm E}_D}[f(x;D)]\]使用樣本數相同的訓練集產生的方差為\[{\mathop{\rm var}} ( \cdot ) = {{\rm E}_D}[{(f(x;D) - \bar f(x))^2}]\]噪聲滿足\[{\varepsilon ^2} = {{\rm E}_D}[{(\bar f(x) - {y_D})^2}]\]期望輸出與真實標記的差別稱為偏差,滿足\[bia{s^2}( \cdot ) = {(\bar f(x) - y)^2}\]為便於討論,假定噪聲期望為0,通過簡單多項式計算,可對演算法的期望泛華誤差進行分解,最後得到\[{\rm E}(f;D) = bia{s^2} + {\mathop{\rm var}} + {\varepsilon ^2}\]
- 回顧三者含義。偏差度量學習演算法的期望預測與真實結果的偏離程度,即刻畫了演算法本身的擬合程度。方差度量了同樣大小的訓練集的變動導致的預測偏離期望預測的能力(單純從訓練集來說,好的演算法應該是變動較小的),刻畫了資料擾動造成的影響。噪聲則表達了在當前任務上任何學習演算法所能達到的期望泛化誤差的下界,即刻畫了學習問題本身的難度。偏差-方差分解說明,泛化效能由學習演算法的能力,資料的充分性以及任務本身的難度共同決定。給定任務,為取得較好的泛化效能,則需偏差較小,即能充分擬合數據,並使方差較小,即使得資料擾動產生的誤差較小。
- 一般來說,兩者是有衝突的,稱為“偏差-方差窘境”
- 偏差-方差分解,這種簡單優美形式由[Geman et al., 1992]給出,僅在基於均方誤差的迴歸任務中推匯出,確實可以反映各種學習任務中的誤差決定因素。對於分類任務,由於0/1損失函式跳變性,理論上推匯出偏差-方差分解很難。但是已經有多種其他方法對偏差方差估計。
- 從偏差-方差分解角度看,Boosting主要關注降低偏差,Bagging主要關注降低方差。
關於整合學習的錯誤率分析以及研究核心
為便於分析,我們考慮二分類問題,正例為+1,負例為-1,真實函式為\(f\),假定基分類器錯誤率為\(e\),即對每個分類器\(G_i\),有\[P({G_i}(x) \ne f(x)) = e\]假設整合通過相對多數投票法結合T個分類器,因為二分類,那麼超過半數學習器分類正確,整合分類器就正確,則整合分類器\[G(x) = sign(\sum\limits_{i = 1}^T {{G_i}} (x))\]假設個體學習器錯誤率相互獨立,則由Hoeffding不等式,\[P(G(x) \ne f(x)) = \sum\limits_{i = 1}^{T/2} {\left( {\begin{array}{*{20}{c}} T\\ k \end{array}} \right)} {(1 - e)^k}{e^{T - k}} \le \exp ( - \frac{1}{2}T{(1 - 2e)^2})\]上式表明,隨著個體學習器數目增大,整合錯誤率將指數級下降,最終趨於零。 另外,我們注意到,上面的關鍵假設:學習器相互獨立。實際上他們為解決同一問題訓練出來的,顯然不可能相互獨立。事實上,個體學習器的準確性與多樣性本身就存在衝突,如何產生並組合“好而不同”的學習器,恰恰是整合學習的研究核心。