聊聊CTR预估算法DeepFM
DeepFM這種算法是一種基于分解機的神經(jīng)網(wǎng)絡(luò),該算法由哈爾濱工業(yè)大學(xué)深圳研究生院聯(lián)合華為諾亞方舟實驗室于2017年提出的。
?
這種算法是一種端到端的學(xué)習(xí)模型,不僅考慮了低階的特征融合,也考慮了高階的特征融合。該算法利用深度學(xué)習(xí)來學(xué)習(xí)特征,利用分解機做推薦。
?
本圖給出了DeepFM的示意圖。其中的“寬”元素和“深”元素共享同樣的輸入,它們的輸入都是原始的特征向量。這種結(jié)構(gòu)可以使得DeepFM從原生特征中同時學(xué)到低階的特征之間的相互作用和高階的特征之間的相互作用。
?
分解機模型可以通過將隱含因子作內(nèi)積來學(xué)到結(jié)對的特征之間的交互作用,并且能夠取得較好的效果。從原理上來講,分解機模型可以學(xué)到更高階的特征,但是實際應(yīng)用中一般只考慮二階的,更高階的計算復(fù)雜度會更高。
?
DeepFM中的分解機用于學(xué)習(xí)低階的特征之間的交互作用,深度神經(jīng)網(wǎng)絡(luò)用于學(xué)習(xí)高階的特征之間的相互作用。
?
在數(shù)據(jù)處理部分,針對類別類型的數(shù)據(jù),一般用one-hot編碼來處理,針對連續(xù)型變量,保留值本身即可,也可以離散化之后利用one-hot編碼來處理。
?
DeepFM中的FM結(jié)構(gòu)如下
?
FM的輸出形式如下
其中既包含了一階的特征,也包含了二階的特征。
?
深層神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如下
?
注意,這里的深層神經(jīng)網(wǎng)絡(luò),是深層的前饋神經(jīng)網(wǎng)絡(luò),用來學(xué)習(xí)高階特征。
?
其中嵌入層的結(jié)構(gòu)如下
值得注意的是,這里的嵌入層允許輸入層的節(jié)點數(shù)不一樣,而嵌入以后節(jié)點數(shù)保持一致。分解機中所學(xué)到的權(quán)重可以用于將輸入層映射到嵌入層。
?
下圖給出了比較類似的網(wǎng)絡(luò)結(jié)構(gòu)
?
各個模型相互之間的比較如下
?
各模型運行時間比較
?
性能比較如下
容易看出,DeepFM的效果最好
?
激活函數(shù)類型的影響
容易看出針對DeepFM,relu的表現(xiàn)優(yōu)于tanh。
?
dropout對模型的影響
容易看出dropout的比例對DeepFM有一定的影響,取值0.9時效果最好。其中dropout的值表示保留某個神經(jīng)元的概率。
?
?
神經(jīng)元個數(shù)對模型的影響
容易看出,單元數(shù)對DeepFM的影響不顯著。
?
?
網(wǎng)絡(luò)層數(shù)對模型的影響
容易看出,層數(shù)對DeepFM的影響不是那么顯著。
?
?
網(wǎng)絡(luò)形狀對模型的影響
其中constant的形狀為200-200-200,即每一層都有200個單元,increasing為100-200-300,即單元數(shù)隨層數(shù)的增大而變大,decreasing為300-200-100,即單元數(shù)隨層數(shù)的減小而變小,diamond為150-300-150,即單元數(shù)先變大后變小。容易看出,網(wǎng)絡(luò)形狀對DeepFM的影響不大。
?
?
參考資料
Guo, Huifeng, Ruiming Tang, Yunming Ye, Zhenguo Li, and Xiuqiang He. "Deepfm: A factorization-machine based neural network for CTR prediction."?arXiv preprint arXiv:1703.04247(2017).
?
Zhang, Weinan, Tianming Du, and Jun Wang. "Deep learning over multi-field categorical data." In?European conference on information retrieval, pp. 45-57. Springer, Cham, 2016.
?
Sedhain, Suvash, Aditya Krishna Menon, Scott Sanner, and Lexing Xie. "Autorec: Autoencoders meet collaborative filtering." In?Proceedings of the 24th International Conference on World Wide Web, pp. 111-112. ACM, 2015.
?
Salakhutdinov, Ruslan, Andriy Mnih, and Geoffrey Hinton. "Restricted Boltzmann machines for collaborative filtering." In?Proceedings of the 24th international conference on Machine learning, pp. 791-798. ACM, 2007.
?
Rendle, Steffen. "Factorization machines." In?Data Mining (ICDM), 2010 IEEE 10th International Conference on, pp. 995-1000. IEEE, 2010.
?
Cheng, Heng-Tze, Levent Koc, Jeremiah Harmsen, Tal Shaked, Tushar Chandra, Hrishi Aradhye, Glen Anderson et al. "Wide & deep learning for recommender systems." In?Proceedings of the 1st Workshop on Deep Learning for Recommender Systems, pp. 7-10. ACM, 2016.
?
Covington, Paul, Jay Adams, and Emre Sargin. "Deep neural networks for youtube recommendations." In?Proceedings of the 10th ACM Conference on Recommender Systems, pp. 191-198. ACM, 2016.
?
Juan, Yuchin, Yong Zhuang, Wei-Sheng Chin, and Chih-Jen Lin. "Field-aware factorization machines for CTR prediction." In?Proceedings of the 10th ACM Conference on Recommender Systems, pp. 43-50. ACM, 2016.
總結(jié)
以上是生活随笔為你收集整理的聊聊CTR预估算法DeepFM的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何利用DeepFM算法设计推荐系统
- 下一篇: 考究Hadoop中split的计算方法