【說明】
本文翻譯自新加坡國立大學何向南博士 et al.發布在《World Wide Web》(2017)上的一篇論文《Neural Collaborative Filtering》。本人英語水平一般+學術知識匱乏+語文水平拙劣,翻譯權當進一步理解論文和提高專業英語水平,translate不到key point還請見諒。
何博士的主頁:http://www.comp.nus.edu.sg/~xiangnan/
本文原文:http://www.comp.nus.edu.sg/~xiangnan/papers/ncf.pdf
P.S. 何博士的論文一般都是paper+slide+code齊全,學習起來很方便
翻譯過程中,不確定的詞組都會附英文原文,另外自己的補充會用括號+傾斜加粗的形式給出,以助於理解。
【翻譯正文】
神經協同過濾
摘要
近年來,深層神經網絡在語音識別,計算機視覺和自然語言處理方面都取得了巨大的成功。然而相對的,對應用深層神經網絡的推薦系統的探索卻受到較少的關注。在這項工作中,我們力求開發一種基於神經網絡的技術,來解決在含有隱形反饋的基礎上進行推薦的關鍵問題————協同過濾。
盡管最近的一些工作已經把深度學習運用到了推薦中,但是他們主要是用它(深度學習)來對一些輔助信息(auxiliary information)建模,比如描述文字的項目和音樂的聲學特征。當涉及到建模協同過濾的關鍵因素(key factor)————用戶和項目(item)特征之間的交互的時候,他們仍然采用矩陣分解的方式,並將內積(inner product)做為用戶和項目的潛在特征點乘。通過用神經結構代替內積這可以從數據中學習任意函數,據此我們提出一種通用框架,我們稱它為NCF(Neural network-based Collaborative Filtering,基於神經網絡的協同過濾)。NCF是一種通用的框架,它可以表達和推廣矩陣分解。為了提升NFC的非線性建模能力,我們提出了使用多層感知機去學習用戶-項目之間交互函數(interaction function)。在兩個真實世界(real-world)數據集的廣泛實驗顯示了我們提出的NCF框架對最先進的方法的顯著改進。
關鍵字
協同過濾,神經網絡,深度學習,矩陣分解,隱性反饋(Implicit Feedback).
1. 引言
在信息爆炸的時代,推薦系統在減輕信息過載方面發揮了巨大的作用,被眾多在線服務,包括電子商務,網絡新聞和社交媒體等廣泛采用。個性化推薦系統的關鍵在於根據過去用戶交互的內容(e.g. 評分,點擊),對用戶對項目的偏好進行建模,就是所謂的協同過濾[31,46]。在眾多的協同過濾技術中,矩陣分解(MF)[14,21]是最受歡迎的,它將用戶和項目映射到共享潛在空間(shared latent space),使用潛在特征向量(latent features),用以表示用戶或項目。這樣一來,用戶在項目上的交互就被建模為它們潛在向量之間的內積。
由於Netflix Prize的普及,MF已經成為了潛在因素(latent factor)建模推薦的默認方法。已經有大量的工作致力於增強MF(的性能),例如將其與基於鄰居(相鄰用戶or項目)的模型集成[21],與項目內容的主題模型[38]相結合,還有將其擴展到因式分解機(factorization machines)[26],以實現特征的通用建模。盡管MF對協同過濾有效,但眾所周知,其性能可以被簡單選擇交互函數(內積)所阻礙。例如,對於顯式反饋的評估預測任務,可以通過將用戶和項目偏移項納入交互函數來改善MF模型的性能1。雖然內積算子[14]似乎只是一個微不足道的調整,但它指出了設計一個更好的專用交互函數,用於建模用戶和項目之間的潛在特征交互的積極效果。簡單地將潛在特征的乘積線性組合的內積可能不足以捕捉用戶交互數據的復雜結構。
1http://alex.smola.org/teaching/berkeley2012/slides/8_Recommender.pdf
本文探討了使用深層神經網絡來學習數據的交互函數,而不是那些以前已經完成的手動工作(handcraft)[18,21]。神經網絡已經被證明有擬合任何連續函數的能力[17],最近深層神經網絡(DNN)被發掘出在幾個領域的出色表現:從計算機視覺,語音識別到文本處理[5,10,15,47]。然而,與廣泛的MF方法文獻相比,使用DNNs進行推薦的工作相對較少。雖然最近的一些研究進展[37,38,45]已經將DNN應用於推薦任務,並展示出不錯的效果,但他們大多使用DNN來建模一些輔助信息,例如物品的文字描述,音樂的音頻特征和圖像的視覺內容(描述)。對於影響建模效果的關鍵因素——協同過濾,他們仍然采用MF,使用內積結合用戶和項目潛在特征。
我們這項工作是通過形式化用於協同過濾的神經網絡建模方法來解決上述研究問題。我們專注於隱性反饋(implicit feedback),通過參考觀看視頻,購買產品和點擊項目等間接反映用戶偏好的行為。與顯性反饋(explicit feedback)(i.e. 評級和評論)相比,隱性反饋可以自動跟蹤,從而更容易為內容提供商所收集。但是,由於隱性反饋不能反映用戶的滿意度,並且負反饋(negative feedback)存在自然稀疏(natural scarcity)問題,使得這個問題更具挑戰性。在本文中,我們探討了如何利用DNN來模擬噪聲隱性反饋信號的中心問題。
這項工作的主要貢獻有如下幾點:
1、我們提出了一種神經網絡結構來模擬用戶和項目的潛在特征,並設計了基於神經網絡的協同過濾的通用框架NCF。
2、我們表明MF可以被解釋為NCF的特例,並利用多層感知器來賦予NCF高水平的非線性建模能力。
3、我們對兩個現實世界的數據集進行廣泛的實驗,以證明我們的NCF方法的有效性和對使用深度學習進行協作過濾的承諾。
2. 准備工作
我們首先把問題形式化,並討論現有的隱性反饋協同過濾解決方案。然后,我們簡要概括廣泛使用的MF模型,重點指出使用內積所造成的對模型的限制。
2.1 學習隱性數據
令\(\ M\ \)和\(\ N\ \)分別表示用戶和項目的數量。我們將從用戶的隱性反饋得到的用戶-項目交互矩陣\(\ Y\in\mathbb{R}^{M\times N}\ \)定義為:
\(y_{ui}=\{_{0,otherwise.}^{1,if\ interaction(user\ u,item\ i)is\ observed;}\ \ \ \ (1)\)
這里 \(\ y_{ui}\ \)為 1 表示用戶 \(u\) 和項目 \(i\) 存在交互記錄;然而這並不意味着 \(u\) 真的喜歡 \(i\)。同樣的,值 0 也不是表明 \(u\) 不喜歡 \(i\),也有可能是這個用戶根本不知道有這個項目。這對隱性反饋的學習提出了挑戰,因為它提供了關於用戶偏好的噪聲信號。雖然觀察到的條目至少反映了用戶對項目的興趣,但是未查看的條目可能只是丟失數據,並且這其中存在自然稀疏的負反饋。
在隱性反饋上的推薦問題可以表達為估算矩陣 \(Y\) 中未觀察到的條目的分數問題(這個分數被用來評估項目的排名)。基於模型的方法假定這些缺失的數據可以由底層模型生成(或者說描述)。形式上它可以被抽象為學習函數 \(\hat{y}_{ui}=f(u,i|\Theta)\) ,其中 \(\hat{y}_{ui}\) 表示交互 \(\ y_{ui}\ \)的預測分數,\(\Theta\) 表示模型參數,\(f\) 表示表示模型參數映射到預測分數的函數(我們把它稱作交互函數)。
為了估計參數Θ,現有的方法一般是遵循機器學習范例,優化目標函數。在文獻中最常用到兩種損失函數:逐點損失[14,19](pointwise loss)和成對損失[27,33] (pairwise loss) 。由於顯性反饋研究上豐富的工作的自然延伸[21,46],在逐點的學習方法上通常是遵循的回歸模式,最小化 \(\hat{y}_{ui}\) 及其目標值 \(\ y_{ui}\ \)之間的均方誤差。同時為了處理沒有觀察到的數據,他們要么將所有未觀察到的條目視作負反饋,要么從沒有觀察到條目中抽樣作為負反饋實例[14]。對於成對學習[27,44],做法是,觀察到的條目應該比未觀察到的那些條目的排名更高。因此,成對學習最大化觀察項 \(\hat{y}_{ui}\) 和未觀察到的條目 \(\hat{y}_{ui}\) 之間的空白,而不是減少 \(\hat{y}_{ui}\) 和 \(\ y_{ui}\ \)之間的損失誤差。
更進一步,我們的NCF框架利用神經網絡,參數化相互作用函數 \(f\),從而估計 \(\hat{y}_{ui}\)。因此,它就很自然地同時支持點損失和成對損失。
2.2 矩陣分解
MF(Matrix Factorization)用一個潛在特征向量實值將每個用戶和項目關聯起來。令 \(\mathbf{\mathrm{p}}_{u}\) 和 \(\mathbf{\mathrm{q}}_{i}\) 分別表示用戶 \(u\) 和項目 \(i\) 的潛在向量;MF評估相互作用\(\ y_{ui}\ \)作為 \(\mathbf{\mathrm{p}}_{u}\) 和 \(\mathbf{\mathrm{q}}_{i}\) 的內積:
\(\hat{y}_{u,i}=f(u,i|\mathbf{\mathrm{p}_{u}},\mathbf{\mathrm{q}_{i}})=\mathbf{\mathrm{p}_{u}^{T}}\mathbf{\mathrm{q}_{i}}=\sum_{k=1}^{K}p_{uk}q_{ik},\ \ \ \ (2)\)
這里的 \(K\) 表示潛在空間(latent space)的維度。正如我們所看到的,MF模型是用戶和項目的潛在因素的雙向互動,它假設潛在空間的每一維都是相互獨立的並且用相同的權重將它們線性結合。因此,MF可視為潛在因素(latent factor)的線性模型。

圖1(Figure 1)展示了的內積函數(inner product function)如何限制MF的表現力。這里有兩個背景必須事先說明清楚以便於更好地了解例子。第一點,由於MF將用戶和項目映射到同一潛在空間中,兩個用戶之間的相似性也可以用內積,或者潛在向量之間的角度的余弦值來衡量2。第二點,不失一般性,我們使用Jaccard系數3作為MF需要恢復的兩個用戶的真實狀況之間的相似度。
2假定潛在向量都是單位長度
3令 \(\boldsymbol{R}_{u}\) 表示與用戶 \(u\) 交互的項目集,那么用戶 \(u\) 和 \(j\) 之間的Jaccard相似系數就被定義為:
\(s_{ij}=\frac{|\boldsymbol{R}_{i}|\cap|\boldsymbol{R}_{j}|}{|\boldsymbol{R}_{i}|\cup|\boldsymbol{R}_{j}|}\)
我們首先關注的圖1(a)中的前三行(用戶)。很容易可以計算出 \(s_{23}(0.66)>s_{12}(0.5)>s_{13}(0.4)\) 。這樣,\(\bf p_{1}\),\(\bf p_{2}\) 和 \(\bf p_{3}\) 在潛在空間中的幾何關系可繪制成圖1(b)。現在,讓我們考慮一個新的用戶 \(u_{4}\),它的輸入在圖1(a)中的用虛線框出。我們同樣可以計算出 \(s_{41}(0.6)>s_{43}(0.4)>s_{42}(0.2)\) ,表示 \(u_{4}\) 最接近 \(u_{1}\),接着是 \(u_{3}\) ,最后是 \(u_{2}\) 。然而,如果MF模型將 \(\bf p_{4}\) 放在了 最接近 \(\bf p_{1}\) 的位置(圖1(b) 中的虛線展示了兩種不同的擺放 \(\bf p_{4}\) 的方式,結果一樣),那么會使得 \(\bf p_{4}\) 相比與 \(\bf p_{3}\) 更接近於 \(\bf p_{2}\) (顯然,根據圖1(a),\(u_{4}\) 應該更接近 \(u_{3}\)),這會導致很大的排名誤差(ranking loss)。
上面的示例顯示了MF因為使用一個簡單的和固定的內積,來估計在低維潛在空間中用戶-項目的復雜交互,從而所可能造成的限制。我們注意到,解決該問題的方法之一是使用大量的潛在因子 \(K\) (就是潛在空間向量的維度)。然而這可能對模型的泛化能力產生不利的影響(e.g. 數據的過擬合問題),特別是在稀疏的集合上。在本文的工作中,我們通過使用DNNs從數據中學習交互函數,突破了這個限制。
3. 神經協同過濾
我們首先提出的總體框架NCF,闡述NCF如何學習強調了隱式數據的二進制屬性的概率模型。然后,我們展示了,MF能夠表達為NCF 的推廣(MF矩陣分解模型是NCF的一個特例)。我們探索DNNs在協同過濾上的應用,提出了NCF的一個實例,它采用了多層感知器(MLP)來學習用戶-項目交互函數。最后,我們在NCF框架下結合了MF和MLP,提出了一種新的神經矩陣分解模型(neural matrix factorization model);它統一了在建模用戶項目潛在結構方面,MF的線性建模優勢和MLP的非線性優勢。
3.1 通用框架
為了允許神經網絡對協同過濾進行一個完整的處理,我們采用圖2(Figure 2)展示的多層感知機去模擬一個用戶項目交互 \(y_{ui}\) ,它的一層的輸出作為下一層的輸入。底部輸入層包括兩個特征向量 \({\bf v}_u^U\) 和 \({\bf v}_i^I\) ,分別用來描述用戶 \(u\) 和項目 \(i\) 。 他們可以進行定制,用以支持廣泛的用戶和項目的建模,例如上下文感知[28,1],基於內容[3],和基於鄰居的構建方式[26]。由於本文工作的重點是純的協同過濾模型設置,我們僅使用一個用戶和一個項目作為輸入特征,它使用one-hot編碼將它們轉化為二值化稀疏向量。注意到,我們對輸入使用這樣的通用特征表示,可以很容易地使用的內容特征來表示用戶和項目,以調整解決冷啟動問題。

輸入層上面是嵌入層(Embedding Layer);它是一個全連接層,用來將輸入層的稀疏表示映射為一個稠密向量(dense vector)。所獲得的用戶(項目)的嵌入(就是一個稠密向量)可以被看作是在潛在因素模型的上下文中用於描述用戶(項目)的潛在向量。然后我們將用戶嵌入和項目嵌入送入多層神經網絡結構,我們把這個結構稱為神經協作過濾層,它將潛在向量映射為預測分數。NCF層的每一層可以被定制,用以發現用戶-項目交互的某些潛在結構。最后一個隱含層 \(X\) 的維度尺寸決定了模型的能力。最終輸出層是預測分數 \(\widehat{y}_{ui}\) ,訓練通過最小化 \(\widehat{y}_{ui}\) 和其目標值 \(y_{ui}\) 之間逐點損失進行。我們注意到,另一種方式來訓練模型是通過成對學習,如使用個性化貝葉斯排名[27]和基於余量的損失(margin-based)[33]。由於本文的重點是對神經網絡建模部分,我們將使用成對學習訓練NCF留給今后的工作。
當前我們制定的NCF預測模型如下:
\(\widehat{y}_{ui}=f({\bf P}^{T}{\bf v}_u^U,{\bf Q}^{T}{\bf v}_i^I|{\bf P},{\bf Q},\Theta_{f}),\ \ \ \ (3)\)
其中 \({\bf P}\in \mathbb{R}^{M\times K}\), \({\bf Q}\in \mathbb{R}^{N\times K}\),分別表示用戶和項目的潛在因素矩陣;\(\Theta_{j}\) 表示交互函數 \(f\) 的模型參數。由於函數 \(f\) 被定義為多層神經網絡,它可以被定制為:
\(f({\bf P}^{T}{\bf v}_u^U,{\bf Q}^{T}{\bf v}_i^I)=\phi_{out}(\phi_{X}(...\phi_{2}(\phi_{1}({\bf P}^{T}{\bf v}_u^U,{\bf Q}^{T}{\bf v}_i^I))...)),\ \ \ \ (4)\)
其中 \(\phi_{out}\) 和 \(\phi_{x}\) 分別表示為輸出層和第 \(x\) 個神經協作過濾(CF)層映射函數,總共有 \(X\) 個神經協作過濾(CF)層。
3.1.1 NCF學習
學習模型參數,現有的逐點學習方法[14,39]主要運用均方誤差(squared loss)進行回歸:
\(L_{sqr}=\sum_{(u,i)\in{\bf{y}\cup\bf{y^{-}}}}w_{ui}(y_{ui}-\widehat{y}_{ui})^{2},\ \ \ \ (5)\)
其中 \(\bf{y}\) 表示交互矩陣 \(\bf Y\) 中觀察到的條目(如對電影有明確的評分,評級), \(\bf{y^{-}}\) 表示消極實例(negative instances,可以將未觀察的樣本全體視為消極實例,或者采取抽樣的方式標記為消極實例); \(w_{ui}\) 是一個超參數,用來表示訓練實例 \((u,i)\) 的權重。雖然均方誤差可以通過假設觀測服從高斯分布[29]來作出解釋,我們仍然指出,它不適合處理隱性數據(implicit data)。這是因為對於隱含數據來說,目標值 \(y_{ui}\) 是二進制值1或0,表示 \(u\) 是否與 \(i\) 進行了互動。在下文中,我們提出了逐點學習NCF的概率學方法,特別注重隱性數據的二進制屬性。
考慮到隱性反饋的一類性質,我們可以將 \(y_{ui}\) 的值作為一個標簽————1表示項目 \(i\) 和用戶 \(u\) 相關,否則為0。這樣一來預測分數 \(\widehat{y}_{ui}\) 就代表了項目 \(i\) 和用戶 \(u\) 相關的可能性大小。為了賦予NCF這樣的概率解釋,我們需要將網絡輸出限制到[0,1]的范圍內,通過使用概率函數(e.g. 邏輯函數sigmoid或者probit函數)作為激活函數作用在輸出層 \(\phi_{out}\) ,我們可以很容易地實現數據壓縮。經過以上設置后,我們這樣定義似然函數:
\(p\left(\bf{y},\bf{y^{-}}|{\bf P},{\bf Q},\Theta_f\right)=\prod_{(u,i)\in\bf{y}}\widehat{y}_{ui}\prod_{(u,i)\in\bf{y}^{-}}\left(1-\widehat{y}_{ui}\right).\ \ \ \ (6)\)
對似然函數取負對數,我們得到(負對數可以用來表示Loss函數,而且還能消除小數乘法的下溢出問題):
\(L=-\sum_{(u,i)\in\bf{y}}\log\widehat{y}_{ui}-\sum_{(u,i)\in\bf{y}^{-}}\log\left(1-\widehat{y}_{ui}\right)=\sum_{(u,i)\in\bf{y}\cup\bf{y}^{-}}y_{ui}\log\widehat{y}_{ui}+\left(1-y_{ui}\right)\log\left(1-\widehat{y}_{ui}\right).\ \ \ \ (7)\)
這是NCF方法需要去最小化的目標函數,並且可以通過使用隨機梯度下降(SGD)來進行訓練優化。細心的讀者可能發現了,這個函數和二類交叉熵損失函數(binary cross-entropy loss,又被成為log loss)是一樣的。通過在NCF上使用這樣一個概率處理(probabilistic treatment),我們把隱性反饋的推薦問題當做一個二分類問題來解決。由於分類用的交叉熵損失很少出現在有關推薦的文獻中,我們將在這項工作中對它進行探討,並在4.3節展示它的有效性。對於消極實例 \(\bf{y}^{-}\) ,我們在每次迭代均勻地從未觀察到的相互作用中采樣(作為消極實例)並且對照可觀察到交互的數量,控制采樣比率。雖然非均勻采樣策略(例如,基於項目流行度進行采樣[14,12])可能會進一步提高模型性能,我們將這方面的探索作為今后的工作。
3.2 廣義矩陣分解
我們現在來證明MF是如何被解釋為我們的NCF框架的一個特例。由於MF是推薦領域最流行的模型,並已在眾多文獻中被廣泛的研究,復現它能證明NCF可以模擬大部分的分解模型[26]。由於輸入層是用戶(項目)ID中的一個one-hot encoding編碼,所獲得的嵌入向量可以被看作是用戶(項目)的潛在向量。我們用 \({\bf{P}}^{T}{\bf{v}}_u^U\) 表示用戶的潛在向量 \({\bf{p}}_{u}\) ,\({\bf{Q}}^{T}{\bf{v}}_i^I\) 表示項目的潛在向量 \({\bf{q}}_{i}\) ,我們定義第一層神經CF層的映射函數為:
\(\phi_{1}\left({\bf{p}}_{u},{\bf{q}}_{i}\right)={\bf{p}}_{u}\odot{\bf{q}}_{i},\ \ \ \ (8)\)
其中 \(\odot\) 表示向量的逐元素乘積。然后,我們將向量映射到輸出層:
\(\widehat{y}_{ui}=a_{out}\left({\bf h}^{T}\left({\bf{p}}_{u}\odot{\bf{q}}_{i} \right)\right),\ \ \ \ (9)\)
其中 \(a_{out}\) 和 \({\bf h}\) 分別表示輸出層的激活函數和連接權。直觀地講,如果我們將 \(a_{out}\) 看做一個恆等函數, \({\bf h}\) 權重全為1,顯然這就是我們的MF模型。在NCF的框架下,MF可以很容易地被泛化和推廣。例如,如果我們允許從沒有一致性約束(uniform constraint)的數據中學習 \({\bf h}\) ,則會形成MF的變體,它允許潛在維度的不同重要性(這句話不好翻譯,原文放在這里For example, if we allow \({\bf h}\) to be learnt from data without the uniform constraint, it will result in a variant of MF that allows varying importance of latent dimensions)。如果我們用一個非線性函數 \(a_{out}\) ,將進一步推廣MF到非線性集合,使得模型比線性MF模型更具有表現力。在本文的工作中,我們在NCF下實現一個更一般化的MF,它使用Sigmoid函數 \(σ(x)=1/(1+e^{-x})\) 作為激活函數,通過log loss(第3.1.1節)學習 \({\bf h}\) 。我們稱她為GMF(Generalized Matrix Factorization,廣義矩陣分解)。
3.3 多層感知機(MLP)
由於NCF用兩條路線來對用戶和項目建模(圖2中可以明顯看出用戶和項目兩個輸入),自然地,需要通過兩個路線,把他們各自的特征連接結合起來。這種設計已經在多模態深度學習工作中[47,34]被廣泛采用。然而,簡單地對向量的連接不足以說明用戶和項目之間的潛在特征,這對協同過濾建模來說是不夠的。為了解決這個問題,我們提出在向量連接上增加隱藏層,使用標准的MLP(多層感知機)學習用戶和項目潛在特征之間的相互作用。在這個意義上,我們可以賦予模型高水平的靈活性和非線性建模能力,而不是GMF(廣義矩陣分解)那樣的簡單使用逐元素相乘的內積來描述用戶和項目之間的潛在交互特征。更確切地說,我們的NCF框架下的MLP模型定義為:
\({\bf{z}}_{1}=\phi_{1}\left({{\bf{p}}_{u}},{{\bf{q}}_{i}}\right)=\begin{bmatrix}{{{\bf{p}}_{u}}}\\{{{\bf{q}}_{i}}}\end{bmatrix}\)
\(\phi_{2}({\bf{z}}_{1})=a_{2}\left({\bf{W}}_2^T{\bf{z}}_{1}+{\bf b}_{2}\right),\)
......
\(\phi_{L}({\bf{z}}_{L-1})=a_{L}\left({\bf{W}}_L^T{\bf{z}}_{L-1}+{\bf b}_{L}\right),\)
\(\widehat{y}_{ui}=\sigma\left({\bf{h}}^{T}\phi_{L}\left({\bf{z}}_{L-1}\right)\right),\ \ \ \ \ \ \ \ \ \ (10)\)
這里的 \({\bf W}_{x}\), \({\bf b}_{x}\) 和 \(a_{x}\) 分別表示 \(x\) 層的感知機中的的權重矩陣,偏置向量(神經網絡的神經元閾值)和激活函數。對於MLP層的激活函數,可以選擇sigmoid,雙曲正切(tanh)和ReLU,等等。我們分析一下每個函數:1)sigmoid函數將每個神經元的輸出限制在(0,1),這有可能限制該模型的性能;並且它存在過飽和的問題,當輸出接近1或者0的時候,神經元就會陷入停止學習的困境(這里應該指的是“早停的問題”)。2)雖然雙曲正切是一個更好的選擇,並已被廣泛使用[6,44],但它只是在一定程度上緩和了sigmoid的問題,因為它可以被看作是sigmoid的縮放的版本(\(tanh(x/2)=2σ(x)-1\))。3)因此,我們選擇ReLU,它更具生物合理性(biologically plausible),並且已經被證明不會導致過飽和[9];此外,它支持稀疏的激活(sparse activations),非常適合稀疏的數據,使模型不至於過擬合。我們的實驗結果表明,ReLU的表現略好於雙曲正切函數tanh和sigmoid。
至於網絡結構的設計,一種常見的解決方案是設計一個塔式模型,其中,底層是最寬的,並且每個相繼的層具有更少的神經元數量(如圖2(Figure 2))。(設計這種結構的)前提是,通過在更高層使用少量的隱藏單元,它們可以從數據中學習到更多的抽象特征[10]。根據經驗,我們搭建這樣的塔結構:對於更高的層,相比於之前一層,縮減一半規模。
3.4 結合GMF和MLP
到目前為止,我們已經開發了NCF的兩個實例:GMF,它應用了一個線性內核來模擬潛在的特征交互;MLP,使用非線性內核從數據中學習交互函數。接下來的問題是:我們如何能夠在NCF框架下融合GMF和MLP,使他們能夠相互強化,以更好地對復雜的用戶-項目交互建模?
一個直接的解決方法是讓GMF和MLP共享相同的嵌入層(Embedding Layer),然后再結合它們分別對相互作用的函數輸出。這種方式和著名的神經網絡張量(NTN,Neural Tensor Network)[33]有點相似。具體地說,對於結合GMF和單層MLP的模型可以公式化為:
\(\widehat{y}_{ui}=\sigma({\bf h}^{T}a({\bf p}_u\odot{\bf q}_i)+{\bf W}\begin{bmatrix}{{\bf p}_u}\\{{\bf q}_i}\end{bmatrix}+{\bf b}).\ \ \ \ (11)\)
然而,共享GMF和MLP的嵌入層可能會限制融合模型的性能。例如,它意味着,GMF和MLP必須使用的大小相同的嵌入(embedding,這里指的應該是潛在向量維度,下面的embedding都被譯為嵌入);對於數據集,兩個模型的最佳嵌入尺寸差異很大,使得這種解決方案可能無法獲得最佳的組合。

為了使得融合模型具有更大的靈活性,我們允許GMF和MLP學習獨立的嵌入,並結合兩種模型通過連接他們最后的隱層輸出。圖3(Figure 3)展示了我們的方案,公式如下:
\(\phi^{GMF}={\bf p}_u^G\odot{\bf q}_i^G,\\\phi^{MLP}=a_{L}(W_L^T(a_{L-1}(...a_{2}(W_2^T\begin{bmatrix}{{\bf p}_u^M}\\{{\bf q}_i^M}\end{bmatrix}+{\bf b}_2)...))+{\bf b}_L),\\\widehat{y}_{ui}=\sigma({\bf h}^T\begin{bmatrix}{\phi^{GMF}}\\{\phi^{MLP}}\end{bmatrix}),\ \ \ \ (12)\)
這里的 \({\bf p}_u^G\) 和 \({\bf p}_u^M\) 分別表示 GMF 部分和 MLP 部分的用戶嵌入(user embedding);同樣的,\({\bf q}_i^G\) 和 \({\bf q}_i^M\) 分別表示項目的嵌入。如之前所討論的,我們使用ReLU作為 MLP層的激活功能。該模型結合MF的線性度和DNNs的非線性度,用以建模用戶-項目之間的潛在結構。我們將這一模式稱為“NeuMF”,簡稱神經矩陣分解(Neural Matrix Factorization)。該模型的每個模型參數都能使用標准反向傳播(back-propagation)計算,由於空間限制這里就不再展開。
3.4.1 預訓練
由於NeuMF的目標函數的非凸性,使得基於梯度的優化方法只能找到局部最優解(這也是訓練一般神經網絡所面臨的問題)。研究表明,初始化(initialization)在深度學習模型的收斂性和性能的方面起到了重要的作用[7]。由於 NeuMF 是 GMF 和 MLP 的組合,我們建議使用 GMF 和 MLP 的預訓練模型來初始化NeuMF。
我們首先訓練隨機初始化的 GMF 和 MLP 直到模型收斂。然后,我們用它們的模型參數初始化 NeuMF 相應部分的參數。唯一的調整是在輸出層,在那里我們將兩者用權重連接起來:
\(h\leftarrow\begin{bmatrix}{\alpha{\bf h}^{GMF}}\\{(1-\alpha){\bf h}^{MLP}} \end{bmatrix},\ \ \ \ (13)\)
這里 \({\bf h}^{GMF}\) 和 \({\bf h}^{MLP}\) 分別表示 GMF 和 MLP 模型預訓練的 \({\bf h}\) 向量; \(\alpha\) 是一個超參數,用來權衡兩個預訓練模型(的比重)。
對於從頭開始訓練的 GMF 和 MLP ,我們采用自適應矩估計(Adam,Adaptive Moment Estimation)[20],它通過對不頻繁的參數進行頻繁和更大幅度的更新來適應每個參數的學習速率。Adam方法在兩種模型上的收斂速度都比普通SGD快,並緩解了調整學習率的痛苦。在將預先訓練的參數輸入NeuMF之后,我們用普通SGD而不是Adam進行優化。 這是因為Adam需要保存更新參數的動量信息(momentum information)。因為我們用預先訓練的模型參數初始化NeuMF,並且放棄保存動量信息,不適合用基於動量的方法進一步優化NeuMF。
4. 實驗
在本節中,我們指導實驗的進行,用以回答以下研究問題:
\(\bf{RQ1}\) 我們提出的NCF方法是否勝過 state-of-the-art 的隱性協同過濾方法?
\(\bf{RQ2}\) 我們提出的優化框架(消極樣本抽樣的log loss)怎樣為推薦任務服務?
\(\bf{RQ3}\) 更深的隱藏單元是不是有助於對用戶項目交互數據的學習?
接下來,我們首先介紹實驗設置,其次是回答上述三個問題。
4.1 實驗設置
\(\bf{Datasets}\)。 我們嘗試了兩個可公開訪問的數據集: MovieLens4 和 Pinterest5 兩個數據集,它們的特征總結在表1中。

4http://grouplens.org/datasets/movielens/1m/
5https://sites.google.com/site/xueatalphabeta/ academic-projects
\(\bf{1. MovieLens}\)。 這個電影評級數據集被廣泛地用於評估協同過濾算法。我們使用的是包含一百萬個評分的版本,每個用戶至少有20個評分。 雖然這是顯性反饋數據集,但我們有意選擇它來挖掘(模型)從顯式反饋中學習隱性信號[21]的表現。為此,我們將其轉換為隱式數據,其中每個條目被標記為0或1表示用戶是否已對該項進行評級。
\(\bf{2. Pinterest}\)。這個隱含的反饋數據的構建[8]用於評估基於內容的圖像推薦。原始數據非常大但是很稀疏。 例如,超過20%的用戶只有一個pin(pin類似於贊一下),使得難以用來評估協同過濾算法。 因此,我們使用與MovieLens數據集相同的方式過濾數據集:僅保留至少有過20個pin的用戶。處理后得到了包含55,187個用戶和1,580,809個項目交互的數據的子集。 每個交互都表示用戶是否將圖像pin在自己的主頁上。
評估方案。 為了評價項目推薦的性能,我們采用了leave-one-out方法評估,該方法已被廣泛地應用於文獻[1,14,27]。即:對於每個用戶,我們將其最近的一次交互作為測試集(數據集一般都有時間戳),並利用余下的培訓作為訓練集。由於在評估過程中為每個用戶排列所有項目花費的時間太多,所以遵循一般的策略[6,21],隨機抽取100個不與用戶進行交互的項目,將測試項目排列在這100個項目中。排名列表的性能由命中率(HR)和歸一化折扣累積增益(NDCG)[11]來衡量。 沒有特別說明的話,我們將這兩個指標的排名列表截斷為10。如此一來,HR直觀地衡量測試項目是否存在於前10名列表中,而NDCG通過將較高分數指定為頂級排名來計算命中的位置。我們計算了每個測試用戶的這兩個指標,並求取了平均分。
基准線(Baselines)。我們NCF方法(GMF,MLP和NeuMF)和下列方法進行了比較:
\(\bf{- ItemPop}\)。按項目的互動次數判斷它的受歡迎程度,從而對項目進行排名。 這對基於評估推薦性能來說是一種非個性化的方法[27]。
\(\bf{- ItemKNN}\)[31]。這是基於項目的標准協同過濾方法。我們遵循[19]的設置來適應隱含數據。
\(\bf{- BPR}\)[27]。該方法優化了使用公式(2)的MF模型,該模型具有成對排序損失,BPR調整它使其可以從隱式反饋中學習。它是項目推薦基准的有力競爭者。我們使用固定的學習率,改變它並報告了它最佳的性能。
\(\bf{- eALS}\)[14]。這是項目推薦的 state-of-the-art 的MF方法。 它優化了公式(5)的均方誤差,將所有未觀察到的交互視作消極實例,並根據項目流行度對它們進行不均勻的加權。由於 eALS 顯示出優於WMF[19]均勻加權方法的性能,我們不再進一步展示報告 WMF 的性能。
我們提出的方法旨在建模用戶和項目之間的關系,我們主要比較用戶-項目模型。因為性能差異可能是由個性化的用戶模型引起的(因為它們是項目-項目模型),所以我們忽略了與項目-項目模型的比較,項目-項目模型有 SLIM[25] 和 CDAE[44]。
參數設置。我們基於Keras6實現了我們提出的方法。為了確定NCF方法的超參數,我們為每個用戶隨機抽取一個交互作為驗證數據並調整其超參數。通過優化公式(7)的對數損失(log loss)來學習所有NCF模型,其中我們對每個積極實例進行四個消極實例的采樣。對於從頭開始訓練的NCF模型,我們采用高斯分布隨機初始化模型參數(平均值為0,標准差為0.01),用小批次Adam[20]優化模型。我們分別測試了批次大小[128,256,512,1024],學習速率為[0.0001,0.0005,0.001,0.005]。 由於NCF的最后一層隱藏層決定了模型的性能,所以我們將其作為預測因子(predictive factors),並分別使用[8,16,32,64]的因素大小進行了模型評估。值得注意的是,大的因子可能導致過擬合,降低性能。 沒有特別說明,我們采用了三層隱藏的MLP; 例如,如果預測因子的大小為8,則神經CF層的結構為32→16→8,嵌入大小為16。對於預訓練過的NeuMF,\(\alpha\) 設置為0.5,允許預訓練的 GMF 和 MLP 對 NeuMF 的初始化做出同樣的貢獻(相同權重)。
4.2 性能比較(\(\bf{RQ1}\))

圖4(Figure 4)顯示了 HR@10 和 NDCG@10 相對於預測因素數量的性能。對於使用MF的方法BPR和eALS,預測因子的數量等於潛在因素的數量。對於ItemKNN,我們測試了不同的鄰居大小並報告了最佳性能。由於ItemPop的性能較差,所以在圖4中略去,以更好地凸顯個性化方法的性能差異。
首先,我們可以看到,NeuMF在兩個數據集上都取得了最好的表現,遠遠超過了最先進的方法eALS和BPR(平均而言,相對於eALS和BPR的相對改善分別為4.5%和4.9%) )。對於Pinterest而言,即使是8的小預測因子,NeuMF也遠遠優於在64維潛在因子下的eALS和BPR。這展現了NeuMF通過融合線性MF和非線性MLP模型的高水平的表達能力。其次,另外兩種NCF方法:GMF和MLP,也表現出相當強勁的性能。其中,MLP略遜於GMF。請注意,MLP可以通過添加更多的隱藏層來進一步改進(參見第4.4節),這里我們只展示使用三層的性能。對於小數目的預測因子,GMF在兩個數據集上都優於eALS;雖然GMF在高緯因子的情況下受到過擬合的影響,但其獲得的最佳性能優於eALS(或差不多)。最后,GMF顯示出與BPR一致的進步,說明了在推薦任務的分類問題中使用log loss的有效性,因為GMF和BPR學習相同的MF模型但具有不同的目標函數。
圖5(Figure 5)顯示了Top-K推薦列表的性能,排名位置K的范圍為1到10。為了使圖像更加清晰,我們僅僅展示了NeuMF的性能,而不是所有三種NCF方法。可以看出,NeuMF表現出與其他方法在位置上的一致性改進,我們進一步進行單樣本配對的t檢驗,驗證所有的改善對p <0.01有統計學意義(這里有點迷)。對於基准方法,eALS在MovieLens上的性能優於BPR大約5.1%,而在NDCG方面則遜於BPR。 這與[14]發現吻合,它指出:由於BPR學習和感知成對排名,它可能在排名上表現出強勁的性能。 基於相鄰(用戶或者項目)的ItemKNN表現則遜於基於模型的方法。 而ItemPop表現最差,表明用戶對個人喜好的建模是必要的,而不是僅向用戶推薦熱門項目。
4.2.1 預訓練的作用
為了展示NeuMF預訓練的效果,我們比較了NeuMF兩種版本的性能,並且沒有預訓練。 對於沒有預訓練的NeuMF,我們使用了Adam隨機初始化。如表2所示,在大多數情況下,具有預訓練的NeuMF表現出了更好的性能; 只有對於具有8的小預測因子的MovieLens,預訓練方法執行稍差一些。 對於MovieLens和Pinterest,NeuMF與預訓練的相對改進分別為2.2%和1.1%。 這個結果證明了我們的預訓練方法對初始化NeuMF是有用的。

4.3 對消極采樣使用Log Loss(\(\bf{RQ2}\))
為了處理隱性反饋的一類性質,我們將推薦作為一個二分類任務。我們將NCF視為概率模型,使用log loss對其進行了優化。圖6(Figure 6)顯示了NCF方法在MovieLens上每次迭代的訓練損失(所有實例的平均值)和推薦性能。在Pinterest上的結果顯示相同的趨勢,由於空間限制而被省略。首先,我們可以看到,隨着迭代次數的增多,NCF模型的訓練損失逐漸減少,推薦性能得到提高。最有效的更新發生在前10次迭代中,更多的迭代可能使模型過擬合(例如,雖然NeuMF的訓練損失在10次迭代之后持續下降,但其推薦性能實際上降低)。其次,在三種NCF方法中,NeuMF達到最低的訓練損失,其次是MLP,然后是GMF。推薦性能也顯示出與NeuMF> MLP> GMF相同的趨勢。上述實驗結果為優化從隱性數據學習的log loss的合理性和有效性提供了經驗證據。

對於成對目標函數的逐點log loss(對數損失)的優勢[27,33]是對於消極實例的靈活采樣率。不像成對目標函數只能將一個采樣消極實例與一個積極實例配對,逐點損失我們可以靈活地控制采樣率。為了說明消極采樣對NCF方法的影響,我們在不同的消極實例采樣比下展示了NCF方法的性能。如圖7所示。可以清楚地看到,每個積極實例只有一個消極實例不足以達到模型的最佳性能,而抽樣更多的消極實例則是有益的。將GMF與BPR進行比較,我們可以看出,采樣率為1成的GMF的性能與BPR相當,而GMF在采樣率較高的情況下性能明顯高於BPR。這表明了相較於成對BPR損失,逐點對數損失的優勢所在。對於兩個數據集,最佳采樣率約為3比6。在Pinterest上,我們發現當采樣率大於7時,NCF方法的性能開始下降。這說明,設置過大的采樣率可能會對性能產生不利影響。
4.4 深度學習helpful?(\(\bf{RQ3}\))
由於使用神經網絡學習用戶-項目之間交互函數的工作很少,因此,使用深層網絡結構是否有利於推薦任務是值得思考的。 為此,我們進一步研究了具有不同隱藏層數的MLP。 結果總結在表3和表4中。MLP-3表示具有三個隱藏層(除了嵌入層)的MLP方法,其他類似的符號具有相似的意義。 我們可以看到,即使具有相同能力的模型,堆疊更多的層也有利於性能的提升。 這個結果非常令人鼓舞,它表明使用深層模型進行協同推薦的有效性。 我們將性能提升歸功於堆疊更多非線性層所帶來的高非線性度。 為了驗證這一點,我們進一步嘗試堆疊線性層,使用恆等函數作為激活函數。 性能比使用ReLU單元差很多。


對於沒有隱藏層(即,嵌入層直接映射到預測結果)的MLP-0,性能非常弱,不過比非個性化ItemPop更好。這驗證了我們在3.3節中的觀點:簡單地連接用戶和項目的潛在向量不足以對其特征的相互作用進行建模,因此需要使用隱藏層進行變換。
5. 相關工作
關於推薦的早期文獻主要集中在顯性反饋[30,31],而最近工作的重心越來越多地轉向隱性數據[1,14,23]。具有隱性反饋的協同過濾(CF)任務通常被轉化為項目推薦問題,其目的是向用戶推薦一個簡短的項目列表。 與被廣泛采用的通過顯性反饋進行評級預測相反,解決項目推薦的問題更具實踐性,但同時也富有挑戰性[1,11]。 一個關鍵的先驗是對丟失的數據進行建模,這些數據在顯式反饋的工作中常常被忽略[21,48]。為了建立具有隱性反饋的項目推薦的潛在因素模型,早期工作[19,27]使用均勻加權,其中提出了兩種策略,即將所有缺失數據作為消極實例[19]或從缺失數據中抽樣作為消極實例[27]。最近,He等[14]和Liang等人[23]提出了專門的模型來減少丟失的數據,而Rendle等人[1]為基於特征的因式分解模型開發了隱式坐標下降解法(iCD),實現了項目推薦的state-of-the-art。下面我們將討論使用神經網絡的推薦工作。
早期的先驅工作是由Salakhutdinov等人[30]提出的一種兩層限制玻爾茲曼機(RBM)來模擬用戶對項目的明確評級。這項工作后來被擴展到對等級的序數性質進行建模[36]。最近,自動編碼器(autoencoders)已成為構建推薦系統的一般選擇[32,22,35]。基於用戶的AutoRec[32]的想法是學習隱藏的結構,根據用戶的歷史評級作為輸入,可以重建用戶的評分。在用戶個性化方面,這種方法與項目-項目模型[31,25]具有相似之處,它表示用戶作為其評分項目。為了避免自動編碼器學習恆等函數,並且不能將其推廣到不可觀察的數據,它已經應用了去噪自動編碼器(DAE)來學習人為損壞的輸入[22,35]。最近,Zheng等人[48]提出了一種用於CF的神經自回歸(neural autoregressive )方法。雖然以前的努力證明了神經網絡解決CF的有效性,但大多數重點放在明確的評級上,並僅對觀察到的數據進行建模。因此,他們不易於從只有積極樣例的隱性數據中學習用戶的偏好。
雖然最近的工作[6,37,38,43,45]已經探索了基於隱性反饋的深入學習模型,但它們主要使用DNN來建模輔助信息,例如文字描述[38],音樂的聲學特征[37,43],用戶的跨域行為[6]以及知識庫中的豐富信息[45]。然后由MF和CF相結合DNN學習特征。與我們工作最相關的工作是[44],它為CF提供了一個隱性反饋的協同去噪自動編碼器(CDAE)。與基於DAE的CF [35]相反,CDAE還將用戶節點插入自動編碼器的輸入端,以重建用戶的評級。如作者所展示的,當使用恆等函數作為激活函數作用在CDAE的隱藏層時,CDAE相當於SVD++模型[21]。這意味着雖然CDAE雖然是CF的神經建模方法,但是它仍然使用線性內核(即內積)來模擬用戶-項目交互。這可能部分解釋了為什么使用深層CDAE不會提高性能(參見[44]第6節)。與CDAE不同,我們的NCF采用雙通道結構,建立多層前饋神經網絡的模型模擬用戶項目交互。這允許NCF從數據中學習任意函數,比固定內部函數有更強大的表達能力。
順着相似的研究方向,學習兩個實體的關系已經在知識圖(knowledge graphs)的文獻中得到了深入的研究[2,33]。 許多有關的機器學習方法[24]已經被設計出來。 與我們提出的方案最相似的是神經張量網絡(NTN,Neural Tensor Network)[33],它使用神經網絡來學習兩個實體的相互作用並表現出很強勁的性能。這里我們專注於=它與CF的不同設置問題。 盡管將MF與MLP結合在一起的NeuMF的想法是受到了NTN的一定程度的啟發,但是我們的NeuMF比NTN更靈活和通用,它允許MF和MLP學習不同的嵌入式組合。
最近,谷歌公布了他們的通用深度學習方法的App推薦[4]。 深層組件類似地使用特征嵌入的MLP,據稱具有很強的泛化能力。 雖然他們的工作集中在結合用戶和項目的各種特征,但我們的目標是使用DNN探索純粹的協同過濾系統的。我們顯示了對於建模用戶-項目交互,DNN是一個有前途的選擇,以前沒有對此進行調查。
6. 總結和展望
在這項工作中,我們探索了用於協同過濾的神經網絡結構。我們設計了一個通用框架NCF,並提出了三種實例:GMF,MLP和NeuMF,以不同的方式模擬用戶-項目交互。我們的框架簡單而通用; 它不僅限於本文提出的模型,它對深入學習推薦方法的也具有指導意義。這項工作補充了主流淺層協同過濾模型,為深入學習推薦研究開辟了新途徑。
在將來的工作中,我們將研究NCF模型在成對學習中的應用,並將NCF擴展到建模輔助信息,如用戶評論[11],知識庫[45]和時間信號[1]。現有的個性化模式主要集中在個人身上,為用戶群體開發模型將會是一個有趣的發展,這有助於社會團體的決策[15,42]。此外,我們特別感興趣的是建立多媒體項目的推薦系統,這是一個有趣的任務,但在推薦社區中受到相對較少的關注[3]。多媒體項目(如圖像和視頻)包含更豐富的視覺語義[16,41],可以反映用戶的興趣。 要構建多媒體推薦系統,我們需要開發有效的方法來學習多視圖和多模態數據[13,40]。 另一個新出現的方向是探索循環神經網絡和散列方法(hashing methods)[46]的潛力,以提供有效的在線推薦[14]。
鳴謝
作者感謝匿名評審者的寶貴意見,給作者對推薦系統的思考和論文的修訂提供了極大的幫助。
7. 參考文獻
[1] I. Bayer, X. He, B. Kanagal, and S. Rendle. A generic coordinate descent framework for learning from implicit feedback. In WWW, 2017.
[2] A. Bordes, N. Usunier, A. Garcia-Duran, J. Weston, and O. Yakhnenko. Translating embeddings for modeling multi-relational data. In NIPS, pages 2787–2795, 2013.
[3] T. Chen, X. He, and M.-Y. Kan. Context-aware image tweet modelling and recommendation. In MM, pages 1018–1027, 2016.
[4] H.-T. Cheng, L.Koc, J. Harmsen, T. Shaked, T. Chandra, H. Aradhye, G. Anderson, G. Corrado, W. Chai, M. Ispir,et al. Wide & deep learning for recommender systems. arXiv preprint arXiv:1606.07792, 2016.
[5] R. Collobert and J. Weston. A unified architecture for natural language processing: Deep neural networks with multitask learning. In ICML, pages 160–167, 2008.
[6] A. M. Elkahky, Y. Song, and X. He. A multi-view deep learning approach for cross domain user modeling in recommendation systems. In WWW, pages 278–288, 2015.
[7] D. Erhan, Y. Bengio, A. Courville, P.-A. Manzagol, P. Vincent, and S. Bengio. Why does unsupervised pre-training help deep learning? Journal of Machine Learning Research, 11:625–660, 2010.
[8] X. Geng, H. Zhang, J. Bian, and T.-S. Chua. Learning image and user features for recommendation in social networks. In ICCV, pages 4274–4282, 2015.
[9] X. Glorot, A. Bordes, and Y. Bengio. Deep sparse rectifier neural networks. In AISTATS, pages 315–323, 2011.
[10] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016.
[11] X. He, T. Chen, M.-Y. Kan, and X. Chen. TriRank: Review-aware explainable recommendation by modeling aspects. In CIKM, pages 1661–1670, 2015.
[12] X. He, M. Gao, M.-Y. Kan, Y. Liu, and K. Sugiyama. Predicting the popularity of web 2.0 items based on user comments. In SIGIR, pages 233–242, 2014.
[13] X. He, M.-Y. Kan, P. Xie, and X. Chen. Comment-based multi-view clustering of web 2.0 items. In WWW, pages 771–782, 2014.
[14] X. He, H. Zhang, M.-Y. Kan, and T.-S. Chua. Fast matrix factorization for online recommendation with implicit feedback. In SIGIR, pages 549–558, 2016.
[15] R. Hong, Z. Hu, L. Liu, M. Wang, S. Yan, and Q. Tian. Understanding blooming human groups in social networks. IEEE Transactions on Multimedia, 17(11):1980–1988, 2015.
[16] R. Hong, Y. Yang, M. Wang, and X. S. Hua. Learning visual semantic relationships for efficient visual retrieval. IEEE Transactions on Big Data, 1(4):152–161, 2015.
[17] K. Hornik, M. Stinchcombe, and H. White. Multilayer feedforward networks are universal approximators. Neural Networks, 2(5):359–366, 1989.
[18] L. Hu, A. Sun, and Y. Liu. Your neighbors affect your ratings: On geographical neighborhood influence to rating prediction. In SIGIR, pages 345– 354, 2014.
[19] Y. Hu, Y. Koren, and C. Volinsky. Collaborative filtering for implicit feedback datasets. In ICDM, pages 263–272, 2008.
[20] D. Kingma and J. Ba. Adam: A method for stochastic optimization. In ICLR, pages 1–15, 2014.
[21] Y. Koren. Factorization meets the neighborhood: A multifaceted collaborative filtering model. In KDD, pages 426–434, 2008.
[22] S. Li, J. Kawale, and Y. Fu. Deep collaborative filtering via marginalized denoising auto-encoder. In CIKM, pages 811–820, 2015.
[23] D. Liang, L. Charlin, J. McInerney, and D. M. Blei. Modeling user exposure in recommendation. In WWW, pages 951–961, 2016.
[24] M. Nickel, K. Murphy, V. Tresp, and E. Gabrilovich. A review of relational machine learning for knowledge graphs. Proceedings of the IEEE, 104:11– 33, 2016.
[25] X. Ning and G. Karypis. Slim: Sparse linear methods for top-n recommender systems. In ICDM, pages 497–506, 2011.
[26] S. Rendle.Factorization machines. In ICDM, pages 995–1000, 2010.
[27] S. Rendle, C. Freudenthaler, Z. Gantner, and L. Schmidt-Thieme. Bpr: Bayesian personalized ranking from implicit feedback. In UAI, pages 452– 461, 2009.
[28] S. Rendle, Z. Gantner, C. Freudenthaler, and L. Schmidt-Thieme. Fast context-aware recommendations with factorization machines. In SIGIR, pages 635–644, 2011.
[29] R. Salakhutdinov and A. Mnih. Probabilistic matrix factorization. In NIPS, pages 1–8, 2008.
[30] R. Salakhutdinov, A. Mnih, and G. Hinton. Restricted boltzmann machines for collaborative filtering. In ICDM, pages 791–798, 2007.
[31] B. Sarwar, G. Karypis, J. Konstan, and J. Riedl. Item-based collaborative filtering recommendation algorithms. In WWW, pages 285–295, 2001. [32] S. Sedhain, A. K. Menon, S. Sanner, and L. Xie. Autorec: Autoencoders meet collaborative filtering. In WWW, pages 111–112, 2015.
[33] R. Socher, D. Chen, C. D. Manning, and A. Ng. Reasoning with neural tensor networks for knowledge base completion. In NIPS, pages 926–934, 2013.
[34] N. Srivastava and R. R. Salakhutdinov. Multimodal learning with deep boltzmann machines. In NIPS, pages 2222–2230, 2012.
[35] F. Strub and J. Mary. Collaborative filtering with stacked denoising autoencoders and sparse inputs. In NIPS Workshop on Machine Learning for eCommerce, 2015.
[36] T. T. Truyen, D. Q. Phung, and S. Venkatesh. Ordinal boltzmann machines for collaborative filtering. In UAI, pages 548–556, 2009.
[37] A. Van den Oord, S. Dieleman, and B. Schrauwen. Deep content-based music recommendation. In NIPS, pages 2643–2651, 2013.
[38] H. Wang, N. Wang, and D.-Y. Yeung. Collaborative deep learning for recommender systems. In KDD, pages 1235–1244, 2015.
[39] M. Wang, W. Fu, S. Hao, D. Tao, and X. Wu. Scalable semi-supervised learning by efficient anchor graph regularization. IEEE Transactions on Knowledge and Data Engineering, 28(7):1864–1877, 2016.
[40] M. Wang, H. Li, D. Tao, K. Lu, and X. Wu. Multimodal graph-based reranking for web image search. IEEE Transactions on Image Processing, 21(11):4649–4661, 2012.
[41] M. Wang, X. Liu, and X. Wu. Visual classification by l1 hypergraph modeling. IEEE Transactions on Knowledge and Data Engineering, 27(9):2564– 2574, 2015.
[42] X. Wang, L. Nie, X. Song, D. Zhang, and T.-S. Chua. Unifying virtual and physical worlds: Learning towards local and global consistency. ACM Transactions on Information Systems, 2017.
[43] X. Wang and Y. Wang. Improving content-based and hybrid music recommendation using deep learning. In MM, pages 627–636, 2014.
[44] Y. Wu, C. DuBois, A. X. Zheng, and M. Ester. Collaborative denoising auto-encoders for top-n recommender systems. In WSDM, pages 153–162, 2016.
[45] F. Zhang, N. J. Yuan, D. Lian, X. Xie, and W.-Y. Ma. Collaborative knowledge base embedding for recommender systems. In KDD, pages 353–362, 2016.
[46] H. Zhang, F. Shen, W. Liu, X. He, H. Luan, and T.-S. Chua. Discrete collaborative filtering. In SIGIR, pages 325–334, 2016.
[47] H. Zhang, Y. Yang, H. Luan, S. Yang, and T.-S. Chua. Start from scratch: Towards automatically identifying, modeling, and naming visual attributes. In MM, pages 187–196, 2014.
[48] Y. Zheng, B. Tang, W. Ding, and H. Zhou. A neural autoregressive approach to collaborative filtering. In ICML, pages 764–773, 2016.
