1. 程式人生 > >點選率預測綜述

點選率預測綜述

  對於計算廣告系統,一個可以攜帶廣告請求的使用者流量到達後臺時,系統需要在較短時間(一般要求不超過 100ms)內返回一個或多個排序好的廣告列表;在廣告系統中,一般最後一步的排序 score=bid*pctralpha;其中 alpha 引數控制排序傾向,如果 alpha<1,則傾向於 pctr,否則傾向於 bid;這裡的核心因子 pctr 就是通常所說的點選率(predicted click through rate)。

  對於推薦系統,也有類似的需求,當用戶請求到達後臺的時候,我們需要返回一個排序好的文章列表或者 feeds 列表。早期的推薦系統主要以協同過濾和基於內容的推薦為主,近年來推薦系統的主流形式也變成和廣告類似的兩步走模式:先召回一個候選佇列,然後排序;在排序這一步有很多種不同的策略,比如 pair-wise

的一些分類演算法之類,但更多還是類似 facebook、youtube 之類的計算一個分數,然後排序;這個分數裡往往也少不了 item 的 pctr 這個關鍵因子。

  •  problem formulation:迴歸問題 vs 分類問題 

  第一種是將其看做一個分類問題;因為我們原始的日誌是曝光和點選;通過簡單的歸約以後,把點選看做正樣本,曝光看做負樣本的話,基於一段時間的資料樣本,可以訓練一個分類器。形式化來說,假設使用者 u、物品 i,上下文 c,曝光和點選類別 e,每個樣本可以看成一個<u,i,c|e>的元組;其中 e 的取值只有 0、1 兩種,這時候對每一個使用者、物品、上下文組合<u,i,c>,

需要一個模型來對其分類,是點選還是不點選;

  另一種假設每個<u,i,c>可以預測一個 ctr(0-1 之間的值),這時候就變成了一個迴歸問題。在實際業務中,不同的問題定義方式不僅決定了可以使用模型的範圍,甚至決定了本質效果的差異。某個領域機器學習方法的進步,往往不只是模型的進步,有時候是先有問題定義的進步,然後才有模型和演算法的進步;而問題定義的進步來源於對業務場景的理解。