本人微信公眾號為“推薦算法學(xué)習(xí)筆記”辐烂,定期推出經(jīng)典推薦算法文章让禀,歡迎關(guān)注钢拧。
這篇文章主要介紹阿里的ESMM模型《Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate》拯爽。
一.介紹
我們知道在電商網(wǎng)站培己,用戶行為遵循這樣的模式:展示->點(diǎn)擊->轉(zhuǎn)化(購買)碳蛋。假設(shè)我們要預(yù)測某個商品被點(diǎn)擊之后轉(zhuǎn)化(購買)的概率,那應(yīng)該怎么建模呢省咨。值得注意的是肃弟,這里的預(yù)測目標(biāo)是商品被點(diǎn)擊之后的轉(zhuǎn)化率,而不是轉(zhuǎn)化率零蓉,它們是有區(qū)別的笤受。一個商品它的點(diǎn)擊率很低,但是一旦被點(diǎn)擊之后敌蜂,用戶購買的概率可能非常高箩兽,我們要預(yù)測的目標(biāo)pCVR=p(conversion|click, impression)。
二.解決思路
方案一
把用戶點(diǎn)擊之后購買的商品作為正樣本章喉,把用戶點(diǎn)擊之后沒有購買的商品作為負(fù)樣本汗贫,然后放入到深度模型里面進(jìn)行訓(xùn)練
存在的問題
(1)用戶沒有點(diǎn)擊的商品沒有參與到訓(xùn)練當(dāng)中身坐,我們預(yù)測的時候是對所有的商品進(jìn)行預(yù)測,相當(dāng)于訓(xùn)練的時候只采樣了被點(diǎn)擊的商品芳绩,導(dǎo)致最終的模型對沒有點(diǎn)擊的商品表達(dá)不足掀亥。這也就是論文當(dāng)中所說的Sample selection bias problem。
(2)訓(xùn)練數(shù)據(jù)少妥色。跟做點(diǎn)擊預(yù)測的數(shù)據(jù)相比搪花,訓(xùn)練數(shù)據(jù)相比非常少,導(dǎo)致更難訓(xùn)練和容易o(hù)verfit嘹害。也就是論文所說的Data sparsity problem撮竿。
方案二
把用戶點(diǎn)擊之后購買的商品作為正樣本,把用戶沒有點(diǎn)擊或者點(diǎn)擊之后沒有購買的商品作為負(fù)樣本笔呀,然后放入到深度模型里面進(jìn)行訓(xùn)練
存在的問題
這樣訓(xùn)練出來的模型是CVR=p(conversion| impression)幢踏,而不是pCVR=p(conversion|click, impression)。它們是有區(qū)別的
方案三
訓(xùn)練一個轉(zhuǎn)化率預(yù)估模型许师,然后再訓(xùn)練一個點(diǎn)擊預(yù)測模型唯灵。再使用轉(zhuǎn)化率預(yù)估的結(jié)果除以點(diǎn)擊預(yù)測的結(jié)果猿涨。
存在問題
這個方案是可行的,但是這樣要訓(xùn)練兩個模型,有沒有辦法放到一個模型里面訓(xùn)練锋勺?
阿里提出的ESMM就可以解決以上幾點(diǎn)提到的問題
三.ESMM模型
假設(shè)X表示我們的feature space宫患,Y和Z分別表示用戶是否點(diǎn)擊和購買唁盏。我們的求解的問題可以表示為pCVR=p(z = 1|y = 1, x)绪钥。根據(jù)條件概率,可以得到以下的公式
假如我們可以預(yù)估出pCTCVR和pCTR云芦,那pCVR就可以通過以下公式求解出來
基于此公式俯逾,阿里提出了以下模型,如圖所示
可以看到左側(cè)就是我們要求解的目標(biāo)pCVR舅逸,通過引入右側(cè)的兩個輔助任務(wù)pCTCVR和pCTR桌肴,將我們的目標(biāo)pCVR轉(zhuǎn)化成深度模型的一個神經(jīng)元,并共享輸入feature的embedding空間琉历。這樣识脆,就可以利用到我們點(diǎn)擊和不點(diǎn)擊的所有訓(xùn)練樣本,緩解我們樣本偏差和樣本稀疏的問題善已,達(dá)到更好的訓(xùn)練效果灼捂。
損失函數(shù)包含兩個部分,CTR和CTCVR换团,如下圖所示
四.總結(jié)
ESMM巧妙的通過兩個輔助任務(wù)對pCVR進(jìn)行求解悉稠,是多任務(wù)學(xué)習(xí)的典范。以上就是ESMM的所有內(nèi)容艘包,如果有問題的猛,歡迎和我交流耀盗。
本人微信公眾號為“推薦算法學(xué)習(xí)筆記”,定期推出經(jīng)典推薦算法文章卦尊,歡迎關(guān)注叛拷。