新聞中心
我們能否把GBDT和多目標(biāo)結(jié)合起來發(fā)光發(fā)熱?

答案是,可以!MTGBM給你解決GBDT多目標(biāo)建模的最后一公里。
多目標(biāo)學(xué)習(xí)背景
多目標(biāo)學(xué)習(xí)在推薦系統(tǒng)領(lǐng)域近年一直大放異彩,大家耳熟能詳?shù)腅SSM和MMoE等神經(jīng)網(wǎng)絡(luò)模型都是多目標(biāo)的典型代表方法,他們的基本思想都是考慮了不同任務(wù)之間的區(qū)別和聯(lián)系,提高各個(gè)任務(wù)的學(xué)習(xí)質(zhì)量和效果。
除了NN之外,GBDT(Gradient boosted decision trees)模型在推薦系統(tǒng)、廣告系統(tǒng)及金融風(fēng)控領(lǐng)域被廣泛使用,但一些業(yè)界知名的GBDT實(shí)現(xiàn)(微軟的LightGBM,XGBoost以及CatBoost)中沒有多目標(biāo)學(xué)習(xí)的功能。而在現(xiàn)實(shí)場景中引入多任務(wù)學(xué)習(xí)往往能帶來穩(wěn)定的效果提升及提供更加優(yōu)秀的魯棒性。
舉幾個(gè)簡單的例子:在預(yù)測商品點(diǎn)擊率時(shí),不僅僅使用模型學(xué)習(xí)歷史點(diǎn)擊率,還可以學(xué)習(xí)點(diǎn)贊收藏分享等數(shù)據(jù),更好的學(xué)習(xí)到用戶的愛好信息,完成預(yù)測任務(wù)。
在預(yù)測欺詐分類時(shí),如果不僅僅預(yù)測是否為欺詐,同時(shí)預(yù)測細(xì)分欺詐手法的多個(gè)二分類任務(wù),不僅僅會(huì)增加模型表達(dá)能力,同時(shí)還可以在是否欺詐上更加精確,提高模型對目標(biāo)的理解力。
MTGBM介紹
點(diǎn)擊閱讀原文直達(dá)GitHub.
論文地址:https://arxiv.org/pdf/2201.06239.pdf
開源實(shí)現(xiàn):https://github.com/antmachineintelligence/mtgbmcode
這里我要說一下作者了,經(jīng)常玩比賽的可能知道Bird這個(gè)ID,他是MTGBM的一作,并且在螞蟻金服的風(fēng)控業(yè)務(wù)實(shí)踐和競賽場景中,落地MTGBM都取得了顯著的收益。
這篇文章創(chuàng)造性地提出了一種多任務(wù)學(xué)習(xí)的GBDT算法,并高效地實(shí)現(xiàn)了該算法,目前通過該算法能實(shí)現(xiàn)的功能有:多標(biāo)簽-性能提升、歷史模型知識(shí)蒸餾,多任務(wù)-遷移學(xué)習(xí)等,在大量公開數(shù)據(jù)集上測試后,主目標(biāo)均比XGB,LightGBM,Catboost有較大提升。
該算法基于LigntGBM實(shí)現(xiàn),你可以像以前使用LightGBM一樣使用它,幾乎沒有學(xué)習(xí)成本。
原理及細(xì)節(jié)
目前業(yè)內(nèi)使用單目標(biāo)學(xué)習(xí)較多,如LightGBM和XGBoost,缺點(diǎn)是模型容易過擬合,魯棒性不足;而目前可用的多目標(biāo)的GBDT,但是都是僅僅適用于互斥的多分類,并不能應(yīng)用于多個(gè)獨(dú)立的任務(wù)。而且多個(gè)分類之間獨(dú)立學(xué)習(xí),并沒有提取公共的部分,導(dǎo)致模型提升有限。另外有使用神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)完成多目標(biāo)學(xué)習(xí),但由于特征比較多且值域非常大神經(jīng)網(wǎng)絡(luò)在這些場景表現(xiàn)很差。
一般來說,多目標(biāo)學(xué)習(xí)需要共享中間層的參數(shù),從而達(dá)到多目標(biāo)學(xué)習(xí)的過程。而在樹模型中由于沒有中間參數(shù)可以共享,我們決定使用共享樹結(jié)構(gòu)的方式進(jìn)行多目標(biāo)學(xué)習(xí)。新的樹結(jié)構(gòu)被稱為同構(gòu)異值樹,為不同的目標(biāo)提供相同的分裂結(jié)構(gòu)和不同的輸出值。
傳統(tǒng)的單目標(biāo)GBDT計(jì)算每個(gè)樹的過程
- 計(jì)算之前所有樹預(yù)測結(jié)果與當(dāng)前目標(biāo)的殘差與梯度
- 通過每個(gè)樣本的梯度,在每個(gè)樹節(jié)點(diǎn)進(jìn)行分裂的時(shí)候,使用某個(gè)合適的特征某個(gè)位置將樣本劃為兩部分,令損失增益L(梯度)最小。
- 對每個(gè)葉子節(jié)點(diǎn),使用落在他們上的數(shù)據(jù)梯度的均值進(jìn)行更新。
- 在到達(dá)指定深度或樣本不可再分后結(jié)束分裂。
- 得到一顆樹。
多目標(biāo)MGBM算法訓(xùn)練過程
- 計(jì)算之前所有樹預(yù)測結(jié)果與多個(gè)目標(biāo)的殘差與梯度
- 通過每個(gè)樣本的多個(gè)目標(biāo)梯度進(jìn)行融合,使得每個(gè)樣本擁有一個(gè)融合梯度,在每個(gè)樹節(jié)點(diǎn)進(jìn)行分裂的時(shí)候,使用某個(gè)合適的特征某個(gè)位置將樣本劃為兩部分,令損失增益L(融合梯度)最小。
- 對每個(gè)葉子節(jié)點(diǎn),產(chǎn)生等同于學(xué)習(xí)目標(biāo)數(shù)目的輸出,使用落在他們相應(yīng)的目標(biāo)的數(shù)據(jù)梯度的均值進(jìn)行更新。
- 在到達(dá)指定深度或樣本不可再分后結(jié)束分裂。
- 得到一顆樹。
- 最后預(yù)測不同目標(biāo)時(shí),只需要使用相同樹的不同目標(biāo)值即可。
實(shí)驗(yàn)結(jié)果
MTGBM在兩個(gè)實(shí)際表數(shù)據(jù)場景的數(shù)據(jù)集上做了對比實(shí)驗(yàn),分別是China Foreign Currency Volume 和 Kaggle上的IEEE-CIS Fraud Detection
更多細(xì)節(jié)的實(shí)驗(yàn)結(jié)果,多任務(wù)的組合以及多fold的實(shí)驗(yàn)
可以看出MTGBM在實(shí)際表數(shù)據(jù)場景的數(shù)據(jù)集上,比NN和多個(gè)GBDT實(shí)現(xiàn),LGB/XGB/CTB都取得了更好和穩(wěn)定的提升。
文章名稱:Gbdt 不能多目標(biāo)建模?試試 Mtgbm!
文章路徑:http://m.fisionsoft.com.cn/article/dpspdoo.html


咨詢
建站咨詢
