浅析神经协同过滤NCF在推荐系统的应用
NCF在推薦領域應用背景
CF,也就是協同過濾,在推薦領域有極其廣泛的應用,應該沒有誰的智能推薦系統是沒用到過CF的。CF其實就是挖掘user和item的交互關系,然后生成I2I或者U2I表示向量。傳統的CF從數學角度上還是偏行為統計計算的,沒有用到很復雜的網絡。因為深度學習很火,也是有一些關于Neural Collaborative Filtering的工作。今天介紹一下最近看的叫《Neural Collaborative Filtering》這篇論文。也有一個對應的開源項目,地址:
https://github.com/hexiangnan/neural_collaborative_filtering
有興趣的做推薦相關工作的同學,可以在自己的工作中用用。
隱式反饋vs顯式反饋
其實把任何算法前面加個N,改成neural某某都是比較好發paper或者取得效果的。這篇文章比較有意思的一個點我覺得不在于將GMF或者MLP加在CF中,而是為CF構建了一套針對隱式反饋的建模理論。
說到這里先要提下隱式反饋和顯式反饋。首先推薦業務一般都是按照有監督學習方式建模,也就是說要構建特征和目標列。在目標列的選擇上一般會認為購買、點擊、收藏這種行為是正樣本,標記成label=1,其它行為全都是0。
但是這其中有一些問題,有的時候點擊了的不一定是用戶真正喜歡的,沒點擊的不一定是用戶不喜歡的。
在虎撲上經常看到這樣的問題:
以上9個女生哪個最好看,大部分人會給出最好看的那個選擇,但是并不表明他覺得剩下8個不好看。如果只以他覺得最好看的那個女生作為正樣本去構建他的審美模型,肯定是不能完全覆蓋用戶的興趣,這是顯式反饋的建模機制。
對應以上的問題,隱式反饋是另一種建模方案,在隱式反饋中只要用戶去看了某個女生,就把這個女生當成正樣本,不看的當成負樣本,這樣就減少了構建樣本時的誤差(畢竟不感興趣的也不會去看)。也就是說隱式反饋更多地是算一個概率,user和item是否會發生交互。
NCF網絡結構
網絡結構如上,底層輸入是user和item的one-hot編碼結果。在網絡訓練層使用了兩種網絡結構,一種是GMF(Geberakuzed Matrix Factorization),另一種是MLP(Multi-Layer perceptron)。通過將GMF和MLP的輸出特征結合,最終通過NeuMF Layer去產出user和item交互的概率。就不展開解釋了,具體推導見論文。
總之,通過NCF可以比較快速的user和item的潛在交互概率,可以作為推薦系統中的一個重要的召回鏈路輸入。
參考文獻:
[1]https://blog.csdn.net/xxiaobaib/article/details/99116755
總結
以上是生活随笔為你收集整理的浅析神经协同过滤NCF在推荐系统的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用TensorFlow2.0为胆固醇、
- 下一篇: 通过AI技术研究网红对其粉丝的消费品牌意