邏輯回歸LR、POLY2、FM、FFM
- 1.邏輯回歸LR
- 2.辛普森悖論
- 3.POLY2
- 4.FM-2010
- 5.FFM
- 6.GBDT+LR-2014
- 7.LS-PLM-2017
《深度學習/推薦系統》讀書筆記
1.邏輯回歸LR
Logistic Regression – 融合多種特征,通過sigmoid 函數,預測樣本的被點擊的概率。樣本用特征向量x=[x1,x2,...,xn]x=[x_1,x_2,...,x_n]x=[x1?,x2?,...,xn?]表示,n為不同特征的數量。
f(z)=11+e?zf(z)=\frac{1}{1+e^{-z}}f(z)=1+e?z1?
z=w0+∑i=1nwixi(1)z=w_0+\sum_{i=1}^nw_ix_i\tag{1}z=w0?+i=1∑n?wi?xi?(1)
(每個特征如何編碼[性別,年齡,身高],這里應該默認每一維度就是一個特征吧,而不是每個特征one-hot 編碼的拼接。)
CTR-Click Through Rate
- 將用戶的年齡、性別、物品屬性、描述、時間、地點等特征數值化成特征向量
- 確定羅輯回歸模型的優化目標(點擊率模型就是最大似然函數),訓練模型權重參數
- 推斷階段,輸入特征向量,得到某個用戶對物品點擊的概率
- 對物品點擊概率進行排序后推薦。
記樣本被點擊的概率為P(y=1∣x,w)=fw(x)P(y=1|x,w)=f_w(x)P(y=1∣x,w)=fw?(x),
樣本不被點擊的概率為P(y=0∣x,w)=1?fw(x)P(y=0|x,w)=1-f_w(x)P(y=0∣x,w)=1?fw?(x)
那么樣本被點擊的概率分布為:P(y∣x,w)=[fw(x)]y[1?fw(x)]1?yP(y|x,w)=[f_w(x)]^y[1-f_w(x)]^{1-y}P(y∣x,w)=[fw?(x)]y[1?fw?(x)]1?y
最大似然估計的目標函數為:
L(w)=∏i=1mP(y∣xi,w)L(w)=\prod_{i=1}^mP(y|x^i,w)L(w)=i=1∏m?P(y∣xi,w)
邏輯回歸模型做推薦的優勢
- 點擊率與羅輯回歸模型的數據假設一直,都是伯努利分布
- 可解釋性強,邏輯回歸模型是廣義的線性回歸模型,能夠通過特性向量各個維度權重的大小來反映各個維度的作用
- 模型簡單,易于并行,訓練開銷小
邏輯回歸的局限性:無法進行特征交叉組成高維特征
后續的POLY2,FM,FFM 用于CTR預測時,都可以看作在LR目標函數的基礎上,研究不同的特征組合方式。訓練參數的方法都與上述LR中的最大似然一致。
2.辛普森悖論
在對樣本進行分組研究時,在分組比較中占優勢的一方,在總評中有時反而是失勢的一方。
demo:按性別分組后的數據,男女都是推薦視屏B;但是將所有的數據合并在一起后,卻得出推薦視頻A的結論。
獲取特征非線性組合的一個常用方法和核方法(核方法計算量大,內存需求大)
3.POLY2
Degree-2 Polynomial Margin–度為2多項式特征
考慮所有二階特征組合方式,并且為所有的二階特征構建可學習參數。
z=w0+∑i=1nwixi+∑i=1n?1∑j=i+1nwi,jxixjz=w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^{n-1}\sum_{j=i+1}^nw_{i,j}x_ix_jz=w0?+i=1∑n?wi?xi?+i=1∑n?1?j=i+1∑n?wi,j?xi?xj?
相比于原始LR的式子(1),新增組合特征n(n?1)2\frac{n(n-1)}{2}2n(n?1)?
缺點:
- 參數數量指數增加,極大增加了訓練的復雜度
- 數據稀疏特征使得大部分交叉特征權重缺乏有效訓練數據,無法收斂。
4.FM-2010
Factorization Machine–因子分解機(原來因子分解機本身是一個可以展開研究的內容,本博文注重FM特征組合方式,)
2010年提出,2012-2014年,成為業內主流的推薦模型之一。原文–《Fast Context-aware Recommendations with Factorization Machines》
FM為每個特征學習一個隱權重向量(latent vector), 在做特征交叉時,使用兩個特征隱權重向量的內積作為交叉特征的曲子權重(權重向量的學習,后續補上好吧)
z=w0+∑i=1nwixi+∑i=1n?1∑j=i+1n<wj1,wj2>xixjz=w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^{n-1}\sum_{j=i+1}^n<w_{j_1},w_{j_2}>x_ix_jz=w0?+i=1∑n?wi?xi?+i=1∑n?1?j=i+1∑n?<wj1??,wj2??>xi?xj?
優點:
- 把權重參數的數量從Poly2的n2n^2n2降到的knknkn(k為特征向量的維度)
- 能夠很好的解決數據稀疏問題,隱向量的學習不僅依賴某個稀疏特征。
5.FFM
Field-aware Factorization Machine
不同特征在組合時,隱向量的作用域應該不同;也就是說不同的特征不止一個隱權重向量。
z=w0+∑i=1nwixi+∑i=1n?1∑j=i+1n<wj1,f2,wj2,f1>xixjz=w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^{n-1}\sum_{j=i+1}^n<w_{j_1,f_2},w_{j_2,f_1}>x_ix_jz=w0?+i=1∑n?wi?xi?+i=1∑n?1?j=i+1∑n?<wj1?,f2??,wj2?,f1??>xi?xj?
適用于離散特征聚合,連續特征最好使用FM 。
參考博文:CTR預估傳統模型
6.GBDT+LR-2014
2014-Facebook 提出利用GBDT自動進行特征篩選和組合,進而形成新的離散特征向量,將該特征向量當作LR模型的輸入。
用GBDT構建特工程和利用LR預估CTR這兩步是獨立訓練的,不存在將LR的梯度回傳到GBDT的復雜問題。
GBDT-梯度上升決策樹。每棵樹都是一棵標準的回歸樹生成過程,其目標是上一棵樹的預測值D(x)D(x)D(x)與樣本標簽f(x)f(x)f(x)之間的殘差:
R(x)=f(x)?D(x)R(x)=f(x)-D(x)R(x)=f(x)?D(x)
每棵樹每個節點分裂是一個自然的特征選擇的過程,多層結點結構則對特征進行了有效的自動組合。(沒法產生新的特征)
每個樣本轉換成特征向量的方式很巧妙–樣本落入的葉子結點為1,沒有落入的結點為0,構成一個類似于one-hot編碼的向量,把所有子樹編碼向量串在一起,構成了該樣本的特征向量。
迷惑點1:GBDT模型的訓練過程沒有實驗過,特征分裂與一般回歸樹一樣么?殘差有什么用呢?
迷惑點2:樣本特征轉換,最終特征向量與原始特征的關聯不是很強了,可解釋性減弱。
7.LS-PLM-2017
2017年-阿里巴巴公布大規模分段線性模型(Large Scale Piece-wise Linear Model)。其實早在2012年他就成為了阿里巴巴主流的推薦模型。
LS-PLM 又被稱作混合羅輯回歸(Mixed Logistic Regression),先對樣本進行分片(聚類操作?),在樣本分片中應用羅輯回歸。
靈感來源很重要:女性受眾點擊女裝廣告的CTR,顯然不希望把男性用戶點擊數碼產品的樣本數據也考慮進來。
某個樣本被點擊的概率為分片加權平均:
f(x)=∑i=1mπi(x)ηi(x)=∑i=1meμix∑j=1meμjx11+e?wixf(x)=\sum_{i=1}^m\pi_i(x)\eta_i(x)=\sum_{i=1}^m\frac{e^{\mu_ix}}{\sum_{j=1}^me^{\mu_jx}}\frac{1}{1+e^{-w_ix}}f(x)=i=1∑m?πi?(x)ηi?(x)=i=1∑m?∑j=1m?eμj?xeμi?x?1+e?wi?x1?
其中m為分片數。μi\mu_iμi?和wiw_iwi?的學習同時進行么? 阿里巴巴給出m的經驗值12最佳。LS-PLM適用于工業級推薦、廣告等大規模稀疏數據場景。
主要優點:
- 端到端非線性學習能力
- 模型系數性強
LS-PLM可以看作加入了注意力機制的三層神經網絡:輸入層為樣本特征,隱藏層為m個以sigmoid為激活函數的神經元,輸出層為單個神經元。