首頁  >  文章  >  科技週邊  >  機器學習中的整合方法概述

機器學習中的整合方法概述

WBOY
WBOY轉載
2023-04-15 13:52:07908瀏覽

想像一下,你正在網上購物,你發現有兩家店鋪銷售同一種商品,它們的評分相同。然而,第一家只有一個人評分,第二家有 100 人評分。您會更信任哪一個評分呢?最終您會選擇購買哪一家的商品呢?大多數人的答案很簡單。 100 個人的意見肯定比只有一個人的意見更值得信賴。這被稱為“群眾的智慧”,這也是整合方法有效的原因。

機器學習中的整合方法概述

整合方法

通常,我們只從訓練資料中建立一個學習者(學習者=訓練模型)(即,我們只在訓練數據上訓練一個機器學習模型)。而整合方法是讓多個學習者解決同一個問題,然後將他們組合在一起。這些學習者被稱為基礎學習者,可以有任何底層演算法,如神經網絡,支援向量機,決策樹等。如果所有這些基礎學習者都由相同的演算法組成那麼它們被稱為同質基礎學習者,而如果它們由不同的演算法組成那麼它們被稱為異質基礎學習者。與單一基礎學習者相比,整合具有更好的泛化能力,從而獲得更好的結果。

當整合方法由弱學習者組成時。因此,基礎學習者有時被稱為弱學習者。而集成模型或強學習者(是這些弱學習者的組合)具有更低的偏差/方差,並獲得更好的表現。這種整合方法將弱學習者轉變為強學習者的能力之所以普及,是因為在實踐中更容易獲得弱學習者。

近年來,整合方法不斷贏了各種線上比賽。除了線上比賽之外,整合方法也被應用於現實生活中,例如目標檢測、識別和追蹤等電腦視覺技術。

整合方法的主要類型

弱學習者是如何產生的?

根據基底學習器的產生方式,整合方法可以分為兩大類,即順序整合方法和平行整合方法。顧名思義,在Sequential ensemble 方法中,基學習器是按順序產生的,然後組合起來進行預測,例如AdaBoost等Boosting演算法。而在Parallel ensemble 方法中,基礎學習器是並行產生的,然後組合起來進行預測,例如隨機森林和Stacking等Bagging演算法演算法。下圖顯示了解釋並行和順序方法的簡單架構。

根據基礎學習者的生成方式不同,整合方法可分為兩大類:順序整合方法和平行整合方法。顧名思義,在順序整合方法中,基底學習者是按順序產生的,然後組合起來進行預測,例如AdaBoost等Boosting演算法。在平行整合方法中,基底學習者是並行產生的,然後組合在一起進行預測,例如隨機森林和Stacking等Bagging演算法。下圖展示了一個簡單的體系結構,解釋了平行和順序方法。

機器學習中的整合方法概述

並行與順序整合方法

順序學習方法利用弱學習者之間的依賴關係,以殘差遞減的方式提高整體效能,使後學習者更重視前學習者的錯誤。粗略地說(對於迴歸問題),boosting方法所得到的整合模型誤差的減少主要是透過降低弱學習者的高偏差來實現的,儘管有時也會觀察到變異數的減少。另一方面,平行整合方法透過組合獨立弱學習者來減小誤差,即它利用了弱學習者之間的獨立性。這種誤差的減少是由於機器學習模型變異數的減少。因此,我們可以歸納為,boosting主要透過減少機器學習模型的偏差來減少誤差,而bagging則透過減少機器學習模型的變異數來減少誤差。這是很重要的,因為選擇哪種整合方法將取決於弱學習者是否有高方差或高偏差。

弱學習者如何組合?

在產生這些所謂的基礎學習者之後,我們不會選擇這些學習者中最好的,而是將它們組合在一起以實現更好的泛化,我們這樣做的方式在集成方法中扮演重要角色。

平均:當輸出是數字時,最常見的組合基礎學習者的方法是平均。平均可以是簡單平均或加權平均。對於迴歸問題,簡單平均將是所有基礎模型的誤差總和除以學習者總數。加權平均的組合輸出是透過給予每個基礎學習者不同的權重來實現的。對於迴歸問題,我們將每個基底學習者的誤差與給定的權重相乘,然後求和。

投票:對於名目輸出,投票是組合基礎學習器最常用的方式。投票可以是不同的類型,例如絕對多數投票、相對多數投票、加權投票和軟投票。對於分類問題,絕對多數投票給每個學習者一票,他們投票給一個類別標籤。無論哪個類標籤獲得超過 50% 的選票,都是整合的預測結果。但是,如果沒有一個類別標籤獲得超過 50% 的選票,則會給出拒絕選項,這意味著組合整合無法做出任何預測。在相對多數投票中,獲得最多票數的類別標籤是預測結果,超過50%的票數對類標籤不是必需的。意思是,如果我們有三個輸出標籤,三個得到的結果都少於50%,例如40% 30% 30%,那麼得到40%的類別標籤就是集合模型的預測結果。 。加權投票,就像加權平均一樣,根據分類器的重要性和特定學習器的強度為分類器分配權重。軟投票用於機率(0到1之間的值)而不是標籤(二進位或其他)的類別輸出。軟投票進一步分為簡單軟投票(對機率進行簡單平均)和加權軟投票(將權重分配給學習者,機率乘以這些權重並相加)。

學習:另一種組合方法是透過學習進行組合,這是stacking整合方法使用的。在這種方法中,一個稱為元學習者的單獨學習者在新資料集上進行訓練,以組合從原始機器學習資料集產生的其他基礎/弱學習者。

請注意,無論是 boosting、bagging或 stacking,這三種整合方法都可以使用同質或異質弱學習者產生。最常見的做法是使用同質弱學習者進行 Bagging 和 Boosting,使用異質弱學習器進行 Stacking。下圖很好地分類了三種主要的整合方法。

機器學習中的整合方法概述

對整合方法的主要類型進行分類

整合多樣性

整合多樣性是指基礎學習器之間的差異有多大,這對於產生良好的整合模型具有重要意義。理論上已經證明,透過不同的組合方法,完全獨立(多樣化)的基礎學習者可以最大程度地減少錯誤,而完全(高度)相關的學習者不會帶來任何改進。這在現實生活中是一個具有挑戰性的問題,因為我們正在訓練所有弱學習者透過使用相同的資料集來解決相同的問題,從而導致高相關性。在此之上,我們需要確保弱學習者不是真正糟糕的模型,因為這甚至可能導致整合表現惡化。另一方面,將強而準確的基礎學習者組合起來,也可能沒有將一些弱學習者和一些強學習者組合起來的效果好。因此,需要在基礎學習器的準確程度與基礎學習器之間的差異之間取得平衡。

如何實現整合多樣性?

1. 資料處理

我們可以將我們的資料集分割成子集供基礎學習者使用。如果機器學習資料集很大,我們可以簡單地將資料集分成相等的部分,然後輸入到機器學習模型中。如果資料集很小,我們可以使用隨機抽樣替換,從原始資料集產生新的資料集。 Bagging方法使用bootstrapping技術來產生新的資料集,它基本上是帶有替換的隨機抽樣。透過bootstrapping,我們能夠創造一些隨機性,因為所有產生的資料集都必須擁有一些不同的值。然而,請注意,大多數值(根據理論約為67%)仍然會重複,因此資料集不會完全獨立。

2.輸入特徵

所有資料集都包含提供有關資料資訊的特徵。我們可以建立特徵子集並產生不同的資料集並將其輸入模型,而不是使用一個模型中的所有特徵。這種方法被隨機森林技術採用,當資料中存在大量冗餘特徵時有效。當資料集中的特徵很少時,有效性會降低。

3.學習參數

此技術透過對基礎學習演算法應用不同的參數設置,即超參數調優,在基礎學習者中產生隨機性。例如,透過改變正規化項,可以將不同的初始權重分配給各個神經網路。

整合剪枝

最後,整合剪枝技術在某些情況下有助於獲得更好的整合效能。整合剪枝(Ensemble Pruning)的意思是,我們只組合學習者的子集,而不是組合所有弱學習者。除此之外,更小的整合可以節省儲存和運算資源,從而提高效率。

最後

本文只是機器學習整合方法概述。希望大家能夠更深入的進行研究,更重要的是能購將研究應用在現實生活中。


以上是機器學習中的整合方法概述的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除