什么是集成學習?
最強大的機器學習技術之一是集成學習。集成學習是使用多種機器學習模型來提高預測的可靠性和準確性。然而,使用多個機器學習模型如何導致更準確的預測?使用什么樣的技術來創(chuàng)建集成學習模型?我們將探索這些問題的答案,看看使用集成模型背后的基本原理以及創(chuàng)建集成模型的主要方法。
什么是集成學習?
簡而言之,集成學習是訓練多個機器學習模型并將它們的輸出組合在一起的過程。不同的模型被用作創(chuàng)建一個最佳預測模型的基礎。組合不同的個體機器學習模型可以提高整體模型的穩(wěn)定性,從而實現更準確的預測。集成學習模型通常比單個模型更可靠,因此,它們經常在許多機器學習競賽中排名第一。
工程師可以使用不同的技術來創(chuàng)建集成學習模型。簡單的集成學習技術包括對不同模型的輸出進行平均等,同時還開發(fā)了更復雜的方法和算法,專門用于將許多基礎學習器/模型的預測結合在一起。
為什么使用集成訓練方法?
由于各種原因,機器學習模型可能彼此不同。不同的機器學習模型可以對不同的人口數據樣本進行操作,可以使用不同的建模技術,并且可以使用不同的假設。
想象一下,你正在和一大群人玩一個瑣事游戲。如果你一個人在一個團隊中,肯定會有一些你知道的主題和許多你不知道的主題?,F在假設你正在和其他人一起玩。就像你一樣,他們會對自己的專業(yè)有一些了解,而對其他主題一無所知。然而,當你的知識結合起來時,你對更多領域的猜測會更準確,你的團隊缺乏知識的主題數量會減少。這與集成學習的原理相同,結合不同團隊成員(個體模型)的預測來提高準確性并最大限度地減少錯誤。
統(tǒng)計學家已經證明,當一群人被要求用一系列可能的答案來猜測給定問題的正確答案時,他們的所有答案都會形成一個概率分布。真正知道正確答案的人會自信地選擇正確答案,而選擇錯誤答案的人會將他們的猜測分布在可能的錯誤答案范圍內?;氐絾柎鹩螒虻睦樱绻愫湍愕膬蓚€朋友知道正確答案是 A,那么你們三個人都會投票 A,而你團隊中不知道答案的其他三個人很可能會猜錯猜測 B、C、D 或 E。結果是 A 有 3 票,而其他答案可能最多只有一票或兩票。
所有模型都有一定的誤差。一個模型的誤差將不同于另一個模型產生的誤差,因為模型本身由于上述原因而不同。當檢查所有錯誤時,它們不會聚集在一個或另一個答案周圍,而是分散在周圍。不正確的猜測基本上散布在所有可能的錯誤答案中,相互抵消。同時,來自不同模型的正確猜測將聚集在真實、正確的答案周圍。當使用集成訓練方法時,可以以更高的可靠性找到正確答案。
簡單的集成訓練方法
簡單的集成訓練方法通常只涉及統(tǒng)計匯總技術的應用,例如確定一組預測的眾數、平均值或加權平均值。
眾數是指一組數字中出現頻率最高的元素。為了獲得該模式,各個學習模型返回他們的預測,這些預測被認為是對最終預測的投票。簡單地通過計算預測的算術平均值來確定預測的平均值,四舍五入到最接近的整數。最后,可以通過為用于創(chuàng)建預測的模型分配不同的權重來計算加權平均值,權重代表該模型的感知重要性。類別預測的數值表示與從 0 到 1.0 的權重相乘,然后將各個加權預測相加,并將結果四舍五入到最接近的整數。
高級合奏訓練方法
有三種主要的高級集成訓練技術,每一種都旨在處理特定類型的機器學習問題。“裝袋”技術用于減少模型預測的方差,方差是指基于相同觀察時預測結果的差異程度。“提升”技術用于對抗模型的偏差。最后,“堆疊”通常用于改進預測。
集成學習方法本身通??梢苑譃閮蓚€不同的組之一:順序方法和并行集成方法。
順序集成方法之所以稱為“順序”,是因為基礎學習器/模型是順序生成的。在順序方法的情況下,基本思想是利用基礎學習器之間的依賴性以獲得更準確的預測。錯誤標記的示例調整其權重,而正確標記的示例保持相同的權重。每次生成新的學習器時,權重都會發(fā)生變化,并且準確性(希望)會提高。
與順序集成模型相比,并行集成方法并行生成基礎學習器。在進行并行集成學習時,其想法是利用基礎學習器具有獨立性的事實,因為可以通過平均各個學習器的預測來降低一般錯誤率。
集成訓練方法本質上可以是同質的,也可以是異質的。大多數集成學習方法是同質的,這意味著它們使用單??一類型的基礎學習模型/算法。相比之下,異構集成使用不同的學習算法,使學習者多樣化和變化,以確保盡可能高的準確性。
集成學習算法示例
集成增強的可視化。照片:Sirakorn,來自 Wikimedia Commons,CC BY SA 4.0
順序集成方法的示例包括AdaBoost、XGBoost和梯度樹提升。這些都是助推模型。對于這些提升模型,目標是將弱的、表現不佳的學習者轉化為更強大的學習者。像 AdaBoost 和 XGBoost 這樣的模型從許多弱學習器開始,這些學習器的性能僅比隨機猜測好一點。隨著訓練的繼續(xù),權重將應用于數據并進行調整。在前幾輪訓練中被學習者錯誤分類的實例被賦予更多的權重。在針對所需數量的訓練輪重復此過程后,通過加權和(用于回歸任務)和加權投票(用于分類任務)將預測連接在一起。
bagging 學習過程。照片:SeattleDataGuy 來自 Wikimedia Commons,CC BY SA 4.0
并行集成模型的一個例子是隨機森林分類器,隨機森林也是裝袋技術的一個例子。術語“bagging”來自“bootstrap aggregation”。樣本是使用稱為“引導抽樣”的抽樣技術從總數據集中抽取的,基礎學習者使用該技術進行預測。對于分類任務,基本模型的輸出使用投票聚合,而回歸任務則將它們平均在一起。隨機森林使用單個決策樹作為其基礎學習器,并且集成中的每棵樹都是使用數據集中的不同樣本構建的。特征的隨機子集也用于生成樹。導致高度隨機化的個體決策樹,它們全部組合在一起以提供可靠的預測。
集成堆疊的可視化。照片:Supun Setunga 來自 Wikimedia Commons,CC BY SA 4.0
在堆疊集成技術方面,多個回歸或分類模型通過更高級別的元模型組合在一起。較低級別的基礎模型通過輸入整個數據集進行訓練。然后將基本模型的輸出用作訓練元模型的特征。堆疊集成模型本質上通常是異構的。