WisdomOcean task5

模型融合的目的:將多種”弱學(xué)習(xí)器“融合成一個(gè)”強(qiáng)學(xué)習(xí)器“。

模型融合

1. 簡單加權(quán)融合

① 平均法-Averaging

  1. 對于回歸問題爽柒,一個(gè)簡單直接的思路是取平均蹋订。將多個(gè)模型的回歸結(jié)果取平均值作為最終預(yù)測結(jié)果,進(jìn)而把多個(gè)弱分類器榮和城強(qiáng)分類器科侈。

  2. 稍稍改進(jìn)的方法是進(jìn)行加權(quán)平均载佳,權(quán)值可以用排序的方法確定,舉個(gè)例子臀栈,比如A柿扣、B疗韵、C三種基本模型,模型效果進(jìn)行排名撩鹿,假設(shè)排名分別是1睡扬,2盟蚣,3,那么給這三個(gè)模型賦予的權(quán)值分別是3/6卖怜、2/6屎开、1/6。

  3. 平均法或加權(quán)平均法看似簡單马靠,其實(shí)后面的高級算法也可以說是基于此而產(chǎn)生的奄抽,Bagging或者Boosting都是一種把許多弱分類器這樣融合成強(qiáng)分類器的思想。

  4. Averaging也可以用于對分類問題的概率進(jìn)行平均甩鳄。

② 投票法-voting

  1. 對于一個(gè)二分類問題逞度,有3個(gè)基礎(chǔ)模型,現(xiàn)在我們可以在這些基學(xué)習(xí)器的基礎(chǔ)上得到一個(gè)投票的分類器妙啃,把票數(shù)最多的類作為我們要預(yù)測的類別档泽。

  2. 投票法有硬投票(hard voting)和軟投票(soft voting)

  3. 硬投票: 對多個(gè)模型直接進(jìn)行投票,不區(qū)分模型結(jié)果的相對重要度揖赴,最終投票數(shù)最多的類為最終被預(yù)測的類馆匿。

  4. 軟投票:增加了設(shè)置權(quán)重的功能,可以為不同模型設(shè)置不同權(quán)重燥滑,進(jìn)而區(qū)別模型不同的重要度渐北。

2. stacking/blending

① 堆疊法-stacking

基本思想:用初始訓(xùn)練數(shù)據(jù)學(xué)習(xí)出若干個(gè)基學(xué)習(xí)器后,將這幾個(gè)學(xué)習(xí)器的預(yù)測結(jié)果作為新的訓(xùn)練集(第一層)突倍,來學(xué)習(xí)一個(gè)新的學(xué)習(xí)器(第二層)腔稀。

背景: 為了幫助大家理解模型的原理,我們先假定一下數(shù)據(jù)背景羽历。

  1. 訓(xùn)練集數(shù)據(jù)大小為10000*100焊虏,測試集大小為3000*100。即訓(xùn)練集有10000條數(shù)據(jù)秕磷、100個(gè)特征诵闭;測試集有3000條數(shù)據(jù)、100個(gè)特征。該數(shù)據(jù)對應(yīng)回歸問題疏尿。

  2. 第一層使用三種算法-XGB瘟芝、LGB、NN褥琐。第二層使用GBDT锌俱。

算法解讀

  1. stacking 第一層

    1. XGB算法 - 對應(yīng)圖中model 1部分

      • 輸入:使用訓(xùn)練集進(jìn)行5-fold處理

      • 處理:具體處理細(xì)節(jié)如下

        • 使用1、2敌呈、3贸宏、4折作為訓(xùn)練集,訓(xùn)練一個(gè)XGB模型并預(yù)測第5折和測試集磕洪,將預(yù)測結(jié)果分別稱為XGB-pred-tran5(shape 2000*1)和XGB-pred-test1(shape 3000*1).

        • 使用1吭练、2、3析显、5折作為訓(xùn)練集鲫咽,訓(xùn)練一個(gè)XGB模型并預(yù)測第4折和測試集,將預(yù)測結(jié)果分別稱為XGB-pred-tran4(shape 2000*1)和XGB-pred-test2(shape 3000*1).

        • 使用1谷异、2分尸、4、5折作為訓(xùn)練集晰绎,訓(xùn)練一個(gè)XGB模型并預(yù)測第3折和測試集寓落,將預(yù)測結(jié)果分別稱為XGB-pred-tran3(shape 2000*1)和XGB-pred-test3(shape 3000*1).

        • 使用1、3荞下、4伶选、5折作為訓(xùn)練集,訓(xùn)練一個(gè)XGB模型并預(yù)測第2折和測試集尖昏,將預(yù)測結(jié)果分別稱為XGB-pred-tran2(shape 2000*1)和XGB-pred-test4(shape 3000*1).

        • 使用2仰税、3、4抽诉、5折作為訓(xùn)練集陨簇,訓(xùn)練一個(gè)XGB模型并預(yù)測第1折和測試集,將預(yù)測結(jié)果分別稱為XGB-pred-tran1(shape 2000*1)和XGB-pred-test5(shape 3000*1).

      • 輸出:

        • 將XGB分別對1迹淌、2河绽、3、4唉窃、5折進(jìn)行預(yù)測的結(jié)果合并耙饰,得到XGB-pred-tran(shape 10000*1)。并且根據(jù)5-fold的原理可以知道纹份,與原數(shù)據(jù)可以形成對應(yīng)關(guān)系苟跪。因此在圖中稱為NEW FEATURE廷痘。

        • 將XGB-pred-test1 - 5 的結(jié)果使用Averaging的方法求平均值,最終得到XGB-pred-test(shape 3000*1)件已。

    2. LGB算法 - 同樣對應(yīng)圖中model 1部分

      • 輸入:與XGB算法一致

      • 處理:與XGB算法一致笋额。只需更改預(yù)測結(jié)果的命名即可,如LGB-pred-tran5LGB-pred-test1

      • 輸出:

        • 將LGB分別對1篷扩、2兄猩、3、4鉴未、5折進(jìn)行預(yù)測的結(jié)果合并厦滤,得到LGB-pred-tran(shape 10000*1)。

        • 將LGB-pred-test1 - 5 的結(jié)果使用Averaging的方法求平均值歼狼,最終得到LGB-pred-test(shape 3000*1)。

    3. NN算法 - 同樣對應(yīng)圖中model 1部分

      • 輸入:與XGB算法一致

      • 處理:與XGB算法一致享怀。只需更改預(yù)測結(jié)果的命名即可羽峰,如NN-pred-tran5NN-pred-test1

      • 輸出:

        • 將NN分別對1、2添瓷、3梅屉、4、5折進(jìn)行預(yù)測的結(jié)果合并鳞贷,得到NN-pred-tran(shape 10000*1)坯汤。

        • 將NN-pred-test1 - 5 的結(jié)果使用Averaging的方法求平均值,最終得到NN-pred-test(shape 3000*1)搀愧。

  2. stacking 第二層

    • 訓(xùn)練集:將三個(gè)新特征 XGB-pred-tran惰聂、LGB-pred-tranNN-pred-tran合并得到新的訓(xùn)練集(shape 10000*3)

    • 測試集:將三個(gè)新測試集XGB-pred-test咱筛、LGB-pred-test搓幌、NN-pred-test合并得到新的測試集(shape 30000*3)

    • 用新訓(xùn)練集和測試集構(gòu)造第二層的預(yù)測器,即GBDT模型

    在這里插入圖片描述

② 混合法 - blending

Blending與Stacking大致相同迅箩,只是Blending的主要區(qū)別在于訓(xùn)練集不是通過K-Fold的CV策略來獲得預(yù)測值從而生成第二階段模型的特征溉愁,而是建立一個(gè)Holdout集。簡單來說饲趋,Blending直接用不相交的數(shù)據(jù)集用于不同層的訓(xùn)練拐揭。

同樣以上述數(shù)據(jù)集為例,構(gòu)造一個(gè)兩層的Blending模型奕塑。

首先將訓(xùn)練集劃分為兩部分(d1堂污,d2),例如d1為4000條數(shù)據(jù)用于blending的第一層爵川,d2是6000條數(shù)據(jù)用于blending的第二層敷鸦。

第一層:用d1訓(xùn)練多個(gè)模型,將其對d2和test的預(yù)測結(jié)果作為第二層的New Features。例如同樣適用上述三個(gè)模型扒披,對d2生成6000*3的新特征數(shù)據(jù)值依;對test生成3000*3的新特征矩陣。

第二層:用d2的New Features和標(biāo)簽訓(xùn)練新的分類器碟案,然后把test的New Features輸入作為最終的測試集愿险,對test預(yù)測出的結(jié)果就是最終的模型融合的值。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末价说,一起剝皮案震驚了整個(gè)濱河市辆亏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鳖目,老刑警劉巖扮叨,帶你破解...
    沈念sama閱讀 211,348評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異领迈,居然都是意外死亡彻磁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評論 2 385
  • 文/潘曉璐 我一進(jìn)店門狸捅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衷蜓,“玉大人,你說我怎么就攤上這事尘喝〈沤剑” “怎么了?”我有些...
    開封第一講書人閱讀 156,936評論 0 347
  • 文/不壞的土叔 我叫張陵朽褪,是天一觀的道長置吓。 經(jīng)常有香客問我,道長鞍匾,這世上最難降的妖魔是什么交洗? 我笑而不...
    開封第一講書人閱讀 56,427評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮橡淑,結(jié)果婚禮上构拳,老公的妹妹穿的比我還像新娘。我一直安慰自己梁棠,他們只是感情好置森,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著符糊,像睡著了一般凫海。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上男娄,一...
    開封第一講書人閱讀 49,785評論 1 290
  • 那天行贪,我揣著相機(jī)與錄音漾稀,去河邊找鬼。 笑死建瘫,一個(gè)胖子當(dāng)著我的面吹牛崭捍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播啰脚,決...
    沈念sama閱讀 38,931評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼殷蛇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了橄浓?” 一聲冷哼從身側(cè)響起粒梦,我...
    開封第一講書人閱讀 37,696評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎荸实,沒想到半個(gè)月后匀们,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,141評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡准给,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評論 2 327
  • 正文 我和宋清朗相戀三年昼蛀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片圆存。...
    茶點(diǎn)故事閱讀 38,625評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖仇哆,靈堂內(nèi)的尸體忽然破棺而出沦辙,到底是詐尸還是另有隱情,我是刑警寧澤讹剔,帶...
    沈念sama閱讀 34,291評論 4 329
  • 正文 年R本政府宣布油讯,位于F島的核電站,受9級特大地震影響延欠,放射性物質(zhì)發(fā)生泄漏陌兑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評論 3 312
  • 文/蒙蒙 一由捎、第九天 我趴在偏房一處隱蔽的房頂上張望兔综。 院中可真熱鬧,春花似錦狞玛、人聲如沸软驰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锭亏。三九已至,卻和暖如春硬鞍,著一層夾襖步出監(jiān)牢的瞬間慧瘤,已是汗流浹背戴已。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锅减,地道東北人糖儡。 一個(gè)月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像上煤,于是被迫代替她去往敵國和親休玩。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評論 2 348

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