自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

機器學習中的集成方法概述

人工智能 機器學習
想象一下,你正在網(wǎng)上購物,你發(fā)現(xiàn)有兩家店鋪銷售同一種商品,它們的評分相同。然而,第一家只有一個人評分,第二家有 100 人評分。您會更信任哪個評分呢?最終您會選擇購買哪家的商品呢?大多數(shù)人的答案很簡單。100 個人的意見肯定比只有一個人的意見更值得信賴。這被稱為“群眾的智慧”,這也是集成方法有效的原因。

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

集成方法

通常,我們只從訓練數(shù)據(jù)中創(chuàng)建一個學習者(學習者=訓練模型)(即,我們只在訓練數(shù)據(jù)上訓練一個機器學習模型)。而集成方法是讓多個學習者解決同一個問題,然后將他們組合在一起。這些學習者被稱為基礎學習者,可以有任何底層算法,如神經(jīng)網(wǎng)絡,支持向量機,決策樹等。如果所有這些基礎學習者都由相同的算法組成那么它們被稱為同質(zhì)基礎學習者,而如果它們由不同的算法組成那么它們被稱為異質(zhì)基礎學習者。與單個基礎學習者相比,集成具有更好的泛化能力,從而獲得更好的結(jié)果。

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

近年來,集成方法不斷贏了各種在線比賽。除了在線比賽之外,集成方法也被應用于現(xiàn)實生活中,如目標檢測、識別和跟蹤等計算機視覺技術(shù)。

集成方法的主要類型

弱學習者是如何產(chǎn)生的?

根據(jù)基學習器的生成方式,集成方法可以分為兩大類,即順序集成方法和并行集成方法。顧名思義,在Sequential ensemble 方法中,基學習器是按順序生成的,然后組合起來進行預測,例如AdaBoost等Boosting算法。而在Parallel ensemble 方法中,基礎學習器是并行生成的,然后組合起來進行預測,例如隨機森林和Stacking等Bagging算法算法。下圖顯示了解釋并行和順序方法的簡單架構(gòu)。

根據(jù)基礎學習者的生成方式不同,集成方法可分為兩大類:順序集成方法和并行集成方法。顧名思義,在順序集成方法中,基學習者是按順序生成的,然后組合起來進行預測,例如AdaBoost等Boosting算法。在并行集成方法中,基學習者是并行生成的,然后組合在一起進行預測,例如隨機森林和Stacking等Bagging算法。下圖展示了一個簡單的體系結(jié)構(gòu),解釋了并行和順序方法。

圖片

并行與順序集成方法

順序?qū)W習方法利用弱學習者之間的依賴關系,以殘差遞減的方式提高整體性能,使后學習者更多地關注前學習者的錯誤。粗略地說(對于回歸問題),boosting方法所得到的集成模型誤差的減小主要是通過降低弱學習者的高偏差來實現(xiàn)的,盡管有時也會觀察到方差的減小。另一方面,并行集成方法通過組合獨立弱學習者來減小誤差,即它利用了弱學習者之間的獨立性。這種誤差的減小是由于機器學習模型方差的減小。因此,我們可以歸納為,boosting主要通過減小機器學習模型的偏差來減小誤差,而bagging通過減小機器學習模型的方差來減小誤差。這是很重要的,因為選擇哪種集成方法將取決于弱學習者是否有高方差或高偏差。

弱學習者如何組合?

在生成這些所謂的基礎學習者之后,我們不會選擇這些學習者中最好的,而是將它們組合在一起以實現(xiàn)更好的泛化,我們這樣做的方式在集成方法中起著重要作用。

平均:當輸出是數(shù)字時,最常見的組合基礎學習者的方法是平均。平均可以是簡單平均或加權(quán)平均。對于回歸問題,簡單平均將是所有基礎模型的誤差之和除以學習者總數(shù)。加權(quán)平均的組合輸出是通過給每個基礎學習者賦予不同的權(quán)重來實現(xiàn)的。對于回歸問題,我們將每個基學習者的誤差與給定的權(quán)重相乘,然后求和。

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

學習:另一種組合方法是通過學習進行組合,這是stacking集成方法使用的。在這種方法中,一個稱為元學習者的單獨學習者在新數(shù)據(jù)集上進行訓練,以組合從原始機器學習數(shù)據(jù)集生成的其他基礎/弱學習者。

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

圖片

對集成方法的主要類型進行分類

集成多樣性

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

如何實現(xiàn)集成多樣性?

1. 數(shù)據(jù)處理

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

2.輸入特征

所有數(shù)據(jù)集都包含提供有關數(shù)據(jù)信息的特征。我們可以創(chuàng)建特征子集并生成不同的數(shù)據(jù)集并將其輸入模型,而不是使用一個模型中的所有特征。這種方法被隨機森林技術(shù)采用,當數(shù)據(jù)中存在大量冗余特征時有效。當數(shù)據(jù)集中的特征很少時,有效性會降低。

3.學習參數(shù)

該技術(shù)通過對基礎學習算法應用不同的參數(shù)設置,即超參數(shù)調(diào)優(yōu),在基礎學習者中產(chǎn)生隨機性。例如,通過改變正則化項,可以將不同的初始權(quán)重分配給各個神經(jīng)網(wǎng)絡。

集成剪枝

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

最后

本文僅僅是機器學習集成方法概述。希望大家能夠更加深入的進行研究,更重要的是能購將研究應用于現(xiàn)實生活中。


責任編輯:華軒 來源: 不靠譜的貓
相關推薦

2022-09-06 15:00:09

機器學習集成數(shù)據(jù)集

2022-10-08 06:30:23

機器學習人工智能工具

2017-06-24 16:16:02

集成神經(jīng)網(wǎng)絡自動駕駛

2021-04-12 10:46:15

人工智能機器學習

2009-07-14 13:08:55

WebWork與Spr

2023-12-09 17:04:26

nDPIHyperscan

2023-11-13 15:01:28

機器學習

2015-09-21 15:00:38

機器學習

2019-05-16 09:28:12

集成學習機器學習模型

2021-10-04 14:56:09

機器學習函數(shù)參數(shù)

2009-06-16 11:13:38

Javadoc生成方法Javadoc

2016-09-30 15:33:02

集成學習機器學習算法

2021-01-26 09:46:59

PythonStacking機器學習

2024-04-01 13:08:24

唯一IDC#后端

2009-06-22 14:57:09

2020-11-06 09:00:00

機器學習集成學習人工智能

2023-08-02 08:40:18

RuoYiSpring

2022-07-11 09:00:00

數(shù)據(jù)集成云計算ELT

2020-11-02 10:54:18

機器學習技術(shù)人工智能

2020-10-31 17:16:31

機器學習數(shù)據(jù)缺失數(shù)據(jù)科學
點贊
收藏

51CTO技術(shù)棧公眾號