天天看點

廣告點選率的貝葉斯平滑廣告點選率的貝葉斯平滑

廣告點選率的貝葉斯平滑

聲明:

1)該博文是Yahoo專家所無私奉獻的論文資料整理的。具體引用的資料請看參考文獻。具體的版本聲明也參考原文獻

2)本文僅供學術交流,非商用。是以每一部分具體的參考資料并沒有詳細對應,更有些部分本來就是直接從其他部落格複制過來的。如果某部分不小心侵犯了大家的利益,還望海涵,并聯系老衲删除或修改,直到相關人士滿意為止。

3)本人才疏學淺,整理總結的時候難免出錯,還望各位前輩不吝指正,謝謝。

4)閱讀本文需要機器學習、統計學習理論等等基礎(如果沒有也沒關系了,沒有就看看,當做跟同學們吹牛的本錢)。

5)本人手上有word版的和pdf版的,有必要的話可以上傳到csdn供各位下載下傳

一.點選率的貝葉斯平滑

預估網際網路廣告的點選率一個重要的技術手段是logistic regression模型,這個模型非常依賴特征的設計。每個廣告的回報ctr作為特征能極大地提升預估的準确性,是以每個廣告的回報ctr非常重要。

目前用得比較多的擷取回報ctr的方式是直接計算每個廣告的曆史ctr,這樣的問題就是當該廣告投放量比較少的時候(如新廣告),曆史ctr與實際ctr相差很大。如一個廣告投放了100次,有2次點選,那麼ctr就是2%,但是當這個廣告投放量到了1000次的時候,點選隻有10次,點選率是1%,這裡就相差了一倍了。産生這種問題的的原因是投放量太少,資料有偏,是以如果每個廣告在開始投放前就有了預設的一個展示數和點選數,即分子分母都加上一個比較大的常數,這樣計算起ctr來就不會有那麼大的偏差。這種方法叫做ctr平滑,通用的方法是在展示數和點選上面各自加一個常數,緩解低投放量帶來的不準确性,使其接近其實際的CTR。

1.1點選率的貝葉斯平滑技術

1.1.1理論基礎

考慮到經驗貝葉斯方法的層次性質,做了兩個假設。

假設一,所有的廣告有一個自身的ctr,這些ctr服從一個Beta分布。

假設二,對于某一廣告,給定展示次數時和它自身的ctr,它的點選次數服從一個伯努利分布 Binomial(I, ctr)。

如果用r表示點選率,I表示展示,C表示點選。這兩個假設可以用下面的數學表示。

廣告點選率的貝葉斯平滑廣告點選率的貝葉斯平滑

假設有N個廣告,這N個廣告個似然函數可以寫成下面的形式

廣告點選率的貝葉斯平滑廣告點選率的貝葉斯平滑

由上面的式子可以得到對數似然函數的梯度

廣告點選率的貝葉斯平滑廣告點選率的貝葉斯平滑

其中的

廣告點選率的貝葉斯平滑廣告點選率的貝葉斯平滑

是digamma函數,可以查表得到。

優化求解的疊代式如下

廣告點選率的貝葉斯平滑廣告點選率的貝葉斯平滑

停機條件是達到1000次疊代或者α和β都小于1E-10。

當α和β的值都求出來以後(用alpha和beta表示),由ctr的先驗分布,可以修正每個廣告的ctr,也就是觀測到的click/view,這個後驗值可以用的公式r=(C + alpha) / (I + alpha + beta)計算。

1.1.2效果

當I較大時,觀測到的ctr比較接近真實ctr,這時先驗分布的修正對ctr值影響不大(I一般在幾百萬,alpha一般是幾十,beta一般是幾萬);當I較小時,alpha和beta在式子中起的作用較大,對ctr有一個明顯的修正。

經過貝葉斯平滑的回報特征上線後,總體ctr有了很大的提升,提升幅度超過50%。

緻謝

Yahoo的研究員。

參考文獻

[1] Click-Through Rate Estimation for Rare Events in Online Advertising.Xuerui Wang, Wei Li, Ying Cui, Ruofei (Bruce) Zhang, Jianchang Mao Yahoo! Labs, Silicon Valley United States

文章來源:http://blog.csdn.net/mytestmy/article/details/19088519

繼續閱讀