幾句話總結一個算法之CTR預估模型


背景

假設現在有個商品點擊預測的任務,有用戶端特征性別、年齡、消費力等,商品側特征價格、銷量等,樣本為0或者1,現在對特征進行one hot encode,如性別特征用二維表示,男為[1,0],女為[0,1],其他特征相同處理后拼接起來一共有n維,n是所有特征的類別數之和。

Logistic Regression(LR)與二階

線性模型,y = sigmoid(w, x),w有n維,優點是簡單易解釋,缺點是太簡單,無法挖掘特征組合的情況,如男性+游戲類商品可能是個很強特征。為了彌補這個缺點往往需要人工特征組合,如 手工組合特征 f = 性別是否男 & 商品是否為游戲類,這很依賴人工經驗。於是就有了暴力的方法,枚舉所有的兩兩特征的組合(線性二階多項式),訓練參數最大有 n * n個,但是性別男和性別女(相同性別field內)是無法組合的,真實值沒這么大。假設與n個特征,m個field,相同field 內部無法組合,則訓練參數為0.5 * (n * n - (n/m * n/m) * m )

FM(Factorization Machines)

上面的LR線性二階多項式參數空間是一個 n * n 的矩陣,過於龐大,可以用兩個矩陣相乘得到,這兩個矩陣的的維度是 n * k 和 k * n,那么參數空間就是 2 * n * k,k是人為設置的參數,大小可以調節,如果k遠遠小於n,則參數數量將極大變小,更進一步,這兩個矩陣可以用一個矩陣和它的轉置來表示。

從embedding角度看,假設k為2,”男性和游戲類目“分別可以在這個矩陣中找到一個2維的向量表示,這兩個向量的內積就表示了組合特征對預測結果的影響。

LR的二階特征組合參數是獨立的,如”男性&游戲類目“只看這個特征對最終結果的影響,注重記憶功能;而FM里面,男性這個特征的embedding受到的是來自於各個特征組合的影響,並不獨立,注重泛化功能,效果上並不一定比LR二階更好,但是參數空間是實實在在減少了,另外,FM要求特征embedding后的size一樣大小,淘寶百萬店鋪,十個年齡層級性別,明顯不太合適這種方法。

FFM(Field-aware Factorization Machines)

FFM是考慮領域知識的一種FM變種,上面介紹FM,男性這個特征的embedding受到的是來自於各個特征組合的影響,能不能降低這個影響?答案是考慮領域知識。假設有m個field,則男性對每個field都建立一個embedding,參數個數是 n * k *m,這是個鑒於二階LR和FM之間的一個方法,”男性&游戲類目“ 中的男性這向量,還是受到其他類目組合的影響,但是不受到”男性&價格“這類特征組合的影響。

Embedding + MLP(Multilayer Perceptron)

底層所有特征都做embedding,連接起來,上面再堆疊多層全連接層,這里沒有底層特征的組合,但是在可以在高階組合,學習難度更大。與FM的優勢在於,各個特征embedding的長度可以不用保持一致,這樣的設置更為合理。

FNN

通過FM預訓練embedding,上面再堆疊多層全連接層,是一種特殊的embedding + MLP。

DeepFM

embedding + MLP的方式沒有考慮底層(低階)特征的組合,DeepFM把FM的組合特征引入到 MLP充當”wide部分“,同時MLP也使用了FM的embedding表示聯合訓練。

NFM(Neural Factorization Machines)

FM是把兩個向量做內積,即先把對應位置的元素相乘,后直接相加求和當做組合特征。NFM讓兩個特征的向量元素相乘,但是不急於直接求和組成特征,而是把所有組合特征元素在各自對應的位置累加起來,做當MLP的輸入,個人感覺這種操作底層特征的信息丟失很大。

AFM(Attention Factorization Machine)

所有組合特征元素在各自對應的位置累加起來,AFM在NFM的基礎上加入attention子網絡,不再是平均求和,而是加權求和。

PNN(Product-based Neural Network)

DeepFM把FM的組合特征引入到 MLP充當”wide部分“,PNN直接FM的組合特征的內積或外積當做deep部分輸入,但是這樣又會導致product層的節點數至少是輸入Field數的平方級別,為了降低節點數,采用外積后的sum pooling降低復雜度,又回到NFM的路子。

DCN(Deep&Cross Network)

采用了殘差網絡的思想,在高階進行特征組合,殘差 = 上一個隱層的轉置 * 該層參數w * 第一個隱層,其中w是要學習的參數,上一個隱層的轉置 * w 實際上就是個標量了。下一個隱藏 = 殘差 + 上一個隱層+ 偏置項。


免責聲明!

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



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