2023年5月18日 星期四

AI 入門:18.整合學習方法(人工智慧 28 堂基礎課程)

整合學習方法 (Ensemble methods) 是一種元學習演算法 (Meta-learning Algorithms),能夠結合數種機器學習(ML)技術,建立一個單一的預測模型。整合式建模 (Ensemble modelling) 的主要原則是將幾個較弱的模型 (Weaker models) 組合在一起,形成一個能夠做出更準確預測的單一模型 (Strong model)。機器學習(ML)中發生的大部分錯誤主要來自噪音 (Noise)、偏差 (Bias) 和變異 (Variance)。因此,整合學習方法的目的就是希望將這些因素降至最低。

.
整合學習方法可以分為以下兩種類型:
  • 順序整合學習方法 (Sequential Ensemble Methods),是將多種 ML 演算法依順序進行疊加,同時後者將依賴於前者所產生的結果。例如,給予先前被錯誤標記的樣本 (Mislabeled examples) 較高的權重,讓後續的演算法可以聚焦在這些錯誤預測的結果來提升 (Boosting) 整體性能。實務上,Adaptive Boosting(或稱為 AdaBoost)是一種被廣泛應用於二元分類的順序整合學習演算法。

  • 平行整合學習方法 (Parallel Ensemble Methods),是將多種 ML 演算法各自平行產生結果後再進行合併,基於演算法之間的獨立性,透過平均化的方式可以大幅減少預測誤差。實務上,隨機森林 (Random Forest) 是一種常用的平行整合學習演算法,通常被用於特徵變數的選擇 (Feature Selection)。

大多數整合學習方法使用同質性的單一演算法來產生最終的整合學習演算法,這種方法也被稱為同質性整合 (Homogeneous ensembles)。然而,也有部分方法會使用異質性演算法來建立異質性整合 (Heterogeneous ensembles)。為了讓一個整合學習方法比任何一個單獨使用的演算法更準確,使用的基礎學習演算法必須盡可能具備準確性與多樣性。

三種經常被用來降低變異、減少偏差和改善預測性能的整合學習技術分別是:Bagging、Boosting 和 Stacking。Bagging 是 Bootstrap Aggregating 的縮寫,它透過從提供的完整訓練資料集中建立隨機的訓練資料樣本子集,然後為每個樣本子集建立一個模型(分類器或決策樹),最後使用平均法 (Averaging) 或多數投票法 (Majority voting) 將多個模型的結果整合起來。使用 Bagging 法的原因是每個模型都被套用在不同的資料子集中,並且它們的集體輸出在最後會進行收斂,所以可以避免模型過度擬合,有助於降低變異誤差 (Variance error)。隨機森林 (Random Forest) 實際上參考了 Bagging 概念,更進一步來說,隨機森林透過為每個重新採樣的樣本 (Bootstrapped sample) 隨機選擇一個特徵子集 (Subset of features) 的方式,在訓練時進行資料拆分來減少變異發生。

Boosting 法是一種順序整合學習方法,在這種方法中,第一個演算法會在整個資料集上進行訓練,隨後的演算法則透過擬合前一個演算法的殘差 (Residuals) 來建立,進而將先前模型預測不佳的觀測值 (Observations) 進行權重調整。也就是說,若一個觀測值被錯誤分類,它的權重就會酌情增加或減少。Boosting 法通常依賴於建立一系列較弱的學習模型,每個模型對整個資料集的整體預測能力都不好,但對某些資料子集卻有較好的表現。因此,藉由汰弱擇強的方式提升整合後的模型性能。一般來說,Boosting 法可以減少偏誤 (Bias error),從而建立一個較強大的預測模型。然而,它也有可能導致過度擬合。因此,在使用 Boosting 法時,參數調整 (Parameter tuning) 是一個至關重要的工作。

Stacking 法也是一種整合學習技術,透過使用 Meta-classifier 或 Meta-regressor 將多個分類或迴歸模型組合起來。在 Stacking 法中,基礎模型會在整個資料集上進行訓練,然後 Meta-model 會將基礎模型的輸出結果作為特徵並接著進行訓練。由於基礎模型通常由不同的學習演算法所組成,因此,堆疊整合法 (Stacking ensembles) 在本質上屬於異質性整合 (Heterogeneous ensembles) 的一種,其主要目的是在改善模型預測的性能。

值得注意的是,大多數 Kaggle(https://www.kaggle.com)資料科學競賽的獲勝者都使用某種類型的整合學習方法,尤其是 Stacking 法。例如,Otto Group Product Classification 挑戰賽的第一名是由一個 30 多個模型堆疊組合出的模型獲得勝利,這些模型的輸出被當作三個 Meta-classifiers 的特徵變數,分別是:XGBoost、Neural Network 和 AdaBoost。如果您有興趣了解更多關於這個挑戰賽的資訊,可以參考:《這個文章連結》


17.分群(Clustering) 《 上一堂課    下一堂課 》 19.模型參數與超參數



人工智慧 28 堂基礎入門課程,完整目錄連結:
1.課程目的 15.分類(Classification)
2.資料就是新一代的能源 16.低度擬合與過度擬合
3.結構化資料 17.分群(Clustering)
4.非結構化資料 18.整合學習方法
5.半結構化資料 19.模型參數與超參數
6.為資料加上維度的概念 20.深度學習框架
7.人工智慧、機器學習、深度學習的定義 21.深度學習的主力 – 神經網路
8.構成 AI, ML 與 DL 的基本元素 22.影像辨識 - 卷積神經網路(CNN)
9.機器(深度)學習工作流程 23.自然語言處理 - 循環神經網路(RNN)
10.模型具體是什麼? 24.生成式對抗網路(GAN)
11.資料準備-維度縮減 25.移轉學習
12.資料準備-資料分割 26.衡量預測結果的品質
13.機器學習方法概述 27.實作 ML 與 DL 的挑戰
14.迴歸(Regression) 28.IBM AI 階梯方法論







版權聲明
人工智慧 28 堂基礎入門課程系列文章係依據 IBM 原廠英文教材進行適度翻譯與內容調整而成,每一門課程使用的主圖片其版權歸屬於 IBM 公司。文章內容未經授權,請勿進行任何形式的複製、修改或發佈本文內容,如需轉載或引用,請在使用時注明出處並取得授權。本文中提及的特定公司、產品、品牌名稱等僅為描述目的,其版權歸屬於相應的公司或擁有者。

沒有留言:

張貼留言