論文鏈接
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,其方向導數 總是存在的
(2)
基於公式9,根據limited-memory quasi-newton method (LBFGS)沿着下降方向進行參數的更新,同時在每一步迭代中限制了模型參數符號
關於inverse-Hessian matrix 的估計做了兩個trick:
(1)constrain the update direction in the orthant with respect to
(2)因爲目標函數非凸,無法保證 正定,所以把 作爲限制條件
最後在用backtracking line search尋找合適的步長
整個流程(這裏公式太多,建議還是看論文)
系統架構的並行化實現
work node負責保存局部的訓練數據的模型參數,而server node 存儲了整體模型的一部分(互斥)。每一步迭代中,在worker nodes上是數據並行的(各自計算損失和下降放下),而server nodes則把這些聚合起來(模型並行)對梯度進行修正。
針對CTR,論文用common features trick優化並行
(1)訓練具有共同特徵的樣本,並確保這些樣本存儲在同一個worker中。
(2)通過只存儲一次共享多個樣本的公共特性來節省內存。
(3)關於共同特徵只有一次加速迭代更新損失和梯度的過程。
最後和LR對比了方法的精度和效率。