?

深度矩陣分解推薦算法*

2021-02-25 12:16潘臘梅
軟件學報 2021年12期
關鍵詞:物品向量神經網絡

田 震,潘臘梅,尹 樸,王 睿,2

1(北京科技大學 計算機與通信工程學院,北京 100083)

2(北京科技大學 順德研究生院,廣東 佛山 528300)

眾多協同過濾推薦算法中,矩陣分解(matrix factorization,簡稱MF)算法因簡單、易于實現,得到了廣泛的應用.但是矩陣分解通過簡單的線性內積方式無法建模用戶和物品之間復雜的非線性關系,限制了模型的推薦性能.雖然許多工作從多個方面對矩陣分解算法進行改進,但是仍然采用線性內積方式建模用戶和物品之間的交互,使得模型的性能提升有限.He 等人提出的廣義矩陣分解模型(generalized matrix factorization,簡稱GMF)[1]利用神經網絡,通過一個激活函數和不全是1 的連接權重賦予了MF 非線性學習能力,將MF 推廣到非線性集合,提高了模型的表達能力.GMF 的淺層結構使得它在建模用戶和物品的二階交互關系上有很好的表現,然而卻并不能很好地捕捉到包含更豐富信息的用戶和物品之間的高階交互關系.隨著深度神經網絡技術的不斷成熟,許多研究人員逐漸意識到深度神經網絡強大的非線性學習能力和抽象特征學習能力,并開始將其應用到矩陣分解過程.但是現有研究要么對于協同過濾部分仍采用線性內積,要么只建模了用戶和物品的二階交互關系,忽略了包含更多信息的高階交互,導致模型性能受限.

針對以上問題,本文提出了一種深度矩陣分解推薦算法,算法在廣義矩陣分解算法的基礎上,通過在非線性內積得到的用戶和物品的二階交互之上引入隱藏層,利用深度神經網絡建模用戶和物品之間復雜的高階非線性交互關系.實驗結果表明,提出的深度矩陣分解推薦算法對于模型推薦性能具有顯著的提升.

1 相關工作

在眾多協同過濾推薦算法中,矩陣分解算法因其可擴展性和易于實現,成為最為普遍和最受歡迎的一種協同推薦算法.通過一組潛在的特征因子,把用戶評分矩陣分解為user-factor matrix 和item-factor matrix.矩陣分解利用潛在因子向量描述用戶和物品,即:將用戶和物品映射到共享的潛在向量空間中,并通過映射向量之間的內積來表達用戶與物品間的交互關系[2,3].為了進一步提升推薦性能,許多的工作對矩陣分解算法進行改進,并取得了顯著的成果.Steffen 等人對于BPR-OPT 的學習模型提出了基于隨機梯度下降和bootstrap 抽樣的一般學習算法LearnBPR,并將其用于矩陣分解過程[4].Badrul 等人[5]提出了奇異值分解(SVD)來學習特征矩陣,但由SVD學習的MF 模型容易過擬合.之后,Pan 等人提出一種帶案例權重的正則化最小二乘優化算法WR-MF[6].此外,Mohsen 等人提出了SocialMF 算法[7],根據用戶信任關系,利用信任用戶的潛在特征向量來增強矩陣分解,得到的用戶潛在特征向量,從而提升模型推薦性能.但是,這種方法只使用信任關系的表面信息進行推薦,沒有考慮社交網絡中信任關系是由多種因素形成的,所以郭等人在SocialMF 的基礎上提出了StrengthMF[8],將信任關系網絡與評分信息聯合用于矩陣分解過程,從而優化了推薦結果.同時,孫等人[9]提出了SequentialMF 推薦算法,該算法通過對用戶時序行為建模發現用戶鄰居,從而將鄰居信息融合到矩陣分解過程.雖然這些算法從不同的方面改進矩陣分解過程,使得模型推薦性能得到改善,但是這些算法的性能仍然受到因采取內積的方式建模用戶和物品交互的限制,這種線性乘積的結合方式可能并不足以有效地捕捉交互數據中的非線性結構.即:簡單和固定的內積有其局限性,會對模型造成一定的限制.

為了解決上述問題,He 等人在GMF 中利用神經網絡的非線性學習能力,在MF 之上引入神經網絡賦予模型學習用戶和物品之間的非線性交互關系的能力,進一步提升了模型的表達能力.但是,GMF 中僅包含嵌入層和輸出層,在得到用戶和物品潛在特征向量后,通過在向量對應元素相乘的結果上添加一層全連接輸出層就輸出了結果,只是建模了用戶和物品之間的二階交互,并不能有效地捕捉到包含更豐富信息的用戶和物品之間的高階交互關系.即:GMF 的淺層結構能夠建模用戶和物品間交互的低層特征,但是并不能有效地捕捉到包含許多豐富信息、更抽象的高階交互,高階交互信息的缺失一定程度上會限制模型的推薦性能.

近些年,深度神經網絡開始成為學術界和工業界的研究重點.深度神經網絡通常擁有更多層次的隱藏層,單層隱藏層能夠把輸入數據的特征抽象到另一個維度空間,來展現其更抽象化的特征;而多隱藏層能夠對輸入特征進行多層次的抽象,最終幫助模型更好的線性劃分不同類型的數據.深度神經網絡因為其對更高層次、更抽象特征的學習能力,使得越來越多的工作開始嘗試將矩陣分解與深度神經網絡結合進行推薦任務.文獻[10]結合了矩陣分解和深度卷積網絡,將通過應用WMF[11]得到的潛在因子向量作為訓練預測模型的基真值來訓練深度卷積神經網絡,從而進行音樂的推薦任務.Zhang 等人利用異構網絡嵌入和深度學習嵌入方法,從知識庫的結構知識、文本知識和視覺知識中自動提取語義表示,然后結合協同過濾中的矩陣分解模型來進行推薦[12].Wang等人提出了CDL 模型[13],通過對內容信息進行深度表示學習和對評分矩陣進行協同過濾,使得模型具有很好的表達能力.這些方法通過深度神經網絡很好地建模用戶和物品之間的復雜的非線性高階交互,賦予了模型學習用戶和物品之間更抽象關系的能力,很好地提升了模型的表達能力,但是對于協同過濾部分仍采用MF,通過簡單的線性內積結合用戶和物品的特征向量,一定程度上限制了模型的推薦性能.

此外,針對以往的MF 方法大多只采用顯式評分進行個性化推薦,忽略了用戶和信息項的隱式反饋的重要性問題,Zhou 等人[14]提出了基于深度神經網絡的矩陣分解模型HDMF.同時利用顯式評分和隱式反饋作為輸入,并結合深度神經網絡獲取潛在因子.同時,應用遞歸神經網絡(RNN)將文本數據轉換為輔助因子特征,以促進項目的表達,進一步提升了矩陣分解模型的推薦性能.為了方便、高效地集成各種輔助信息,Yi 等人提出了深度矩陣分解模型DMF.基于提出的隱式反饋嵌入(IFE)方法和one-hot 編碼,DMF 能夠獲取融合多種輔助信息的用戶和物品的向量表示,然后通過多層感知器(MLP)分別對用戶和物品向量進行特征轉換,最終完成基于矩陣分解的推薦任務[15].為了充分學習用戶和物品的特征表示向量,Ma 等人[16]提出了偏置深度矩陣分解模型BDMF,該模型利用深層神經網絡強大的表示學習能力,建模用戶和項目的抽象特征表示,同時借鑒BiasedSVD 將偏差引入用戶和項目的特征表示中,進而將用戶和項目從評分矩陣映射到低維空間.盡管以上3 個模型結合深度神經網絡對矩陣分解算法性能進行了進一步的改善,但是他們的關注重點是利用深度神經網絡強大的非線性學習能力幫助模型去學習用戶和物品的抽象特征表示,在建模用戶和物品的交互關系時,仍然只考慮了用戶和物品的二階交互,導致包含更多抽象信息的高階交互被忽略.所以,本文提出了深度矩陣分解模型,通過在GMF 之上添加隱藏層,既能解決矩陣分解簡單線性內積對模型的限制問題,又能利用深層神經網絡來建模用戶和物品之間的非線性高階交互.

2 深度矩陣分解模型

2.1 問題定義

基于可讀性,我們在表1 中列出了本文使用的重要數學符號.

Table 1 Symbol definition表1 符號定義

基于這些符號,我們對問題進行了形式化定義.

問題定義.假設有用戶集U={u1,u2,u3,…,uM},項目集I={i1,i2,i3,…,iN},其中,M為用戶數目,N為物品數目.YM×N為用戶-物品評分矩陣.現給定用戶u∈U、物品i∈I,其中,用戶u未與物品i產生交互.我們的目標是根據用戶評分矩陣YM×N中用戶u的歷史評分記錄,建模用戶u的偏好,進而預測用戶u對物品i的偏好評分,再根據預測值對商品排名,最終為用戶推薦前n個物品.

2.2 DMF模型

為了學習用戶和物品之間復雜的高階非線性交互關系,本文提出了深度矩陣分解模型,該框架如圖1 所示.

Fig.1 Deep matrix factorization model圖1 深度矩陣分解模型

該框架主要由為5 個部分組成:Input Layer(輸入層),Embedding Layer(嵌入層),GMF Layer(GMF 層),Hidden Layer(隱藏層)和Output Layer(輸出層).輸入層獲取用戶和物品數據;在嵌入層,通過嵌入技術得到用戶和物品的潛在特征向量;隨后,在GMF 層通過向量間對應元素相乘建模用戶和物品的二階交互關系;再將結果輸入到隱藏層中,利用深度神經網絡對結果進行迭代訓練,從而建模用戶和物品之間的高階交互關系;最后,在輸出層得到用戶對物品的評分預測.下面分別對模型各個組成模塊進行詳細闡述.

? Input Layer(輸入層)

對于用戶(物品)的原始數據,一般通過編碼的方式把它轉換為數值數據.通常分為兩步,即整數編碼和one- hot 編碼.整數編碼會給每一個用戶和物品都分配一個整數值,比如用1 表示user1,2 表示user2.但是整數之間自然的排序方式會讓模型假設用戶(物品)之間也具有某種次序關系,從而可能會影響模型的性能.所以,還需要對整數表示進行one-hot 編碼,為每個整數值創建二值表示:除了整數的索引為1 外,其他都是0,即one-hot 編碼在任意時候只有一個有效位置.本文將用戶編號和物品編號視為兩個不同的離散特征進行處理,并且將用戶編號和物品編號分開,分別采用one-hot 編碼進行編碼.所以輸入層用戶表示為001000…,其中,編碼長度為用戶數目M;輸入層物品表示為01000…,其中,編碼長度為物品數目N.

? Embedding Layer(嵌入層)

從輸入層得到的one-hot 編碼是高維稀疏的,會嚴重影響模型訓練效率,所以在嵌入層通過one-hot 編碼與潛在特征矩陣相乘將用戶(物品)表示映射到低維密致空間,從而得到潛在特征向量.其中,PM×K為用戶潛在特征矩陣,M為用戶數目,K為潛在特征維度,K<

? GMF Layer(GMF 層)

將嵌入層得到的潛在特征向量pu和qi對應元素相乘,得到K維的向量,如公式(1)所示:

雖然通過內積得到用戶和物品的二階交互,但是簡單的線性內積不足以建模用戶和物品之間復雜的非線性結構,所以再將內積結果輸入到一層神經網絡中,如公式(2)所示,由此來學習二階交互的非線性關系,這就是GMF 模型:

其中,a1為激活函數,W1和b1別為連接權值和偏置值.

? Hidden Layer(隱藏層)

GMF 層在特征向量pu和qi對應元素相乘得到的K維向量之上設置了一層神經網絡,通過激活函數和偏置項賦予了模型建模用戶和物品之間的非線性交互關系的能力,能夠有效地擬合用戶和物品的非線性二階交互信息.但是GMF 是一個淺層模型,盡管能夠有效地建模用戶和物品交互的低層特征,然而并不能有效地捕捉到包含許多豐富信息更抽象的特征.比如:輸入用戶對音樂的交互信息,通過一層神經網絡訓練學習最后捕捉到用戶更偏好古典音樂;接著,將獲取的結果輸入到下一層神經網絡進行學習,捕獲到用戶更傾向于聽古典音樂中莫扎特的音樂曲.所以,這里在GMF Layer 的基礎上引入更多的隱藏層,通過深層神經網絡能夠捕捉更抽象特征的特點,來建模用戶和物品之間的高階交互關系.因此,有:

其中,zL-1為第L-1 層網絡的輸出,a2,aL-1為各個隱藏層的激活函數,和b2,bL-1分別為各個隱藏層的連接 權值和偏置項.

? Output Layer(輸出層)

得到第L-1 層神經網絡的訓練結果zL-1后,再將其輸入到一個全連接的隱藏層,最終得到用戶對于物品的預測評分.如公式(4)所示:

3 實驗結果與分析

本節主要工作是在兩個真實世界數據集MovieLens 和Anime 上訓練模型,利用NDCG 和HR 兩個性能指標,通過與對比方法性能指標的對比分析來驗證模型的可行性和有效性.主要圍繞一下4 個方面來進行分析.

1) 深度矩陣分解模型推薦性能表現;

2) 深度矩陣分解模型中潛在向量維度對模型性能影響;

3) 訓練集中負樣本采樣數對模型性能影響;

4) 隱藏層層數對模型性能影響.

3.1 實驗設置

3.1.1 數據集

本文主要在兩個公開數據集MovieLens[17]和Anime[18]上對模型的推薦性能進行分析驗證.具體數據集特征見表2.

? MovieLens 數據集是廣泛應用于推薦系統的電影數據集,主要由電影評分數據、用戶人口統計學數據以及電影屬性數據,含有多個不同數據大小的版本.這里,我們使用 MovieLens 1M 數據集,記為MovieLens.MovieLens 1M 數據集含有來自6 000 名用戶對4000 部電影的100 萬條評分數據,分值范圍為1~5;

? Anime 是一個公開的推薦數據集,包含73 516 名用戶對12 294 部動漫的7 813 738 條評分數據.該數據集包含3 個分類:用戶id、動漫id 和用戶對動漫的評分,其中,評分范圍為1~10.為了緩解數據集稀疏問題,對數據集進行過濾處理,過濾后的數據集包含8 289 個用戶對6 335 部動漫的2 964 160 個評分.

這里,我們采用隱式反饋的數據,所以需要把顯式評分數據轉化為隱式數據.即:對于MovieLens 數據來說,將評分矩陣中有評分記錄的1~5 的值記為1,沒有評分記錄的記為0.同時選取每個用戶最近一次的交互記錄作為測試樣本,并和隨機抽樣的99 個未交互的樣本組合成測試數據集,其余的數據作為訓練樣本組成訓練集.對Anime 數據集做同樣處理.

Table 2 Dataset description表2 數據集描述

3.1.2 評估指標

由于為每個用戶預測其對所有未產生交互的物品的偏好過于耗費時間,所以這里遵循一般的策略[2,19].通過第3.1.1 節中描述的采樣方式,為每個用戶采集1 個正樣本和99 個負樣本組成的測試集,并為用戶預測其對這100 個物品的偏好,并按照預測值從大到小排序,生成Top-10 的排名列表.

推薦性能由命中率HR(hit ratio)與NDCG(normalized discounted cumulative gain)[20]來衡量.

? HR 直觀地評估測試物品是否在Top-10 列表中:若存在于Top-10 列表中,則為1;否則為0.對所有的用戶求平均,則命中率代表了命中用戶偏好的概率.計算公式如公式(5)所示:

其中,K表示排名列表長度,分子為生成的排名列表中包含測試正樣本的用戶數,分母為用戶的總數.

? NDCG 用來衡量測試樣本命中的位置,該值越大,則說明測試物品出現在排名列表中更靠前的位置.為每個用戶計算該指標值,并且求取平均.計算公式如公式(6)所示:

其中,K表示排名列表的長度,N為用戶總數.i為排名列表中測試正樣本命中的位置,i∈[1,K].可以看出:測試正樣本在排名列表中的位置越靠前,即i越小,該值越大.

3.1.3 對比方法及參數設置

我們將DMF 模型與以下4 個基準方法進行分析對比,從而驗證模型的有效性.

? ItemPop 是一種非個性化推薦方法[21],它將物品與用戶交互次數作為物品的流行度,按照物品的流行度產生物品排名列表,并將排名列表中的前N項推薦給用戶;

? ItemKNN 是一種協同過濾推薦方法[22],它根據用戶與物品的交互記錄計算物品間的相似度,再結合待推薦物品與用戶已有評分交互的鄰居物品來預測用戶對待推薦物品的預測偏好;

? BPR-MF[4]是一種具有代表性的基于成對學習的MF 模型,損失函數關注的是成對排序損失,即最大化正樣本與負樣本之間的排序[4,23],而不是減少預測值與真實值之間的誤差,正負采樣率控制為1:1;

? GMF 是一種改進后的矩陣分解算法[1],通過激活函數和權值不全為1 的連接權重泛化了矩陣分解模型,使得模型能夠建模用戶和物品之間非線性二階交互.

以上方法模型和所提出的方法模型DMF 都基于Tensorflow 實現.對于基于神經網絡的模型,通過均值為0、方差0.01 的截斷的正態分布來初始化模型參數,并通過交叉熵損失函數和Adam 梯度下降算法來優化模型.模型批次大小為256,初始學習率為0.001,隱藏層的激活函數設置為ReLU,輸出層的激活函數設置為Sigmoid.

3.2 性能比較和分析

我們從以下4 個方面進行性能評價和比較分析.

? Result 1:模型HR@10 和NDCG@10 性能指標比較

為了回答問題1,我們比較了提出的DMF 模型和ItemPop,ItemKNN,BPR,GMF 這4 個基準方法的性能.分別在MovieLens 和Anime 兩個數據集上訓練了這5 個模型,表3 顯示了這5 個模型在每個數據集中HR@10 和NDCG@10 的表現情況.

Table 3 Performance comparison of deep matrix factorization andbaselines表3 深度矩陣分解與基準方法性能對比

通過表3 不難看出:在兩個數據集上,HR@10 和NDCG@10 指標都是DMF>>GMF>>BPR>>ItemKNN>>ItemPop.我們提出的DMF 模型在兩個數據集上的性能表現都優于基準方法模型.

? 相比較于GMF 模型,其在Anime 數據集上的HR@10 和NDCG@10 指標分別提升了0.045 6 和0.060 9;而在MovieLens 數據集上,兩個指標分別提升了0.005 9 和0.019 8;

? 相比較于ItemPop 方法,DMF 在MovieLens 數據集上兩個指標分別提升了0.247 5 和0.174 6;而在Anime 數據集上,HR@10 和NDCG@10 指標分別提升了0.371 7 和0.285 9.

在這些模型中,ItemPop 表現最差.這可能是由于ItemPop 是根據物品在所有用戶中受歡迎程度來推薦的,不能滿足用戶的個性化需求,無法提供個性化推薦.這表明,非個性化的推薦方法不能有效地用來預測用戶偏好.ItemKNN 方法基于用戶和物品的歷史交互矩陣來計算物品相似度進行物品推薦,雖然能一定程度上滿足用戶個性化需求;但是由于交互矩陣的稀疏性問題,導致物品相似度的計算偏差大,所以整體影響了最終模型的推薦性能,因此推薦性能雖然相對于ItemPop 方法有了很大提升,但是性能還是低于BPR,GMF 和DMF.同時,DMF和GMF 推薦性能強于BPR,這可能是因為DMF 和GMF 有著更靈活的正負采樣率,對于每個正訓練樣本采樣更多的合適負樣本,更準確建?,F實世界用戶和物品交互的場景.同時,結果表明:相比較于BPR 中采用簡單線性內積建模用戶和物品之間的交互,采用神經網絡賦予模型非線性的學習能力的DMF 和GMF 具有更突出的表達能力.而DMF 的HR@10 和NDCG@10 指標在兩個數據集上表現都優于GMF,這可能是因為添加的隱藏層將在GMF 得到的二階交互映射到更深層次的抽象空間中,從而學習到用戶和物品間更高階交互關系.這表明:通過添加隱藏層,利用深層神經網絡學習高階抽象特征的特點,使得模型能夠建模用戶和物品之間的高階非線性交互關系,由此模型具有更突出的表達能力.

? Result 2:潛在向量維度影響

為了回答問題2 潛在向量維度對模型性能的影響,我們比較了潛在向量維度為10,20,40 和80 下,ItemKNN,BPR,GMF 和DMF 這4 個模型在MovieLens 和Anime 兩個數據集上的性能表現,如圖2 和圖3 所示.由于ItemPop方法性能相對于其他方法表現差距較大,這里不予以比較.

由圖2 和圖3 首先可以看到:隨著潛在維度的不斷增加,4 個模型的HR@10 和NDCG@10 指標不斷提升,模型的推薦性能不斷改善.這是因為在到達最佳潛在向量維度之前,隨著維度的增加,潛在向量可以包含更多的信息量,對于用戶和物品特征描述更加全面具體,能夠更有效地建模用戶和物品的潛在特征,所以模型具有更突出的表現能力,推薦性能得到顯著改善.但是維度并不是越大越好,因為當潛在向量維度過大時,會導致模型過擬合,這也是為什么當在MovieLens 數據集上,潛在向量維度達到40 后,HR@10 和NDCG@10 指標開始下降;同樣地,在Anime 數據集上,潛在向量維度達到40 后,HR@10 和NDCG@10 指標也開始下降.同時,我們從圖2和圖3 可以得出結論,DMF 模型在MovieLens 和Anime 數據集上最佳潛在向量維度都為40.其次,可以看到:在MovieLens 和Anime 兩個數據集中,DMF 模型在不同維度下,HR@10 和NDCG@10 指標都明顯高于其他3 個模型.而在圖3 中,甚至在潛在維度為10,DMF 模型性能最差的時候,其HR@10 和NDCG@10 指標仍然高于BPR模型,這表明我們提出的DMF 模型的有效性.

Fig.2 HR@10 and NDCG@10 of models with different potential vector dimension in MovieLens圖2 MovieLens 數據集下不同潛在向量維度模型的HR@10 和NDCG@10

Fig.3 HR@10 and NDCG@10 of models with different potential vector dimension in Anime圖3 Anime 數據集下不同潛在向量維度模型的HR@10 和NDCG@10

? Result 3:負樣本采樣數影響

BPR 損失函數關注的是成對排序損失,即最大化正樣本與負樣本之間的排序.構造訓練集時,正負樣本采樣率固定為1:1 來采集數據樣本.而DMF 和MLP 采用Log Loss,其關注重點為逐點損失,一般通過最小化預測值?y和目標值y之間的平方誤差來更新參數,具有靈活的負樣本采樣特點.為了探究負樣本采樣數對模型推薦性能的影響,我們在負樣本采樣數為1,3,5,7 和9 的情況下,分別將BPR,GMF 和DMF 這3 個模型在MovieLens 和Anime 兩個數據集上進行了訓練,得到了模型的HR@10 和NDCG@10 指標表現情況,結果如圖4 和圖5 所示.

Fig.4 HR@10 and NDCG@10 of models with different number of negative samples collected in MovieLens圖4 MovieLens 數據集下不同負樣本采集數模型的HR@10 和NDCG@10

Fig.5 HR@10 and NDCG@10 of models with different number of negative samples collected in Anime圖5 Anime 數據集下不同負樣本采集數模型的HR@10 和NDCG@10

首先,由圖4 和圖5 不難看出:擁有更靈活負樣本采樣的DMF 和GMF 模型相比較于BPR 模型來說,在兩個數據集上具有更好的表現;同時,隨著負樣本采樣數的增加,DMF 模型的HR@10 和NDCG@10 指標在逐步增加.這表明,靈活的采樣使得模型具有更突出的表達能力.這是因為:通過向訓練集中添加負樣本,使得訓練集更符合真實世界用戶和物品交互的稀疏場景;此外,通過采集負樣本,使得在訓練模型過程中更新參數時只更新部分參數,其他參數全部固定,從而減少整個訓練過程計算量,并加速了模型的收斂過程.其次還可以看出:當負樣本采樣數達到某個值之后,隨著采樣數的增加,模型的推薦性能反而下降了.這是因為負樣本采樣數過大,導致訓練數據集出現正負樣本不均衡,從而影響了模型的表現能力.例如:一個訓練集中正負樣本比為1:99,如果模型的預測結果全都是負樣本,那么模型的準確率就能夠達到99%;同時,損失值會非常小,但是這樣的模型是沒有實際意義的,模型的推薦效果是很差的.所以,適當地控制負樣本的采樣數,能夠提升模型的推薦性能.對于DMF 模型來說,在MovieLens 數據集上的最優負樣本采樣數是5,在Anime 數據集上的最優負樣本采樣數是7.

? Result 4:隱藏層數量影響

通過前面的實驗與分析,我們不難得出結論:通過向GMF 模型添加隱藏層,能夠建模用戶和物品之間更高階的交互關系,采用更深層次的神經網絡來學習更抽象的用戶和物品特征,使得模型具有更好的表達能力.為了探究隱藏層層數對模型推薦性能影響,我們分別設置了隱藏層層數為0,4 的對照模型,其中,層數為0 的模型也就是GMF 模型,層數為1 的模型記為DMF-1,以此類推,并在潛在向量維度為10,20,40 和80 情況下,分別利用MovieLens 和Anime 兩個數據集訓練各個模型,得到最終5 個對照模型在不同維度下的HR@10 和NDCG@10指標的表現,結果見表4~表7.

Table 4 HR@10 of models with different layers in MovieLens表4 MovieLens 數據集下不同層數的模型的HR@10

Table 5 NDCG@10 of models with different layers in MovieLens表5 MovieLens 數據集下不同層數的模型的NDCG@10

Table 6 HR@10 of models with different layers in Anime表6 Anime 數據集下不同層數的模型的HR@10

Table 7 NDCG@10 of models with different layers in MovieLens表7 Anime 數據集下不同層數的模型的NDCG@10

由表4 和表5 可以看出:在不同潛在向量維度下,隨著隱藏層層數從0 開始不斷增加,模型的HR@10 和NDCG@10 指標不斷提升,模型性能得到明顯改善.這是因為單層隱藏層能夠將輸入數據映射到另一個抽象空間,學習更抽象的特征;而通過增加隱藏層層數,能夠學習更豐富更抽象的信息,從而更好地建模用戶和物品之間的交互.此外,通過引入隱藏層,利用神經網絡模型賦予學習非線性的能力,使得模型具有更突出的表達能力.這表明:通過添加單層隱藏層,利用神經網絡建模用戶和物品之間復雜的非線性交互,能夠提升模型推薦性能.而通過添加更多的隱藏層,利用更深層的神經網絡能夠學習用戶和物品之間更高階的交互關系,從而進一步提升模型推薦性能.但是,隨著隱藏層層數進一步增加,模型HR@10 和NDCG@10 指標提升幅度減小,甚至在潛在向量維度為10,40 和80 的時候,隱藏層層數從3 改為4 后,模型在MovieLens 數據集上,HR@10 指標出現了下降的情況;同樣,在潛在向量維度為40 和80 時,隱藏層層數由3 變為4 后,模型在Anime 數據集上,HR@10 指標也出現了下降.這表明對于模型來說,并不是隱藏層層數越多、神經網絡越深,模型推薦性能越好.這是因為隱藏層層數過多,會導致模型出現過擬合問題,這樣不僅不會提升模型性能,反而會限制模型推薦性能.同時,由于神經網絡中過多的隱藏層會使得模型參數指數式增長,增加訓練難度導致模型難以收斂.

因此,隱藏層層數的增加使得模型獲得更深層神經網絡,能夠建模用戶和物品之間高階非線性交互關系,但是并不是越多越好,隱藏層層數過多反而會影響模型性能.這里,我們所提出的模型最優隱藏層層數為3.此外,通過表4~表7 進一步表明,DMF 在MovieLens 和Anime 兩個數據集上的最優潛在向量維度為40.

4 總 結

在眾多的協同過濾推薦算法中,矩陣分解由于簡單、易于實現的特點,獲得了廣泛的應用.矩陣分解算法利用潛在的特征因子把評分矩陣分解為user-factor matrix 和item-factor matrix,將用戶和物品用潛在因子向量表示,并且通過向量之間的內積來建模用戶與物品間的交互關系.但是這種簡單的內積不足以建模用戶和物品間的非線性關系.由于神經網絡的非線性建模能力,一些工作嘗試將矩陣分解和神經網絡結合進行推薦任務,雖然推薦性能有一定提升,但是涉及到矩陣分解的關鍵,即建模用戶和物品的交互函數時,仍然采用簡單的內積來建模用戶和物品之間的線性關系.

GMF 模型中利用神經結構代替矩陣分解中所用的內積,來從數據中學習得到用戶和物品的交互函數.通過神經網絡結構為內積引入非線性成分,從而提高模型的表達能力.但是GMF 模型得到的僅僅是用戶和物品交互的二階關系,忽略了可能包含更豐富交互信息的高階交互.基于此,我們提出了深度矩陣分解模型DMF,通過在GMF 之上引入隱藏層,利用更深層的神經網絡在非線性內積所得到的用戶與物品間的二階交互的基礎之上,建模用戶與物品間的非線性高階交互,為模型引入用戶與物品間的非線性高階交互信息,從而輔助模型更準確、全面的建模用戶和物品間的交互.同時,我們在兩組真實世界的數據集上進行了大量的實驗,證實了模型的可行性和有效性.本文只考慮了用戶和物品的交互信息,沒有考慮可能包含更多可以用來建模用戶和物品特征的豐富知識的輔助信息,例如用戶年齡、性別、工作和物品類別等,這可能是未來的工作方向.同時,不同種類信息對于推薦結果的貢獻程度也是不一樣的,如何合理地為不同信息賦予權重,也是值得關注的的問題.

猜你喜歡
物品向量神經網絡
稱物品
向量的分解
聚焦“向量與三角”創新題
“雙十一”,你搶到了想要的物品嗎?
神經網絡抑制無線通信干擾探究
誰動了凡·高的物品
基于神經網絡的中小學生情感分析
向量垂直在解析幾何中的應用
基于神經網絡的拉矯機控制模型建立
向量五種“變身” 玩轉圓錐曲線
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合