负样本修正:既然数据是模型的上限,就不要破坏这个上限
在清洗數據構造正負樣本時,由于日志的延遲上報問題,在點擊事件的問題中構造樣本時,往往會出現將曝光未點擊數據誤以為是負樣本的情況,可真實的負樣本真的是這樣嗎?
在Facebook的《Embedding based Retrieval in Facebook Search》論文中,
在訓練練數據挖掘方面,Facebook基于召回指標驗證召回流程中不同正負樣本的選擇策略。
針對以用戶點擊為正樣本時的負樣本選擇:
- 從文檔池隨機選取作為負樣本,即easy case;
- 同一次會話中的曝光未點擊文檔作為負樣本,即hard case。
結果表明,曝光未點擊作為負樣本的召回率遠低于隨機負樣本,約55%的召回率退化。作者認為原因在于全部以hard case做負樣本的訓練數據和實際召回任務面對的數據分布不一致,實際索引中大多數是和用戶query差別很大的easy case。
針對正樣本的選擇策略:
- 用戶點擊為正樣本
- 曝光即為正樣本
實驗表明,用戶點擊和曝光分別作為正樣本的召回指標相差不多,添加曝光數據并不能增加額外價值,增大訓練數據規模也不能。
IJCAI20關于CVR預估標簽延遲的論文《An Attention-based Model for CVR with Delayed Feedback via Post-Click Calibration》,討論了搜索推薦系統中延遲反饋的的負樣本問題。
在推薦搜索的建模中,我們經常會使用D+1天的數據作為label,從1~D天的數據中的進行特征抽取等工作,和我們時間序列問題建模類似,但和很多其他的時間序列問題建模不一樣的地方在于,我們的label不一定可靠,比如在傳統的時間序列回歸中,D+1天的銷量是多少就是多少,我們沒有太多的猶豫,因為不大會有其他的情況。但是在電商的問題中,就存在下面這種情況:
D+1天未購買可能并不一定是真正意義上的未購買,而可能是加入購物車或者意愿清單了, 只是沒有在當天下單, 而是過了一天在D+2天的時候下了單, 而這樣的標簽如果我們直接默認其為負樣本就會有較大的問題,因為它并不是真正意義上的負樣本,只是反饋延遲了。這在搜索推薦系統中,我們稱之為延遲反饋的問題。
本文的模型框架主要分為左右兩個模塊,左側的轉化模型以及右側的時間延遲模型。
1.左側轉化模型:
2.時間延遲模型
關系梳理
這個問題較早在2014文章《Modelling Delayed Feedback in Display Advertising》中被提出,當時神經網絡等還沒那么流行,但是解決的思路非常值得借鑒。在廣告推薦中,有一個指標價值是非常大的:
eCPM=CPA?P(conversion,click)=CPA?P(click)?P(conversion|click),
CPA: Cost per conversion, 廣告商愿意為每個轉化支付的金額, 如果eCPM高的話,意味著我們可能獲得更多的錢。
從上面這點可以看出,我們希望能很好地預估某個廣告的轉化概率(最終轉化即可,對應到下文P(C=1|X=x).
我們先定義五個變量,
問題轉化
曝光Bias:暴露偏差的發生是因為用戶只接觸到特定項目的一部分,因此未觀察到的交互并不總是代表消極偏好。
特殊地,用戶和商品之間未被觀察到的交互可以歸因于兩大原因:1)商品與用戶興趣不匹配;2)用戶不知道該商品。因此,在解釋未觀察到的相互作用時會產生歧義。無法區分真正的消極互動(如暴露但不感興趣)和潛在的積極互動(如未暴露)將導致嚴重的Bias。以前的研究已經調查了數據暴露的幾個方面:
1)暴露受先前推薦系統的策略的影響,這些策略控制要顯示哪些商品。
最近的一些工作也將這種“曝光偏差”(exposure bias)稱為“前一模式偏差”(previous mode bias)。2) 因為用戶可以主動搜索和查找自己感興趣的商品,這樣會導致相關的商品更大概率的被曝光。在這種情況下,exposure bias也被稱作為是selection bias;
3)用戶的背景是商品曝光的另一個因素,例如社交朋友、他們所屬的社區和地理位置等;
4)流行的商品有更大的概率被曝光(popularity bias)。我們認為流行度bias也是Exposure Bias的一種。
曝光偏差會誤導模型的訓練和評估。
1. 評估的Debiasing
目前處理該問題的策略主要還是使用inverse propersity score。為了解決這個問題,類似于外顯反饋數據中的選擇偏差處理,Yang等人建議用隱式反饋數據傾向的倒數來加權每個觀測值。intuition是把經常觀察到的交互降權,而對少的樣本進行升權;
2. 模型訓練的Debiasing
為了解決曝光偏差的問題,傳統的策略就是將所有被觀測的交互作為負例并且明確它們的交互。confidence weight可以被分為三類:
1.Heuristic:典型的例子是加權的矩陣分解以及動態MF,未觀測到的交互被賦予較低的權重。還有很多工作則基于用戶的活躍度指定置信度等;但是賦予準確的置信權重是非常有挑戰的,所以這塊依然處理的不是非常好。
2.Sampling: 另一種解決曝光bias的方式就是采樣,經常采用的采樣策略有均勻的負采樣,對于流行的負樣本過采樣,但是這些策略卻較難捕捉到真實的負樣本。
3.Exposure-based model:另外一個策略是開發基于曝光的模型,這樣可以知道一個商品被曝光到某個用戶的可能性等。
4.Others:例如考慮用戶的序列行為等,對應的設計inverse propensity的模型等。
總結
以上是生活随笔為你收集整理的负样本修正:既然数据是模型的上限,就不要破坏这个上限的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 再谈序列化推荐
- 下一篇: 搜索推荐系统实战:终极奥秘