延迟反馈带来的样本偏差如何处理
在廣告系統(tǒng)中,轉(zhuǎn)化率預(yù)估是個(gè)非常常見(jiàn)的任務(wù),但是轉(zhuǎn)化行為的發(fā)生時(shí)間往往發(fā)生在點(diǎn)擊行為后很久,這樣就產(chǎn)生了一個(gè)很?chē)?yán)重的問(wèn)題.轉(zhuǎn)化率模型需要不斷更新,但是產(chǎn)生點(diǎn)擊的數(shù)據(jù)又不能及時(shí)用于轉(zhuǎn)化率預(yù)估,也就是我們常說(shuō)的延遲反饋問(wèn)題.以前的方法往往預(yù)留一個(gè)時(shí)間窗口,超過(guò)這個(gè)窗口的樣本會(huì)當(dāng)作負(fù)樣本,如果該樣本后續(xù)又發(fā)生了轉(zhuǎn)化,那又會(huì)多一條正樣本注入模型,這樣就會(huì)帶來(lái)樣本偏差.所以這篇論文<Real Negatives Matter: Continuous Training with Real Negatives for Delayed Feedback Modeling>給出了解決方案.
延遲反饋建模
轉(zhuǎn)化率預(yù)估本質(zhì)就是個(gè)二分類(lèi)問(wèn)題,每個(gè)樣本會(huì)被打上{0,1}的標(biāo)簽,但是由于延遲反饋問(wèn)題,如下圖所示,在等待窗口中發(fā)生轉(zhuǎn)化的都被標(biāo)為正確的樣本,但是超出這個(gè)窗口后就有被標(biāo)為負(fù)樣本但實(shí)際是正樣本的風(fēng)險(xiǎn).一個(gè)非常navie的想法就是擴(kuò)大等待窗口.但是在廣告系統(tǒng)中數(shù)據(jù)分布是在動(dòng)態(tài)變化的,擴(kuò)大等待窗口會(huì)導(dǎo)致模型學(xué)習(xí)不夠充分.
下圖左表示的是以前的方法,假的負(fù)例在轉(zhuǎn)化發(fā)生后又會(huì)復(fù)制一份,作為正例輸入到模型中,右圖中我們可以看到本文提出的方法會(huì)復(fù)制真實(shí)負(fù)例和正例,從而保證樣本分布一致.
本文提出的延遲反饋建模方法叫DEFER,q(x)是有偏差的觀測(cè)分布(由于延遲反饋,模型訓(xùn)練的數(shù)據(jù)分布),p(x)是無(wú)偏差的觀測(cè)分布,如果不做任何處理,就是假定q(x)約等于p(x),會(huì)帶來(lái)偏差,為了降低偏差同時(shí)保障模型實(shí)時(shí)性,論文復(fù)制了正樣本和真實(shí)負(fù)樣本.
構(gòu)建樣本的細(xì)節(jié)在于,給每個(gè)樣本制定一個(gè)等待窗口w1,在這個(gè)窗口發(fā)生轉(zhuǎn)化就表示它是正樣本,否則就是假負(fù)樣本或者真實(shí)副樣本,對(duì)于這些假負(fù)樣本如果后面發(fā)生轉(zhuǎn)化,那這些樣本依然會(huì)標(biāo)上正樣本放到模型訓(xùn)練,對(duì)于那些真實(shí)負(fù)樣本,依然會(huì)復(fù)制一份放到模型進(jìn)行訓(xùn)練,復(fù)制的操作帶來(lái)了更多轉(zhuǎn)化的確定性信息.
因?yàn)閺?fù)制操作,q(x) = p(x),且:
條件概率q(y = 0| x)就可以寫(xiě)為:
p_dp(x) = p(x,y=1,z>w1|x)是x被當(dāng)作假負(fù)的概率.q(y=1|x)可以寫(xiě)為:
由此我們可以得到loss function為:
由上公式,因?yàn)閜(y=1|x)和p(y=0|x)是不可能得到的,所以用模型預(yù)估f替換,并且還需要訓(xùn)練一個(gè)模型f_dp預(yù)估x是假負(fù)例的概率,最終loss function為, [.]是stop gradient操作:
本文還提出了一個(gè)多任務(wù)離線訓(xùn)練的方法提升泛化能力,設(shè)定不同的窗口大小w1~wN,如下所示:
loss函數(shù)如下所示:
參考文獻(xiàn)
延遲反饋帶來(lái)的樣本偏差如何處理總結(jié)
以上是生活随笔為你收集整理的延迟反馈带来的样本偏差如何处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 深度学习模型如何缩小到可以放到微处理器呢
- 下一篇: Short-Session的推荐如何做?