1、背景介紹
在展示廣告場(chǎng)景中诅炉,有多種多樣的計(jì)費(fèi)方式蜡歹,如按每次展示計(jì)費(fèi)CPM、按每次點(diǎn)擊計(jì)費(fèi)CPC涕烧、以及按每次轉(zhuǎn)化計(jì)費(fèi)CPA月而。但不論何種計(jì)費(fèi)方式,在實(shí)時(shí)競(jìng)價(jià)的場(chǎng)景下议纯,供給方(媒體)對(duì)于廣告的排序基本都是采用eCPM(千次展示廣告收入)父款,那么對(duì)于CPC計(jì)費(fèi)的情景,eCPM = bid * pCTR瞻凤,而對(duì)于CPA計(jì)費(fèi)的場(chǎng)景憨攒,eCPM = bid * pCTR * pCVR》Р危可以看到肝集,對(duì)于CPA計(jì)費(fèi)的場(chǎng)景,需要對(duì)CTR和CVR進(jìn)行準(zhǔn)確的預(yù)估蛛壳。而本文也重點(diǎn)關(guān)注CPA計(jì)費(fèi)場(chǎng)景下的CVR預(yù)估問(wèn)題杏瞻。
但是對(duì)與轉(zhuǎn)化率(Conversion Rate)的預(yù)估,有時(shí)候會(huì)存在一定的延遲反饋(delayed feedback)問(wèn)題衙荐,比如看過(guò)一個(gè)商品廣告捞挥,當(dāng)時(shí)沒(méi)有發(fā)生購(gòu)買(mǎi)行為,過(guò)了幾天按捺不住去買(mǎi)忧吟。對(duì)于這種存在延遲反饋的場(chǎng)景砌函,在訓(xùn)練模型時(shí),對(duì)于一些還沒(méi)有轉(zhuǎn)化的樣本溜族,我們無(wú)法確定是負(fù)樣本還是有可能變成正樣本讹俊。一種比較基本的做法是設(shè)定一個(gè)matching window雏掠,比如5天,如果5天內(nèi)還沒(méi)有發(fā)生轉(zhuǎn)化劣像,那么就會(huì)標(biāo)記為負(fù)樣本。
上述的做法摧玫,對(duì)于matching window的設(shè)定至關(guān)重要耳奕,如果matching window設(shè)置的較短,那么可能會(huì)有更多的樣本被錯(cuò)誤的標(biāo)記為負(fù)樣本诬像,如果設(shè)置較長(zhǎng)屋群,那么每次更新模型,所使用的樣本至少是matching window時(shí)間前的樣本坏挠,這樣會(huì)導(dǎo)致訓(xùn)練的模型“不新鮮”芍躏。
因此岔乔,本文提出一種不包含matching window的對(duì)延遲反饋問(wèn)題建模的方法纯路,一起學(xué)習(xí)一下啊送。
2队塘、建模方法
2.1 符號(hào)定義
首先步脓,我們來(lái)看下本文至關(guān)重要的5個(gè)符號(hào)定義:
X : 特征集合
Y : 0或者1岂津,表示轉(zhuǎn)化行為是否已經(jīng)發(fā)生
C : 0或者1盖袭,表示轉(zhuǎn)化行為是否最終發(fā)生
D : 轉(zhuǎn)化行為和點(diǎn)擊行為之間的時(shí)間間隔(如果最終沒(méi)有轉(zhuǎn)化怠晴,就不會(huì)有對(duì)應(yīng)的D)
E : 目前距點(diǎn)擊行為發(fā)生的的時(shí)間間隔
首先來(lái)看下Y和C的關(guān)系蛋褥。
1)Y=0 等價(jià)于 C=0 or (C=1 and E < D)
2)Y=1 等價(jià)于 C=1
第一條的意思是說(shuō)临燃,當(dāng)前還沒(méi)有發(fā)生轉(zhuǎn)化行為,可能有兩方面的原因烙心,一是最終不會(huì)發(fā)生轉(zhuǎn)化膜廊,二是當(dāng)前距點(diǎn)擊行為發(fā)生的時(shí)間間隔小于最終轉(zhuǎn)化距點(diǎn)擊行為的時(shí)間間隔。
同時(shí)淫茵,這里還有一條隱含的假設(shè)爪瓜,即給定特征X,一組(C,D)的組合發(fā)生的概率匙瘪,和E是無(wú)關(guān)的钥勋,即:
2.2 問(wèn)題建模
基于上面的符號(hào)定義和假設(shè),本文提出的方法要建模兩個(gè)方面的內(nèi)容:
1)Pr(C|X)辆苔,即建模是否會(huì)發(fā)生轉(zhuǎn)化行為
2)Pr(D|X,C=1)算灸,即當(dāng)轉(zhuǎn)化行為發(fā)生時(shí),與點(diǎn)擊行為的時(shí)間間隔
而在線上應(yīng)用的時(shí)候驻啤,我們只會(huì)應(yīng)用第一部分的模型菲驴。
對(duì)于第一個(gè)問(wèn)題,我們可以使用最簡(jiǎn)單的邏輯回歸模型:
而第二個(gè)問(wèn)題骑冗,我們認(rèn)為轉(zhuǎn)化時(shí)間滿(mǎn)足一個(gè)指數(shù)分布赊瞬,轉(zhuǎn)化行為發(fā)生的概率會(huì)隨時(shí)間的變長(zhǎng)而降低:
其中λ(x) = exp(wd · x)先煎。因此,我們需要學(xué)習(xí)的參數(shù)就包括wc和wd巧涧。
但是薯蝎,由于延遲反饋問(wèn)題的存在,我們不能直接去訓(xùn)練這兩個(gè)模型谤绳,我們所能拿到的每條數(shù)據(jù)通常包含以下三個(gè)部分(xi,yi,ei)占锯,即特征xi,當(dāng)前是否轉(zhuǎn)化yi和當(dāng)前距點(diǎn)擊行為發(fā)生的時(shí)間間隔xi缩筛。如果yi = 1 消略,那么還會(huì)包含轉(zhuǎn)化和點(diǎn)擊之間的時(shí)間間隔di。
因此瞎抛,我們需要通過(guò)建模P(Y)來(lái)間接的建模前面提到的兩個(gè)問(wèn)題艺演。因此,我們需要做一定的轉(zhuǎn)換桐臊。對(duì)于Y=1的情況胎撤,我們進(jìn)行如下的轉(zhuǎn)換:
第一步的轉(zhuǎn)換利用了Y=1和C=1的等價(jià)關(guān)系,而第二步則利用了2.1節(jié)我們介紹過(guò)的假設(shè)断凶,第三步則是將聯(lián)合概率轉(zhuǎn)換為邊緣概率哩照。
同樣的,對(duì)于Y=0的情況懒浮,也可以進(jìn)行轉(zhuǎn)換:
同樣利用Y=0和 C=0 or (C=1 and E < D)的等價(jià)關(guān)系飘弧,將其拆解為兩部分。由于C=0可以等價(jià)轉(zhuǎn)化為Y=0(但Y=0不能等價(jià)轉(zhuǎn)化為C=0)砚著,所以第一部分的概率等價(jià)于P(C=0|X=xi)次伶,即1-p(xi),而第二部分計(jì)算如下稽穆,首先將問(wèn)題轉(zhuǎn)化為D>E的概率冠王,然后轉(zhuǎn)化為對(duì)應(yīng)的積分問(wèn)題:
因此,總體上Y=0可以轉(zhuǎn)化為:
2.3 問(wèn)題優(yōu)化
文中給出了兩種優(yōu)化方法舌镶,一種是EM方法柱彻,一種是梯度下降方法,我們這里只介紹梯度下降方法餐胀,即優(yōu)化如下的帶正則化的log likelihood:
其中:
3哟楷、整體回顧
最后再來(lái)整體回顧一下本文提出的思路:
對(duì)于線上使用的模型,為了能夠保證模型的“新鮮性”否灾,需要對(duì)模型進(jìn)行實(shí)時(shí)的更新(分鐘級(jí)卖擅,小時(shí)級(jí),天級(jí)別),但對(duì)于CVR問(wèn)題來(lái)說(shuō)惩阶,有時(shí)候存在一定的反饋延遲挎狸。因此,本文將訓(xùn)練時(shí)建模的目標(biāo)分為兩部分断楷,一是建模是否會(huì)發(fā)生轉(zhuǎn)化行為锨匆,二是建模當(dāng)轉(zhuǎn)化行為發(fā)生時(shí),轉(zhuǎn)化行為與點(diǎn)擊行為的時(shí)間間隔冬筒。
但對(duì)于收集到的數(shù)據(jù)恐锣,特別是在實(shí)時(shí)更新時(shí),我們只能區(qū)分是正樣本還是未標(biāo)記樣本账千。對(duì)于未標(biāo)記樣本,可以分成兩種情況暗膜,一種是最終也不會(huì)發(fā)生轉(zhuǎn)化匀奏,一種是轉(zhuǎn)化時(shí)間發(fā)生在之后。模型訓(xùn)練只能?chē)@當(dāng)前獲得到的標(biāo)記展開(kāi)学搜,因此通過(guò)概率轉(zhuǎn)換娃善,使用建模目標(biāo)的概率計(jì)算方法來(lái)表示數(shù)據(jù)中的樣本,從而通過(guò)樣本的訓(xùn)練瑞佩,來(lái)優(yōu)化上述兩部分目標(biāo)聚磺。而最終在線上使用時(shí),只預(yù)測(cè)最終的轉(zhuǎn)化概率即可炬丸。
本文提出的建模思路還是比較巧妙的瘫寝,雖然是2014年的文章,還是值得一讀的稠炬。