在線學習算法FTRL

在線學習算法FTRL

聲明:

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

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

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

4)閱讀本文需要機器學習、優化算法等等基礎(如果沒有也沒關係了,沒有就看看,當做跟同學們吹牛的本錢)。

5)此屬於第一版本,若有錯誤,還需繼續修正與增刪。還望大家多多指點。請直接回帖,本人來想辦法處理。

6)本人手上有word版的和pdf版的,有必要的話可以上傳到csdn供各位下載,地址:http://download.csdn.net/detail/mytestmy/7973463

   
優化算法中的LBFGS解法以及GD等解法,是對一批樣本進行一次求解,得到一個全局最優解。
    

實際的互聯網廣告應用需要的是快速地進行model的更新。爲了保證快速的更新,訓練樣本是一條一條地過來的,每來一個樣本,model的參數對這個樣本進行一次迭代,從而保證了model的及時更新,這種方法叫做OGD(Online gradient descent)。

當然這會有誤差,所以爲了避免這種誤差,又爲了增加稀疏性,有人又想到了多個版本的算法,Google有人總結了其中幾種比較優秀的,如FOBOS,AOGD和微軟的RDA,同時提出了Google自己的算法FTRL-Proximal。FTRL-Proximal在各個方面如稀疏性,ctr等方面表現都比較好。

在應用的時候,線上來的每一個廣告請求,都提取出相應的特徵,再根據model的參數,計算一個點擊某廣告的概率。在線學習的任務就是學習model的參數。

所謂的model的參數,其實可以認爲是下面的(1)作爲目標的函數的解。跟之前說的根據批量的樣本計算一個全局最優解的方法的不同是,解這個問題只能掃描一次樣本,而且樣本是一條一條地過來的。

                                 (1)

其中的l(x)是邏輯迴歸的似然函數的負對數,右邊第二項是L1正則項,具體情況可以參看博文《從廣義線性模型到邏輯迴歸》。
對於上面的優化問題,可以在已有L1正則的基礎上,再加L2正則來防止過擬合。


1.1 FTRL-Proximal算法

下面介紹這個算法。

令給定model參數x,和第t個樣本,定義爲該樣本的label爲1(也就是點擊某廣告)的概率;定義表示第t個樣本的對數損失,也就是第t個樣本的概率的負對數。第t個樣本的梯度就可以表示成

          (2)

其中model參數也帶了下標的原因是,每次一個樣本迭代完後,model參數x也發生了變化,所以可以認爲model參數x跟樣本v的下標是一一對應的。
原始的OGD使用下面的迭代公式

                               (3)

其中是一個非增的學習率,也就是步長。

這種迭代方式夠簡單,但不夠好,也不產生稀疏解。
FTRL-Proximal算法把OGD的迭代方式變成一個優化問題。
                         (4)

其中 ,同時使用定義學習率,即。這裏的是L1正則係數,如果,這個問題就能產生一個一致的迭代公式。如果,則能產生比較好的稀疏解。

上面的右邊括號裏面的幾項都有各自的意義,第一項是對損失函數的貢獻的一個估計,第二項是控制x(也就是model)在每次迭代中變化不要太大,第三項代表L1正則。
這個優化問題看起來比較難解,因爲看起來要存儲迭代過程產生過的所有model參數。實際上,經過巧妙的處理,只要爲model參數x的每個係數存一個數就可以了。
上面的問題的最小化的部分可以重寫爲下面的形式

                            (5)

所以,只要存儲一個向量,在第t次迭代開始後,只要用下面的公式

                                        (6)

就能得到

只要讓上面的優化問題(5)的次梯度爲0,就能得到問題的解。從而可以得到上述問題的每一個維度(每一個特徵的權重)的一個閉式的迭代公式。

        (7)

對於上面的迭代式,如果,同時學習率η取一個常數,這個迭代過程就跟OGD是一致的。

對於步長學習率方面,FTRL-Proximal算法還做了改進,讓每一個特徵的學習率都不一樣。每次每個特徵的學習率也用下面的公式計算。

                                                           (8)

其中α根據數據和特徵自適應調整,β一般取值爲1。
同時,優化問題(5)還可以加上懲罰係數爲的L2正則。
經過上面的討論,可以得到FTRL-Proximal算法的流程。





致謝
Google的多位科學家,無私地公佈他們的成果。


參考文獻

[1] Follow-the-regularized-leader and mirror descent: Equivalence theorems and L1 regularization. In AISTATS, 2011.H. B. McMahan.

[2] Ad Click Prediction: a View from the Trenches.H. Brendan McMahan, Gary Holt, D. Sculley et al.

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

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