1. 程式人生 > >聊聊CTR預估演算法DeepFM

聊聊CTR預估演算法DeepFM

DeepFM這種演算法是一種基於分解機的神經網路,該演算法由哈爾濱工業大學深圳研究生院聯合華為諾亞方舟實驗室於2017年提出的。

這種演算法是一種端到端的學習模型,不僅考慮了低階的特徵融合,也考慮了高階的特徵融合。該演算法利用深度學習來學習特徵,利用分解機做推薦。

本圖給出了DeepFM的示意圖。其中的“寬”元素和“深”元素共享同樣的輸入,它們的輸入都是原始的特徵向量。這種結構可以使得DeepFM從原生特徵中同時學到低階的特徵之間的相互作用和高階的特徵之間的相互作用。

分解機模型可以通過將隱含因子作內積來學到結對的特徵之間的互動作用,並且能夠取得較好的效果。從原理上來講,分解機模型可以學到更高階的特徵,但是實際應用中一般只考慮二階的,更高階的計算複雜度會更高。

DeepFM中的分解機用於學習低階的特徵之間的互動作用,深度神經網路用於學習高階的特徵之間的相互作用。

在資料處理部分,針對類別型別的資料,一般用one-hot編碼來處理,針對連續型變數,保留值本身即可,也可以離散化之後利用one-hot編碼來處理。

DeepFM中的FM結構如下

FM的輸出形式如下

其中既包含了一階的特徵,也包含了二階的特徵。

深層神經網路的結構如下

注意,這裡的深層神經網路,是深層的前饋神經網路,用來學習高階特徵。

其中嵌入層的結構如下

值得注意的是,這裡的嵌入層允許輸入層的節點數不一樣,而嵌入以後節點數保持一致。分解機中所學到的權重可以用於將輸入層對映到嵌入層。

下圖給出了比較類似的網路結構

各個模型相互之間的比較如下

各模型執行時間比較

效能比較如下

容易看出,DeepFM的效果最好

啟用函式型別的影響

容易看出針對DeepFM,relu的表現優於tanh。

dropout對模型的影響

容易看出dropout的比例對DeepFM有一定的影響,取值0.9時效果最好。其中dropout的值表示保留某個神經元的概率。

神經元個數對模型的影響

容易看出,單元數對DeepFM的影響不顯著。

網路層數對模型的影響

容易看出,層數對DeepFM的影響不是那麼顯著。

網路形狀對模型的影響

其中constant的形狀為200-200-200,即每一層都有200個單元,increasing為100-200-300,即單元數隨層數的增大而變大,decreasing為300-200-100,即單元數隨層數的減小而變小,diamond為150-300-150,即單元數先變大後變小。容易看出,網路形狀對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.