集成學習-Ensemble Learning

Po-Kai Huang
數據領航員
Published in
6 min readMar 24, 2023

主編 / 黃柏愷 ; 共同編寫 / 鄭雅綿

目錄
甚麼是 Ensemble Learning ?
Bagging (Bootstrapped Aggregation) 自助重抽總合法
Boosting 推升法
Stacking 堆疊法
Patch Learning 區域學習
結語
參考文章

甚麼是 Ensemble Learning ?

在機器學習中,模型單獨運行的成效可能不佳,這時候我們可能就得更多個模型來協助完成任務。集成學習 (Ensemble Learning) 又稱為整體學習、整合學學習,是以一種有系統的方式將多個監督式模型結合在一起,希望透過多個模型產出更強大的一個模型。在很多情況下,集成學習模型能非常有效提高準確率。

根據集成的方式不同,主要可以分成以下四類。

  1. Bagging (Bootstrapped Aggregation)
  2. Boosting
  3. Stacking
  4. Patch Learning

Bagging (Bootstrapped Aggregation) 自助重抽總合法

Bagging 指的是我們將訓練資料進行隨機抽樣以產生多組不同的訓練資料,並且使用多個模型進行預測,如下圖為 Bagging 之架構。

大多時候我們會傾向使用多個同樣的機器學習模型,尤其是未經過整理的 Decision tree (決策樹) ,並將先前切分好的訓練資料丟進模型裡面,最後由所有模型進行投票或是平均來產生結果。

Boosting 推升法

Boosting 主要是想透過更多的機器學習模型,來修正已訓練模型的結果。例如第二個模型會修改第一個模型的預測結果,而第三個模型則會修改第二個模型的預測結果。

在 Boosting 方法進行中,訓練資料會保持相同,並運用預測結果對特定資料進行增加或減少權重後放入下一個模型當中。目標是希望訓練後,新的模型在遇到這些較難預測的資料時可以表現得更好。我們會不斷的重複這些步驟,不斷地增加模型,並且新的模型會將過去表現不好的地方改善。

Boosting 中每一個模型都是有關聯的,將每一個模型預測完成後才會有下一個模型的生成。代表的方法有 AdaBoost, Gradient Boosting 以及 XGBoost,這些方法都是產生非常多棵的樹,但每棵都是簡單的 Decision Tree,最終將所有 Decision Tree 的樹結合在一起才能產出最後的預測。

Stacking 堆疊法

Stacking 一樣是由多個模型組成,但是與 Boosting 和 Bagging 不同的地方是,每個模型可以選擇相同或不同的演算法,例如第一個模型選擇的演算法為 Logistic Regression 而第二個模型為選擇的演算法為 Decision Tree。訓練完多個模型後,我們要將這些模型合併在一起。合併的方式是另外訓練一個模型,這個模型把前面所有模型的輸出當成輸入,並產生出最終預測結果。

常見的方法有 Stacked Models (canonical stacking), Blending 以及 Super Ensemble,下圖為 Stacking 之架構。

Patch Learning 區域學習

Patch Learning 能夠有效的掌握表現不佳的區間,經過訓練一個全域的模型後透過一個機器學習模型找出誤差大的 Patch,透過多個斷點的學習我們會得到 Global Model,Patch 1 Model,Patch 2 Model … Patch n Model。

Patch Learning 主要包括三個部分

給定 Patch Model 要被訓練的次數 L

  1. 使用所有訓練資料訓練一個初始的全域模型
  2. 挑出較難預測的資料,再放入個別 Patch (總共會有一開始給定的訓練次數 L 個)進行區域訓練
  3. 從訓練資料中移除放入個別 Patch 的訓練資料,再用剩下的訓練資料來更新全域模型

當輸入資料時,先判斷這個輸入是不是在 Patch 模型中,是則執行 Patch 模型,不是則執行更新後的全域模型,以下是 Patch Learning 的架構圖。

結語

當你建立單獨運行模型成效不好時,可以考慮使用 Ensemble Learning,將多個模型組合在一起,由多個模型進行投票或是取平均產出的結果往往能提升預測成效,文中提及的方法是目前主要使用的幾種 Ensemble Learning 的方法,選擇哪一個方法還需要視實際情況而定!

參考資料

A Gentle Introduction to Ensemble Learning Algorithms — MachineLearningMastery.com

Patch Learning 論文 : 1906.00158.pdf (arxiv.org)

[Day 13] 整體學習 (Ensemble Learning) — iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)

教育部補助大專院校STEM領域及女性研發人才培育計畫目標為建構一個「以智慧物聯技術與實務應用為基礎的教育環境和實作場域」,並規劃出符合此STEM教育領域的創新特色課程,以畢業前進入企業實習的方式,讓學生了解相關產業界所面對的問題,再輔以業界實作場域的教育訓練活動,共同帶領學生發展出動手做、判斷與解決問題的相關技能;本計畫也規劃讓學生以專題實作的組隊方式,跟業界協力領導學生對外參與智慧物聯技術的應用競賽,不僅可以累積學生實務開發的能力,更能激發其潛能來幫助企業解決所面臨的難題。

Data Science Meetup 台灣資料科學社群的使命是「為資料科學人士與企業創建經濟機會」。我們相信大數據蘊藏著巨量的信息和價值,如何處理好大數據並發掘其潛藏的商業價值,就要靠資料科學有效的應用。21世紀是資料科學決勝時代,我們社群將為大家提供與資料科學相關的最新技術和資訊實戰攻略,並透過全球業界人士和學者幫助相關職業規劃與挑戰,社群活動包含

  • 台北實體版聚
  • 線上版聚
  • Mentorship Program

歡迎加入我們社團瞭解更多資訊:https://www.facebook.com/groups/datasciencemeetup/

--

--