MLR算法[Paper筆記]


介紹

    MLR算法是alibaba在2012年提出並使用的廣告點擊率預估模型,2017年發表出來。

    如下圖,LR不能擬合非線性數據,MLR可以擬合非線性數據,因為划分-訓練模式。

  

討論,非線性擬合能力:

    數據划分規則如下公式,特征分片數m=1時,退化為LR;上圖MLR中m=4。m越大,模型的擬合能力越強,一般m=12。

    

基礎知識

    優化方法:

    1)剃度下降:

     大小:一階導數,方向:導數負方向。由目標函數的泰勒一階展開式求得

    2)牛頓法:

    大小:一階導數,方向:-海信矩陣的逆。由目標函數的泰勒二階展開式求

    3)擬牛頓法(LBFGS):牛頓方向通過約等替換,每個樣本保存下面三個參數:delta x ,delta剃度 和p:

    

    增量替換,計算牛頓方向D

    

    LBFGS方法通過一階導數中值定理,避免了計算海信矩陣(復雜度太大)。但是L1范數不能求導,所以需要OWLQN方法。

    4)OWLQN:

    (1)次梯度定義如下,

   (2)不可導點取左or右次梯度,如下 

    直觀解釋,當你打算用左偏導時,說明是在負象限,因此要加上一個負值,使得更新之后參數更往負象限前進,這樣就避免了跨象限;當打算用右偏導數時,說明在正象限,一次要加上一個正值,使得更新之后參數更往正象限前進,從而避免跨象限;否則,只能直接設置subgradient為0。  

   (3)象限搜索line search:

    x不在0點時,line search在x_i所在象限搜索;如果模型參數在0點,就要在(2)次梯度約束的象限內進行line search.

MLR算法

    

算法公式如下:

0計算邊界下降方向d:

1計算梯度大小:theta在0處不可導,取sign符號函數dij。

 

2計算最終下降方向p:

3象限內梯度下降,同OWLQN,line search:

paper介紹,MLR與LBFGS有三點不同:

1)OWLQN需要計算次梯度,MLR需要計算方向導數;

2)計算最終下降方向p時,MLR也要進行象限約束;

3)象限搜索line search,與OWLQN相似。

分布式框架實現

分布式

User特征共享

    個人理解是為了加快運算速度,具體特征划分如下所示。其中,c是用戶特征,nc是非用戶特征。

實驗結果

    實驗截圖略,具體圖表可以查看參考paper

縱坐標是內存使用率,特征共享技巧使速度提高了三倍。

 

 

參考paper:Learning Piece-wise Linear Models from Large Scale Data for Ad Click Prediction

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM