Online方式點擊率預估時學習率不斷變小,是否可能追不上目標函數的變化?

在使用FTRL演算法時,學習率(eta + sqrt{n_i})/alpha是單調遞減的,這裡隱含假設了目標函數是固定的。

但廣告(特徵向量)是否隨著時間因素,或其它因素影響,導致點擊率變化,導致學習的速度追不上目標的變化的速度(concept drift)。


謝邀。

online演算法,比如ftrl追求的是regret小,而不是優化目標小,對於regret小這個目標,數據分布和順序不影響regret。

實際的ctr預估問題不僅僅要求regret小,還要求優化目標小等等,因此數據順序和隨時間的變化對業務結果有影響,也就是說當數據分布發生嚴重變化的時候,還是應當做調整的。最常用的解決方法是用以前的參數初始化一下,然後重啟演算法。

=========題外話科普分割線=========

注意: online演算法與傳統優化演算法考慮問題的區別,一般來說追求regret的online演算法並不會假設數據按什麼順序到來,而追求優化目標小的演算法比如sgd會要求每一步從數據中均勻採樣一個剃度。

舉例說一說regret,SGD可以被看是一種優化演算法也可以看做是online演算法。當SGD被看做是優化演算法的時候,它的解在目標函數上有這樣的bound(參考:ROBUST STOCHASTIC APPROXIMATION APPROACH TO STOCHASTIC PROGRAMMING)

當SGD被看做是online演算法的時候(稱作Online gradient descent),可以證明它在regret上也有bound(參考:Logarithmic Regret Algorithms for Online Convex Optimization)

這兩個不同的bound中,前者是帶有期望的,後者是無期望的,之所以前者會引入期望是因為需要SGD每一步均勻得從數據中抽樣一個梯度出來,因此證明中有這樣一個期望E,而online gradient descent演算法只過一遍數據,並且無視數據順序,也就沒有期望E。以上例子比較簡單,對於ftrl這類相對比較複雜一點的演算法,數據的順序也不會對regret bound造成影響。(參考:A Unified View of Regularized Dual Averaging and Mirror Descent with Implicit Updates)


如果一個特徵出現的頻率很高。那麼學習率變小沒關係。如果一個特徵出現頻率低。特別那些大量新出現的特徵。那麼他們的學習速率一開始是高的


學習率單調遞減的online learning演算法通常背後的假設是IID採樣,即數據分布不隨時間變化。如果要考慮concept drift的話可以考慮更adaptive的方法,比如AdaDelta等對歷史做decay的方法。


我覺得用 AdaDelta 做梯度下降是一個好的辦法,替換掉原來從頭開始的積累梯度的平方的做法,改用只積累一個窗口的梯度平方和。這樣就算是loss function改變了,我們依然可以保證一定的learning rate去優化。


這個是有可能的,不過per-coordinate learning rate不是ftrl的關鍵,這地方改一下影響不大,比如可以重置一下


一種做法是保留個最小learning rate;或者batch+online


直觀來看,訓練得到的函數肯定只能逼近。

現實環境中,突發事件,熱點等肯定會影響目標函數。


推薦閱讀:

如何用機器學習做廣告反作弊?
廣告點擊預估用深度學習怎麼搞?
什麼是計算廣告學?
做實時計費時如何降低廣告超預算?
為什麼LR可以用來做CTR預估?

TAG:數據挖掘 | 互聯網廣告 | 機器學習 | 計算廣告學 |