LS-PLM學習筆記

論文鏈接
Learning Piece-wise Linear Models from Large Scale Data for Ad Click Prediction
首先介紹了傳統的解決方案和侷限性
(1)LR不能捕捉非線性
(2)GBDT+LR雖然能夠產生非線性特徵組合,但是樹模型不適用於超高維稀疏數據
(3)FM利用二階信息來產生變量之間的相關性,但是無法適應多階模式
LS-PLM採用divide-and-conquer策略,將特徵空間分割成若干個子區域,在每個區域採用線性模型,最後用weighted linear predictions組合結果
LS-PLM存在三個優勢:Nonlinearity(源於子區域的劃分)、Scalability(與LR相似,可並行)、Sparsity(用L1和L2)
論文基於directional derivatives(方向導數)和quasi-Newton(擬牛頓)方法來解決因爲正則項使得目標函數非凸的問題。

這裏寫圖片描述

用softmax函數作爲dividing function以及sigmoid函數作爲fitting function
其中part1 dividing function將特徵空間分割成m歌不同的區域,而part 2對每個區域做預測
損失函數logloss
如何優化?
因爲目標函數的負梯度方向並不存在,所以用能夠得到f最小的方向導數的方向b作爲負梯度的近似值。
論文給了兩個定理:
(1)目標函數由smooth loss function with L1 and L2,1 norm,對於任意的參數空間和方向d,其方向導數f(Θ;d) 總是存在的
(2)
這裏寫圖片描述
基於公式9,根據limited-memory quasi-newton method (LBFGS)沿着下降方向進行參數的更新,同時在每一步迭代中限制了模型參數符號
這裏寫圖片描述
關於inverse-Hessian matrix Hkd(k) 的估計做了兩個trick:
(1)constrain the update direction in the orthant with respect to d(k)
(2)因爲目標函數非凸,無法保證Hk 正定,所以把yTs>0 作爲限制條件
這裏寫圖片描述
這裏寫圖片描述
最後在用backtracking line search尋找合適的步長α
這裏寫圖片描述
整個流程(這裏公式太多,建議還是看論文)
系統架構的並行化實現

這裏寫圖片描述
work node負責保存局部的訓練數據的模型參數,而server node 存儲了整體模型的一部分(互斥)。每一步迭代中,在worker nodes上是數據並行的(各自計算損失和下降放下),而server nodes則把這些聚合起來(模型並行)對梯度進行修正。
針對CTR,論文用common features trick優化並行
(1)訓練具有共同特徵的樣本,並確保這些樣本存儲在同一個worker中。
(2)通過只存儲一次共享多個樣本的公共特性來節省內存。
(3)關於共同特徵只有一次加速迭代更新損失和梯度的過程。
最後和LR對比了方法的精度和效率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章