機器學(xué)習(xí)技術(shù)之什么是集成學(xué)習(xí)?
譯文【51CTO.com快譯】集成學(xué)習(xí)是功能強大的機器學(xué)習(xí)技術(shù)之一。集成學(xué)習(xí)通過使用多種機器學(xué)習(xí)模型來提高預(yù)測結(jié)果的可靠性和準確性。但是,使用多種機器學(xué)習(xí)模型如何使預(yù)測結(jié)果更準確?可以采用什么樣的技術(shù)創(chuàng)建整體學(xué)習(xí)模型?以下將探討解答這些問題,并研究使用集成模型的基本原理以及創(chuàng)建集成模型的主要方法。
什么是集成學(xué)習(xí)?
簡而言之,集成學(xué)習(xí)是訓(xùn)練多個機器學(xué)習(xí)模型并將其輸出組合在一起的過程。組織以不同的模型為基礎(chǔ),致力構(gòu)建一個最優(yōu)的預(yù)測模型。組合各種不同的機器學(xué)習(xí)模型可以提高整體模型的穩(wěn)定性,從而獲得更準確的預(yù)測結(jié)果。集成學(xué)習(xí)模型通常比單個模型更可靠,因此,它們經(jīng)常在許多機器學(xué)習(xí)競賽中獲勝。
工程師可以使用多種技術(shù)來創(chuàng)建集成學(xué)習(xí)模型。而簡單的集成學(xué)習(xí)技術(shù)包括平均不同模型的輸出結(jié)果,同時還開發(fā)了更復(fù)雜的方法和算法,專門用于將許多基礎(chǔ)學(xué)習(xí)者/模型的預(yù)測結(jié)果組合在一起。
為什么要使用集成訓(xùn)練方法?
出于多種原因,機器學(xué)習(xí)模型可能會彼此不同。不同的機器學(xué)習(xí)模型可以對總體數(shù)據(jù)的不同樣本進行操作,可以使用不同的建模技術(shù),并且使用不同的假設(shè)。
想象一下,如果你加入由不同專業(yè)人員組成的團隊,那么肯定會有一些你知道和不知道的技術(shù),假設(shè)你正在和其他成員一起討論一個技術(shù)主題。他們也像你一樣,只對自己的專業(yè)有所了解,而對其他專業(yè)技術(shù)一無所知。但是,如果最終能將這些技術(shù)知識組合在一起,將會對更多領(lǐng)域有更準確的猜測,這是集成學(xué)習(xí)的原理,也就是結(jié)合不同個體模型(團隊成員)的預(yù)測以提高準確性,并最大程度地減少錯誤。
統(tǒng)計學(xué)家已經(jīng)證明,當(dāng)一群人被要求用一系列可能的答案來猜測一個給定問題的正確答案時,他們所有的答案都會形成一個概率分布。真正知道正確答案的人會自信地選擇正確的答案,而選擇錯誤答案的人會將他們的猜測分散到可能的錯誤答案范圍內(nèi)。例如玩一個猜迷游戲,如果你和兩個朋友都知道正確的答案是A,那么你們?nèi)齻€人都會選A,而團隊中其他三個不知道答案的人很可能會錯誤地猜測是B、C、D或E,其結(jié)果是A有三票,其他答案可能只有一到兩票。
所有的模型都有一定的誤差。一個模型的誤差將不同于另一個模型產(chǎn)生的誤差,因為模型本身由于上述原因而不同。當(dāng)檢查所有的錯誤時,它們不會聚集在某一個答案周圍,而是廣泛分布。不正確的猜測基本上分散在所有可能的錯誤答案上,并相互抵消。與此同時,來自不同模型的正確猜測將聚集在正確的答案周圍。當(dāng)使用集成訓(xùn)練方法時,可以找到更可靠的正確答案。
簡單的集成訓(xùn)練方法
簡單的集成訓(xùn)練方法通常只涉及統(tǒng)計集成技術(shù)的應(yīng)用,例如確定一組預(yù)測的模式、平均值或加權(quán)平均值。
模型是指一組數(shù)字中出現(xiàn)頻率最高的元素。為了得到這個模型,各個學(xué)習(xí)模型返回他們的預(yù)測,這些預(yù)測被認為是對最終預(yù)測的投票。通過計算預(yù)測的算術(shù)平均值(四舍五入到最接近的整數(shù))來確定預(yù)測的平均值。最后,可以通過為用于創(chuàng)建預(yù)測的模型分配不同的權(quán)重來計算加權(quán)平均值,其中權(quán)重代表該模型的預(yù)測重要性。將類別預(yù)測的數(shù)值表示與權(quán)重(從0到1.0)相乘,然后將各個加權(quán)的預(yù)測相加在一起,并將其結(jié)果進行四舍五入,從而得出最接近的整數(shù)。
高級集成訓(xùn)練方法
現(xiàn)在有三種主要的高級集成訓(xùn)練技術(shù),每種技術(shù)都旨在解決特定類型的機器學(xué)習(xí)問題。 “裝袋”(Bagging)技術(shù)用于減少模型預(yù)測的方差,方差是指當(dāng)基于相同的觀察結(jié)果時預(yù)測的結(jié)果相差多少。使用“提升”(Boosting)技術(shù)來消除模型的偏差。最后,通常使用“堆疊”(Stacking)來改善預(yù)測結(jié)果。
集成學(xué)習(xí)方法通常可以分為兩類:順序集成方法和并行集成方法。
順序集成方法的名稱為“順序”,因為基礎(chǔ)學(xué)習(xí)器/模型是順序生成的。在順序集成方法的情況下,基本思想是利用基礎(chǔ)學(xué)習(xí)者之間的依賴關(guān)系來獲得更準確的預(yù)測。標簽錯誤的示例將調(diào)整其權(quán)重,而標簽正確的示例將保持相同的權(quán)重。在每次生成新的學(xué)習(xí)者時,權(quán)重都會改變,其準確性將會提高。
與順序集成模型相反,并行集成方法將會并行生成基礎(chǔ)學(xué)習(xí)器。在進行并行集成學(xué)習(xí)時,可以利用基礎(chǔ)學(xué)習(xí)器具有獨立性這一事實,因為可以通過平均每個學(xué)習(xí)器的預(yù)測值來降低總體錯誤率。
集成訓(xùn)練方法可以是同質(zhì)的,也可以是異質(zhì)的。大多數(shù)集成學(xué)習(xí)方法是同質(zhì)的,這意味著它們使用單一類型的基本學(xué)習(xí)模型/算法。與其相反,異構(gòu)集成使用不同的學(xué)習(xí)算法,使學(xué)習(xí)者多樣化,以確保盡可能高的準確性。
集成學(xué)習(xí)算法的示例
集成提升的可視化
順序集成方法的示例包括AdaBoost、XGBoost和Gradient tree boosting。這些都是提升升模型。對于這些提升模型,目標是將表現(xiàn)欠佳的弱勢學(xué)習(xí)者轉(zhuǎn)變?yōu)楣δ軓姶蟮膶W(xué)習(xí)者。像AdaBoost和XGBoost這樣的模型從許多弱勢學(xué)習(xí)者開始,這些學(xué)習(xí)者的表現(xiàn)比隨機猜測要好一些。隨著訓(xùn)練的繼續(xù),將權(quán)重應(yīng)用于數(shù)據(jù)并進行調(diào)整。在較早的培訓(xùn)中被學(xué)習(xí)者錯誤分類的實例將具有更大的權(quán)重。在為所需的訓(xùn)練回合次數(shù)重復(fù)此過程之后,通過加權(quán)和(對于回歸任務(wù))和加權(quán)投票(對于分類任務(wù))將預(yù)測合并在一起。
裝袋學(xué)習(xí)過程
并行集成模型的一個示例是隨機森林分類器,并且隨機森林也是裝袋技術(shù)的一個示例。 “裝袋”這個術(shù)語來自“引導(dǎo)聚合”。使用稱為“自舉抽樣”的抽樣技術(shù)從總數(shù)據(jù)集中抽取樣本,基本學(xué)習(xí)者使用這些技術(shù)進行預(yù)測。對于分類任務(wù),基本模型的輸出使用投票進行聚合,而對于回歸任務(wù)則將它們進行平均。隨機森林使用單獨的決策樹作為基礎(chǔ)學(xué)習(xí)者,并且集合中的每個決策樹都是使用來自數(shù)據(jù)集的不同樣本構(gòu)建的。特征的隨機子集也用于生成決策樹。導(dǎo)致高度隨機化的個體決策樹,這些決策樹全部組合在一起以提供可靠的預(yù)測。
堆疊集成可視化
在堆疊集成技術(shù)方面,多元回歸或分類模型通過更高級別的元模型組合在一起。較低級別的基本模型通過輸入整個數(shù)據(jù)集進行訓(xùn)練。然后將基本模型的輸出作為訓(xùn)練元模型的功能。堆疊集成模型在本質(zhì)上通常是異質(zhì)的。
原文章標題:What is Ensemble Learning?,作者:Daniel Nelson
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】