集成學(xué)習(xí)方法1

一、集成學(xué)習(xí)算法簡介

學(xué)習(xí)西瓜書筆記赊锚。

集成學(xué)習(xí)(ensemble learning)通過構(gòu)建并結(jié)合多個學(xué)習(xí)器來完成學(xué)習(xí)任務(wù)囱挑。如何產(chǎn)生“好而不同”的個體學(xué)習(xí)器,是集成學(xué)習(xí)研究的核心并齐。

根據(jù)個體學(xué)習(xí)器的生成方式,可以將集成學(xué)習(xí)方法大致分為兩大類:

  • 1客税、個體學(xué)習(xí)器間存在強依賴關(guān)系况褪、必須串行生成的序列化方法。
    比如boosting族算法更耻,代表性的有adaboost算法测垛,GBDT。
  • 2秧均、個體學(xué)習(xí)器之間不存在強依賴關(guān)系食侮、可同時生成的并行化方法。
    比如bagging和“隨機森林”目胡。

這篇文章大致介紹一下boosting算法中的adaboosting算法锯七,以及bdgging和“隨機森林”。

二誉己、從boosting到adaboost

2.1 boosting族算法的基本步驟

boosting是一族可將弱學(xué)習(xí)器提升為強學(xué)習(xí)器的算法眉尸,這族算法的工作機制類似:

  • 先從初始訓(xùn)練集訓(xùn)練出一個基學(xué)習(xí)器;
  • 再根據(jù)基學(xué)習(xí)器的表現(xiàn)對訓(xùn)練樣本分布進行調(diào)整巨双,使得先前基學(xué)習(xí)器做錯的訓(xùn)練樣本在后續(xù)受到更多關(guān)注噪猾;
  • 基于調(diào)整后的樣本分布來訓(xùn)練下一個基學(xué)習(xí)器;
  • 重復(fù)進行上述步驟筑累,直至基學(xué)習(xí)器數(shù)目達到事先指定的值T畏妖,最終將這T個基學(xué)習(xí)器進行加權(quán)結(jié)合。

2.2 boosting族算法的代表AdaBoost算法

可以通過加性模型的推導(dǎo)(基學(xué)習(xí)器的線性組合)疼阔,來理解AdaBoost算法 。
下面只是簡單的講述一下AdaBoost算法步驟,推導(dǎo)可以看資料(統(tǒng)計學(xué)習(xí)方法或者西瓜書)婆廊。

步驟:

第一個及分類器h1是通過直接將基學(xué)習(xí)算法用于初始數(shù)據(jù)分布而得迅细;此后迭代的生成hi和αi

第一步:Dx = 1/m淘邻,初始化樣本權(quán)值的分布茵典。

循環(huán):

  • 1、基于分布D訓(xùn)練出分類器ht宾舅。
  • 2统阿、估計出誤差ε。
  • 3筹我、用上一步得到的誤差計算權(quán)重αt扶平,(每加上一個αtht,都是以最小化當(dāng)前損失函數(shù)為目的蔬蕊。)
  • 4结澄、由西瓜書,令損失函數(shù)求導(dǎo)再為0岸夯,可以得到權(quán)重的計算公式(由誤差 ε 表示。)
  • 5、在獲得第t-1個基學(xué)習(xí)器ht-1之后魏铅,樣本分布將進行調(diào)整谭梗,使下一輪的基學(xué)習(xí)器ht能夠糾正ht-1的一些錯誤。理想的ht能夠糾正上一個分類器的全部錯誤旅赢。
    (中間也用到了泰勒展開)即最小化目標函數(shù)齿桃。于是,獲得了新的樣本的分布Dt
  • 6鲜漩、返回第1步源譬。

注意AdaBoost算法每一輪都要判斷當(dāng)前基學(xué)習(xí)器是否滿足條件,一旦條件不滿足孕似,則當(dāng)前學(xué)習(xí)器被拋棄踩娘,且學(xué)習(xí)過程停止。

2.3 注重減小偏差的AdaBoost算法

AdaBoost算法中的個體學(xué)習(xí)器存在著強依賴關(guān)系喉祭,應(yīng)用的是串行生成的序列化方法养渴。每一個基生成器的目標,都是為了最小化損失函數(shù)泛烙。所以理卑,可以說AdaBoost算法注重減小偏差。

2.4 AdaBoost算法的缺點

由于屬于boosting算法族蔽氨,采用的是加性模型藐唠,對每個基學(xué)習(xí)器的輸出結(jié)果加權(quán)處理帆疟,只會得到一個輸出預(yù)測結(jié)果。所以標準的AdaBoost只適用于二分類任務(wù)宇立。

三踪宠、Bagging 算法

上節(jié)提到,AdaBoost算法注重減小偏差妈嘹,因此可能會有比較大的方差柳琢,泛化能力不強。
為了得到泛化能力強的集成润脸,集成中的個體學(xué)習(xí)器應(yīng)該盡可能的相互獨立柬脸。
盡管獨立可能無法做到,但是可以設(shè)法使基學(xué)習(xí)器有較大的差異毙驯。那么怎么做到呢倒堕?
一種方法是從訓(xùn)練樣本上考慮:
對訓(xùn)練樣本進行采樣,產(chǎn)生出若干個不同的子集尔苦,再從每個數(shù)據(jù)子集中訓(xùn)練出一個基學(xué)習(xí)器涩馆,這樣,由于訓(xùn)練數(shù)據(jù)不同允坚,我們獲得的基學(xué)習(xí)器可望具有比較大的差異魂那。
但又不能每個基學(xué)習(xí)器的訓(xùn)練樣本都完全不同,這樣不足以進行有效學(xué)習(xí)稠项。
于是讓每個個體學(xué)習(xí)器在采樣得到的相互有交疊的采樣子集上進行訓(xùn)練涯雅。

3.1 bagging算法步驟

每訓(xùn)練一次,有放回采樣m個樣本展运,然后再訓(xùn)練出一個基學(xué)習(xí)器活逆,再將這些基學(xué)習(xí)器結(jié)合。這就是bagging的基本流程拗胜。

3.2 bagging算法怎么輸出預(yù)測

不同于boosting算法族中蔗候,采用加性模型,對每個基學(xué)習(xí)器的輸出結(jié)果加權(quán)處理埂软,對于預(yù)測只有一個確定的值锈遥。

bagging中每個基學(xué)習(xí)器有較大的差異,那么每個基學(xué)習(xí)器輸出的預(yù)測結(jié)果可能也有較大的差異勘畔,所以需要有一定的策略來對每個基學(xué)習(xí)器的結(jié)果綜合運用所灸。

對于t個結(jié)果,bagging通常對分類任務(wù)采用簡單投票法炫七,對回歸任務(wù)使用簡單平均法爬立。

3.3 bagging算法的優(yōu)點

與標準的adaboost只適用于二分類任務(wù)不同,bagging能不經(jīng)修改地用于多分類万哪、回歸任務(wù)侠驯。

3.4 注重降低方差的bagging算法

因為bagging的每個基學(xué)習(xí)器差異比較大抡秆,泛化能力強,所以bagging算法主要關(guān)注降低方差吟策。因此琅轧,它在不減枝決策樹、神經(jīng)網(wǎng)絡(luò)等易受擾動得到學(xué)習(xí)器上效用更為明顯踊挠。

四、隨機森林(RF)

RF也屬于集成學(xué)習(xí)中的第二大類:個體學(xué)習(xí)器間不存在強依賴關(guān)系冲杀、可同時生成效床。

4.1 為什么叫隨機森林?

  • 森林:因為基學(xué)習(xí)器是一組決策樹啊权谁。剩檀。。
  • 隨機:在決策樹的訓(xùn)練過程中引入了隨機屬性選擇啊旺芽。沪猴。。

4.1 從bagging到隨機森林

隨機森林是bagging的一個擴展變體采章,相對于bagging有兩點不同:

  • 1运嗜、RF的每個基學(xué)習(xí)器都是決策樹;
  • 2悯舟、在構(gòu)建bagging集成的基礎(chǔ)上担租,進一步在決策樹的訓(xùn)練過程中引入了隨機屬性選擇。

4.2 隨機森林基學(xué)習(xí)器的學(xué)習(xí)方法

假設(shè)當(dāng)前節(jié)點還有d個屬性待劃分抵怎,對基決策樹的每個節(jié)點先從該節(jié)點的屬性集合d中隨機選擇一個包含k個屬性的子集奋救,再進行劃分。

當(dāng)k=d時反惕,就是傳統(tǒng)的決策樹尝艘。當(dāng)k=1時,就是隨機選擇一個屬性用于劃分姿染。
一般推薦k = log2d背亥。

4.3 隨機森林的優(yōu)點

隨機森林中基學(xué)習(xí)器的多樣性,不僅來自樣本擾動盔粹,還來自屬性擾動隘梨,這就使得最終集成的泛化性能可通過個體學(xué)習(xí)器之間差異度的增加而進一步提升。

五舷嗡、從結(jié)合策略到Stacking學(xué)習(xí)法

集成學(xué)習(xí)的第二類模型轴猎,為了提高集成的泛化能力,每個基學(xué)習(xí)器之間不存在很強的依賴性进萄,所以最終預(yù)測結(jié)果時捻脖,需要一定的策略對T個結(jié)果進行結(jié)合锐峭。下面介紹結(jié)合策略。

5.1 可婶、平均法

對數(shù)值型輸出沿癞,最常見的結(jié)合策略是使用平均法。

  • 簡單平均法
  • 加權(quán)平均法
    但是對于規(guī)模比較大的集成來說矛渴,權(quán)重參數(shù)比較多椎扬,較容易導(dǎo)致過擬合。加權(quán)平均法未必一定優(yōu)于簡單平均法具温。

一般而言蚕涤,在個體學(xué)習(xí)器性能相差較大時,宜使用加權(quán)平均法铣猩,而在個體學(xué)習(xí)器性能相近時揖铜,宜使用簡單平均法。

這一點在第二個項目中深有體會达皿,該模型有三個損失函數(shù)天吓,每個損失函數(shù)的性能差別比較大,所以用了加權(quán)峦椰,在第一個數(shù)據(jù)集中調(diào)好參數(shù)以后龄寞,在第二個數(shù)據(jù)集中,效果就不是很好们何,需要重新進行調(diào)參萄焦。

5.2 投票法

  • 絕對多數(shù)投票法
    若某標記得票過半數(shù),則預(yù)測為該標記冤竹;否則拒絕預(yù)測拂封。
  • 相對多數(shù)投票法
    預(yù)測為得票最多的標記。若同時有多個標記獲得最高票鹦蠕,則從中隨機選取一個冒签。
  • 加權(quán)投票法

5.3 學(xué)習(xí)法

當(dāng)訓(xùn)練數(shù)據(jù)很多時,一種更為強大的結(jié)合策略是使用“學(xué)習(xí)法”钟病,即通過另一個學(xué)習(xí)器來進行結(jié)合萧恕。

Stacking本身是一種著名的集成學(xué)習(xí)方法,且有不少集成學(xué)習(xí)算法可是為其變體或特例肠阱,它也可以看作是一種特殊的結(jié)合策略票唆,因此在此介紹。

我們把個體學(xué)習(xí)器成為初級學(xué)習(xí)器屹徘,用于結(jié)合的學(xué)習(xí)器成為次級學(xué)習(xí)器(或元學(xué)習(xí)器)走趋。

Stacking先從初始數(shù)據(jù)及訓(xùn)練出初級學(xué)習(xí)器,然后“生成”一個新數(shù)據(jù)集噪伊,用于訓(xùn)練次級學(xué)習(xí)器簿煌。在這個新數(shù)據(jù)集中氮唯,初級學(xué)習(xí)器的輸出被當(dāng)做樣例輸入特征,而原始樣本的標記仍被當(dāng)做樣例標記姨伟。

對于Stackin的一些深入了解惩琉,這里不進行過多介紹。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末夺荒,一起剝皮案震驚了整個濱河市瞒渠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌技扼,老刑警劉巖在孝,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異淮摔,居然都是意外死亡,警方通過查閱死者的電腦和手機始赎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門和橙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人造垛,你說我怎么就攤上這事魔招。” “怎么了五辽?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵办斑,是天一觀的道長。 經(jīng)常有香客問我杆逗,道長乡翅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任罪郊,我火速辦了婚禮蠕蚜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悔橄。我一直安慰自己靶累,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布癣疟。 她就那樣靜靜地躺著挣柬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪睛挚。 梳的紋絲不亂的頭發(fā)上邪蛔,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機與錄音竞川,去河邊找鬼店溢。 笑死叁熔,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的床牧。 我是一名探鬼主播荣回,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼戈咳!你這毒婦竟也來了心软?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤著蛙,失蹤者是張志新(化名)和其女友劉穎删铃,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體踏堡,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡猎唁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了顷蟆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诫隅。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖帐偎,靈堂內(nèi)的尸體忽然破棺而出逐纬,到底是詐尸還是另有隱情,我是刑警寧澤削樊,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布豁生,位于F島的核電站,受9級特大地震影響漫贞,放射性物質(zhì)發(fā)生泄漏甸箱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一迅脐、第九天 我趴在偏房一處隱蔽的房頂上張望摇肌。 院中可真熱鬧,春花似錦仪际、人聲如沸围小。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肯适。三九已至,卻和暖如春成榜,著一層夾襖步出監(jiān)牢的瞬間框舔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留刘绣,地道東北人樱溉。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像纬凤,于是被迫代替她去往敵國和親福贞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容