• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      深度矩陣分解推薦算法*

      2021-02-25 12:16:26潘臘梅
      軟件學(xué)報 2021年12期
      關(guān)鍵詞:物品向量建模

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

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

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

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

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

      1 相關(guān)工作

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

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

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

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

      2 深度矩陣分解模型

      2.1 問題定義

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

      Table 1 Symbol definition表1 符號定義

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

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

      2.2 DMF模型

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

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

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

      ? Input Layer(輸入層)

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

      ? Embedding Layer(嵌入層)

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

      ? GMF Layer(GMF 層)

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

      雖然通過內(nèi)積得到用戶和物品的二階交互,但是簡單的線性內(nèi)積不足以建模用戶和物品之間復(fù)雜的非線性結(jié)構(gòu),所以再將內(nèi)積結(jié)果輸入到一層神經(jīng)網(wǎng)絡(luò)中,如公式(2)所示,由此來學(xué)習(xí)二階交互的非線性關(guān)系,這就是GMF 模型:

      其中,a1為激活函數(shù),W1和b1別為連接權(quán)值和偏置值.

      ? Hidden Layer(隱藏層)

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

      其中,zL-1為第L-1 層網(wǎng)絡(luò)的輸出,a2,aL-1為各個隱藏層的激活函數(shù),和b2,bL-1分別為各個隱藏層的連接 權(quán)值和偏置項.

      ? Output Layer(輸出層)

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

      3 實驗結(jié)果與分析

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

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

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

      3) 訓(xùn)練集中負(fù)樣本采樣數(shù)對模型性能影響;

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

      3.1 實驗設(shè)置

      3.1.1 數(shù)據(jù)集

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

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

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

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

      Table 2 Dataset description表2 數(shù)據(jù)集描述

      3.1.2 評估指標(biāo)

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

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

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

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

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

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

      3.1.3 對比方法及參數(shù)設(shè)置

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

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

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

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

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

      以上方法模型和所提出的方法模型DMF 都基于Tensorflow 實現(xiàn).對于基于神經(jīng)網(wǎng)絡(luò)的模型,通過均值為0、方差0.01 的截斷的正態(tài)分布來初始化模型參數(shù),并通過交叉熵?fù)p失函數(shù)和Adam 梯度下降算法來優(yōu)化模型.模型批次大小為256,初始學(xué)習(xí)率為0.001,隱藏層的激活函數(shù)設(shè)置為ReLU,輸出層的激活函數(shù)設(shè)置為Sigmoid.

      3.2 性能比較和分析

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

      ? Result 1:模型HR@10 和NDCG@10 性能指標(biāo)比較

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

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

      通過表3 不難看出:在兩個數(shù)據(jù)集上,HR@10 和NDCG@10 指標(biāo)都是DMF>>GMF>>BPR>>ItemKNN>>ItemPop.我們提出的DMF 模型在兩個數(shù)據(jù)集上的性能表現(xiàn)都優(yōu)于基準(zhǔn)方法模型.

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

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

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

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

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

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

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

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

      ? Result 3:負(fù)樣本采樣數(shù)影響

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

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

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

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

      ? Result 4:隱藏層數(shù)量影響

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

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

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

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

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

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

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

      4 總 結(jié)

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

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

      猜你喜歡
      物品向量建模
      稱物品
      向量的分解
      聚焦“向量與三角”創(chuàng)新題
      “雙十一”,你搶到了想要的物品嗎?
      聯(lián)想等效,拓展建模——以“帶電小球在等效場中做圓周運動”為例
      誰動了凡·高的物品
      基于PSS/E的風(fēng)電場建模與動態(tài)分析
      電子制作(2018年17期)2018-09-28 01:56:44
      不對稱半橋變換器的建模與仿真
      向量垂直在解析幾何中的應(yīng)用
      向量五種“變身” 玩轉(zhuǎn)圓錐曲線
      铁力市| 乐东| 兰西县| 庆阳市| 康马县| 全州县| 怀安县| 邵东县| 密山市| 板桥市| 炉霍县| 海晏县| 通江县| 潮安县| 交口县| 罗江县| 泉州市| 定安县| 荆门市| 乌苏市| 寿阳县| 肇庆市| 通榆县| 曲阳县| 大姚县| 荆州市| 海门市| 芷江| 中阳县| 沙坪坝区| 桓仁| 岳阳县| 南木林县| 潍坊市| 宁陕县| 桦甸市| 东源县| 赞皇县| 玉山县| 南充市| 缙云县|