廣告點擊率的貝葉斯平滑

廣告點擊率的貝葉斯平滑

聲明:

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

發佈了19 篇原創文章 · 獲贊 71 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章