李 琳 王培培 杜 佳 周 棟
在大數(shù)據(jù)時(shí)代背景下,互聯(lián)網(wǎng)上逐步涌現(xiàn)不計(jì)其數(shù)的信息資源,信息過(guò)載問(wèn)題日益顯現(xiàn),如何在海量的信息中發(fā)掘與用戶相關(guān)或感興趣的內(nèi)容已成為當(dāng)下熱門的研究課題.推薦系統(tǒng)(Recommender System)作為解決信息過(guò)載問(wèn)題的有效手段,可通過(guò)利用并分析用戶的歷史行為信息或偏好信息,挖掘用戶的潛在興趣,滿足不同用戶的個(gè)性化需求,其相關(guān)研究在理論基礎(chǔ)和應(yīng)用實(shí)踐中都取得較大進(jìn)展[1].
目前,大多數(shù)推薦系統(tǒng)主要面向個(gè)體用戶,但在眾多新興商業(yè)模式迅速崛起的推動(dòng)下,其目標(biāo)對(duì)象開始從單一用戶向多位用戶擴(kuò)展.實(shí)際上,無(wú)論是線下還是線上,很多活動(dòng)都是以群組為單位開展,由此產(chǎn)生群組推薦(Group Recommendation).群組推薦旨在向由多位用戶組成的群組推薦產(chǎn)品或服務(wù)信息.在保證群組整體效益的前提下,群組推薦的核心問(wèn)題是群組成員的偏好融合問(wèn)題[2-3].
選擇適合群組推薦的融合策略并不是一項(xiàng)簡(jiǎn)單的任務(wù).策略的選擇不僅需要捕捉群組成員間的共同偏好,也要考慮群組成員的偏好差異,緩解不同成員之間的偏好沖突.傳統(tǒng)的推薦系統(tǒng)整體上可分為用戶偏好建模和推薦結(jié)果生成兩個(gè)階段.因此,群組推薦的偏好融合策略可選擇在推薦結(jié)果生成之前或之后執(zhí)行[4].根據(jù)偏好融合策略的時(shí)間階段差異,現(xiàn)有的群組成員偏好融合策略主要分為模型融合(將單個(gè)模型聚合為群組模型)和結(jié)果融合(將單個(gè)預(yù)測(cè)聚合為群組預(yù)測(cè))[2,5].為了達(dá)到群組推薦的最大效益,考慮到每位群組成員的偏好差異,簡(jiǎn)單地匯總個(gè)體的推薦結(jié)果,很難滿足實(shí)際需求,因此集中研究組內(nèi)用戶偏好及其在群組中所占權(quán)重以預(yù)測(cè)最終推薦結(jié)果更重要.群組推薦比面向個(gè)體推薦的難度更大,內(nèi)部關(guān)系更復(fù)雜,而且,作為個(gè)體推薦的延伸和擴(kuò)展,群組推薦與面向個(gè)體的推薦也是緊密相連的.
基于協(xié)同過(guò)濾(Collaborative Filtering, CF)的推薦方法[6]作為一種有效方式,可通過(guò)協(xié)同多個(gè)用戶的評(píng)分進(jìn)行推薦,以此緩解基礎(chǔ)評(píng)分矩陣的稀疏性問(wèn)題.基于最近鄰的模型和基于矩陣分解(Matrix Factorization, MF)的模型[7]是使用最廣泛的方法之一.對(duì)比基于最近鄰的方法,MF在緩解數(shù)據(jù)稀疏性方面具有更大優(yōu)勢(shì),所以目前主要使用MF進(jìn)行推薦.
現(xiàn)階段主要的矩陣分解方法有奇異值分解(Singular Value Decomposition, SVD)[8]和基于潛在因子模型(Latent Factor Model, LFM)的改進(jìn)模型.在SVD的基礎(chǔ)上,Kumar等[9]提出SVD++,主要建立一個(gè)包含用戶隱式反饋相關(guān)信息的矩陣分解模型,但SVD++需要將稀疏矩陣稠密化,增加計(jì)算量和存儲(chǔ)量.LFM的原理是將用戶和項(xiàng)目依次映射到兩個(gè)低維的潛在因子空間中,潛向量空間的維度個(gè)數(shù)即為潛在特征屬性的個(gè)數(shù)[10].
同時(shí),學(xué)者們提出大量結(jié)合深度神經(jīng)網(wǎng)絡(luò)與協(xié)同過(guò)濾的推薦方法.Liu等[11]聯(lián)合協(xié)同過(guò)濾與自編碼器模型,提出深度混合推薦方法,從輔助信息中學(xué)習(xí)用戶和項(xiàng)目特征,預(yù)測(cè)用戶偏好.Jalali等[12]提出基于深度自編碼模型的協(xié)同過(guò)濾推薦方法,主要使用深度網(wǎng)絡(luò)分層方法動(dòng)態(tài)管理用戶數(shù)據(jù),利用自動(dòng)編碼器網(wǎng)絡(luò)聚類相似用戶,提供基于時(shí)間的推薦.
近年來(lái),圖神經(jīng)網(wǎng)絡(luò)也被成功應(yīng)用至協(xié)同過(guò)濾推薦方法中.Wu等[13]在多行為推薦中通過(guò)元路徑構(gòu)造獨(dú)立的用戶-用戶圖和項(xiàng)目-項(xiàng)目圖,并設(shè)計(jì)關(guān)系組合函數(shù)和語(yǔ)義傳播結(jié)構(gòu),用于異構(gòu)協(xié)同過(guò)濾信號(hào)的學(xué)習(xí).Sun等[14]提出用于協(xié)同過(guò)濾的雙曲圖卷積神經(jīng)網(wǎng)絡(luò)模型,在雙曲空間上定義每個(gè)用戶和項(xiàng)目的嵌入,再通過(guò)多層跳躍連通圖卷積編碼高階鄰域信息.在眾多基于神經(jīng)網(wǎng)絡(luò)的協(xié)同過(guò)濾推薦方法中,He等[15]提出NCF(Neural Collaborative Filtering),可模擬絕大多數(shù)的分解模型,同時(shí)結(jié)合多層感知機(jī)(Multi-layer Perceptron, MLP),輔助做出更精準(zhǔn)的評(píng)分預(yù)測(cè)結(jié)果.類似地,Xue等[16]提出基于深度神經(jīng)網(wǎng)絡(luò)的協(xié)同過(guò)濾推薦方法,主要利用深度神經(jīng)網(wǎng)絡(luò)而非簡(jiǎn)單的內(nèi)積方法建模物品之間的高階非線性交互關(guān)系.由此可見(jiàn),將MF的協(xié)同過(guò)濾推薦與神經(jīng)網(wǎng)絡(luò)結(jié)合是一種有效方式.
在很多實(shí)際應(yīng)用場(chǎng)景中,協(xié)同過(guò)濾推薦方法也被具體應(yīng)用于群組推薦任務(wù)中,在面向個(gè)體的推薦方法中加入特定的融合策略,獲取群組推薦的預(yù)測(cè)結(jié)果并評(píng)估推薦性能.此外,現(xiàn)有研究已證實(shí)群組推薦在一定程度上可緩解面向個(gè)體進(jìn)行推薦中的“冷啟動(dòng)問(wèn)題”[17].Wang等[18]提出基于最近鄰和交替最小二乘矩陣分解的協(xié)同過(guò)濾推薦方法,預(yù)測(cè)群組成員對(duì)不同項(xiàng)目的喜好程度,但并未驗(yàn)證不同融合策略對(duì)推薦性能的影響.同樣地,Zeng等[19]提出基于LFM的群組推薦策略,將用戶和項(xiàng)目在潛在因子空間上的特征矩陣轉(zhuǎn)換為向量,合并至群組中,利用最小痛苦策略(Least Misery Strategy)制定群組內(nèi)成員的偏好融合策略.這一策略仍屬于單一融合策略,存在一定的局限性.曾雪琳[20]根據(jù)有無(wú)顯式關(guān)系的群組關(guān)系,提出兩類模型,一類是利用簽到信息定位群組化用戶,進(jìn)行群組推薦的興趣點(diǎn)模型,另一類是基于內(nèi)容的群組推薦算法,利用LFM結(jié)合文本信息,通過(guò)Spark并行化實(shí)現(xiàn)推薦.
除了推薦模型之外,Zhao等[21]提出融合矩陣分解和納什均衡的群組偏好融合方法,首先通過(guò)納什均衡得到群組成員的最優(yōu)選擇概率,再利用SVD整合納什均衡,實(shí)現(xiàn)每個(gè)群組的偏好聚合.Seo等[22]認(rèn)為群組評(píng)分偏差是偏好融合的一個(gè)重要影響因素,并結(jié)合偏差與均值、認(rèn)可投票(Approval Vo-ting)[23]方法,提出加強(qiáng)的UL(Upward Leveling)融合策略,達(dá)到群組推薦的目的.考慮到評(píng)分表示的用戶偏好是離散型的,Yalcin等[24]在認(rèn)可投票的基礎(chǔ)上,提出AwU(Agreement without Uncertainty)融合策略,利用信息熵穩(wěn)健考慮組成員評(píng)分的分布,確保群組成員滿意度的最大化.Baltrunas等[4]分析由協(xié)同過(guò)濾推薦系統(tǒng)生成的個(gè)體推薦在群組推薦中的有效性,實(shí)現(xiàn)基于滿意度的偏好融合策略:最大滿意策略(Most Pleasure Strategy)、均值策略(Average Strategy)及最小痛苦策略.
在不同場(chǎng)景下,現(xiàn)有的融合策略雖然能在一定程度上滿足群組的需求,然而仍存在如下局限性:1)某些用戶可能總是受到不滿意(痛苦)的推薦意見(jiàn),很難保證群組推薦的公平性;2)隨著群組成員數(shù)量的增加,群組推薦的平均滿意度可能下降.為了緩解上述問(wèn)題,本文聯(lián)合考慮協(xié)同過(guò)濾方法和偏好融合策略,提出融合納什均衡策略和神經(jīng)協(xié)同過(guò)濾的群組推薦方法.一方面,受非合作博弈論(Non-cooperative Game Theory)[25]的啟發(fā),提出基于納什均衡(Nash Equilibrium)的偏好融合策略,將求解最佳群組滿意度的問(wèn)題視為求解納什均衡的問(wèn)題,有效緩解群組成員之間的偏好沖突問(wèn)題.另一方面,在深度神經(jīng)網(wǎng)絡(luò)[26]作用下,基于LFM和MLP實(shí)現(xiàn)基于神經(jīng)網(wǎng)絡(luò)的協(xié)同過(guò)濾推薦模型,獲取用戶和項(xiàng)目之間潛在特征向量的線性交互和非線性交互.在此框架下,通過(guò)納什均衡策略完成群組推薦.最后,在KDD CUP的騰訊微博數(shù)據(jù)集上的實(shí)驗(yàn)證實(shí)納什均衡策略的有效性及群組推薦的準(zhǔn)確性.
1.1.1 改進(jìn)潛在因子模型的推薦
SVD為常用的矩陣分解方法,但由于需要將稀疏矩陣稠密化,計(jì)算量和存儲(chǔ)量都較大.相比SVD,LFM可較好地緩解這一問(wèn)題,避免填充原始稀疏矩陣的操作,直接將原始矩陣分解為兩個(gè)低維的特征矩陣的乘積,降低計(jì)算量和存儲(chǔ)量.本文定義P為用戶特征矩陣,Q為項(xiàng)目特征矩陣,利用ReLU激活函數(shù)隨機(jī)初始賦值P和Q.重構(gòu)的預(yù)測(cè)評(píng)分矩陣R=PTQ.本文設(shè)定F為隱因子數(shù)量,u為用戶編號(hào),i為項(xiàng)目編號(hào),矩陣中所有個(gè)體
至此,初步模型建立.
(1)
同時(shí),考慮到用戶或項(xiàng)目本身的固有屬性可能會(huì)對(duì)預(yù)測(cè)評(píng)分產(chǎn)生一定的影響,在目標(biāo)優(yōu)化函數(shù)中加入偏差項(xiàng),消除評(píng)分的差異性.加入用戶偏差項(xiàng)bu、項(xiàng)目偏差項(xiàng)bi和全局平均分s的評(píng)分計(jì)算函數(shù):
將上式代入式(1),可得
本文除了考慮用戶對(duì)項(xiàng)目的顯式評(píng)分以外,也考慮社交行為關(guān)系.針對(duì)微博用戶,用戶的社交行為信息主要有評(píng)論、轉(zhuǎn)發(fā)、點(diǎn)贊等交互.參照文獻(xiàn)[27]定義:
其中:S(u)表示用戶關(guān)注對(duì)象的集合;A(u)表示用戶可能發(fā)生的行為集合;α1=α2=-0.5,表示在最初的情況下,這兩個(gè)集合對(duì)用戶的預(yù)測(cè)偏好具有相同影響;yk表示用戶的反饋信息.最終評(píng)分預(yù)測(cè)為:
再通過(guò)全局目標(biāo)優(yōu)化函數(shù)不斷進(jìn)行多次迭代優(yōu)化:
(2)
為了防止過(guò)擬合,提高模型的泛化能力,在式(2)中加入正則化約束,可得
采用Adam(Adaptive Moment Estimation)對(duì)目標(biāo)函數(shù)進(jìn)行最小化求解.
1.1.2 基于神經(jīng)網(wǎng)絡(luò)的多層感知機(jī)模型
人工神經(jīng)網(wǎng)絡(luò)是一種利用多個(gè)線性單元組合以解決非線性問(wèn)題的神經(jīng)元組合,它使用多層多神經(jīng)元的結(jié)構(gòu)分割非線性相關(guān)樣本空間,完成定義的預(yù)測(cè)任務(wù).MLP是一種應(yīng)用廣泛的人工神經(jīng)網(wǎng)絡(luò),由于其在非線性表示學(xué)習(xí)上的優(yōu)勢(shì)而被廣泛應(yīng)用到各種連續(xù)的評(píng)分及預(yù)測(cè)任務(wù)中[1].因此,本文選擇MLP處理輸入層的用戶交互,選擇合適的神經(jīng)元激活函數(shù)對(duì)輸入的隱式特征進(jìn)行表示學(xué)習(xí)和評(píng)分預(yù)測(cè).
本文構(gòu)建MLP,學(xué)習(xí)獲取用戶潛在特征向量pu、qi之間的非線性交互關(guān)系,替代原有的MF中對(duì)用戶特征矩陣和項(xiàng)目特征矩陣進(jìn)行內(nèi)積處理的操作.本文構(gòu)建的MLP定義如下:
其中,WX表示第X層隱層的權(quán)重矩陣,bX表示第X層隱層的偏置向量,aX表示第X層隱層的激活函數(shù),σ表示輸出層激活函數(shù).
對(duì)于激活函數(shù)的選擇,MLP可選取Sigmoid、tanh、ReLU等激活函數(shù).由于Sigmoid函數(shù)限制每個(gè)神經(jīng)元取值范圍為(0,1),收斂速度較慢,可能會(huì)限制模型的性能,所以本文不采用此激活函數(shù).對(duì)于tanh、ReLU,在實(shí)驗(yàn)部分,本文進(jìn)行相應(yīng)的對(duì)比實(shí)驗(yàn).
為了使最終預(yù)測(cè)的評(píng)分無(wú)限逼近真實(shí)有效評(píng)分,采用Adam對(duì)目標(biāo)函數(shù)進(jìn)行最小化求解.Adam基于歷史梯度計(jì)算一階和二階動(dòng)量,調(diào)整不同參數(shù)的學(xué)習(xí)速率,減少學(xué)習(xí)速度調(diào)整的痛苦度,因此收斂速度快于SGD(Stochastic Gradient Descent).
1.1.3 融合改進(jìn)潛在因子和多層感知機(jī)的協(xié)同過(guò)濾推薦
基于1.1.1節(jié)中改進(jìn)的LFM獲取用戶和項(xiàng)目之間的線性交互關(guān)系,依據(jù)1.1.2節(jié)中的MLP使用非線性內(nèi)核捕捉用戶和項(xiàng)目之間的非線性交互關(guān)系.為了獲取用戶和項(xiàng)目之間更多的交互特征,本文融合LFM和MLP,構(gòu)建混合模型,簡(jiǎn)記為L(zhǎng)FM-MLP,兼顧保留LFM和MLP的優(yōu)勢(shì).LFM-MLP框圖如圖1所示.
圖1 LFM-MLP框圖
在模型融合方式的選擇方面,一般采取的方式是共享輸入層和嵌入層,然后融合LFM和MLP的評(píng)分輸出.但是這種方式要求兩個(gè)模型的潛在向量空間的維度相同,如果兩個(gè)模型在不同尺寸的嵌入層得到最優(yōu)解,混合后的模型就無(wú)法獲得最優(yōu)解.因此,為了避免這一問(wèn)題,本文對(duì)兩個(gè)模型分別靈活采用獨(dú)立的嵌入層,在LFM和MLP的輸出層加入一個(gè)全連接層,直至需要輸出評(píng)分時(shí),結(jié)合兩個(gè)模型的評(píng)分提取特征:
對(duì)于模型的優(yōu)化,鑒于LFM-MLP的非凸性,使用SGD優(yōu)化方法就可找到局部最優(yōu)解.在模型初始化階段,本文使用LFM和MLP的預(yù)訓(xùn)練模型進(jìn)行LFM-MLP的初始化,預(yù)訓(xùn)練階段仍利用基于動(dòng)量的Adam方法進(jìn)行優(yōu)化.預(yù)訓(xùn)練完成后,本文將訓(xùn)練完成的參數(shù)傳送至LFM-MLP,再采用基于梯度的SGD優(yōu)化方法優(yōu)化LFM-MLP,達(dá)到最佳的優(yōu)化效果,同時(shí)節(jié)省內(nèi)存空間.
1.2.1 傳統(tǒng)偏好融合策略
群組推薦算法在獲得個(gè)體用戶對(duì)推薦項(xiàng)目的預(yù)測(cè)得分的基礎(chǔ)上,整合個(gè)體用戶的預(yù)測(cè)評(píng)分,實(shí)現(xiàn)群組用戶的預(yù)測(cè)得分,使推薦結(jié)果滿足群組需求.文獻(xiàn)[4]中介紹如下3種傳統(tǒng)的基于滿意度的融合策略.
1)最大滿意策略.對(duì)某個(gè)項(xiàng)目進(jìn)行評(píng)分時(shí),選取最喜歡該項(xiàng)目的成員的偏好值作為群組整體的偏好,定義如下:
其中,Gj表示群組G對(duì)項(xiàng)目j的評(píng)分值,rij表示群組成員用戶ui對(duì)項(xiàng)目j的評(píng)分值.
2)最小痛苦策略.對(duì)一個(gè)項(xiàng)目評(píng)分時(shí),取整個(gè)組中評(píng)分最低值作為群組偏好,定義如下:
3)均值策略.為了平衡最大滿意策略和最小痛苦策略,對(duì)某個(gè)項(xiàng)目評(píng)分時(shí),選取整個(gè)群組預(yù)測(cè)分?jǐn)?shù)的平均值作為群組偏好,定義如下:
這三種融合策略都屬于單一融合策略,主要依據(jù)群組成員對(duì)項(xiàng)目滿意度的高低獲取群組對(duì)該項(xiàng)目的偏好值.
1.2.2 納什均衡偏好融合策略
一個(gè)群組內(nèi)用戶之間偏好的差異需要一定的權(quán)衡,從而形成群組的最高滿意度.博弈論是研究多方在一定條件下的博弈中,利用相關(guān)各方的策略實(shí)施相應(yīng)策略的理論[21,28].本文考慮使用非合作博弈論的方法以最大化群組成員的平均滿意度,并將群組成員作為博弈參與者.項(xiàng)目的預(yù)測(cè)得分是游戲玩家的策略選擇.在策略組合中,所有參與者在不改變策略的情況下確保自己的策略最優(yōu),即為納什均衡.因此,達(dá)到最佳群組滿意度的問(wèn)題可看作是納什均衡的求解問(wèn)題.盡管用戶會(huì)有自己的選擇,但總會(huì)存在不止一種的納什均衡.
文中設(shè)集合G為至少有兩位成員的群組集合,所有成員都來(lái)自用戶集U,u為集合G中的用戶成員,
|G| = 2k-k-1,
表示集合G中的成員數(shù)量,N為群組推薦的未被組內(nèi)成員評(píng)分過(guò)的項(xiàng)目集合:
本文將群組推薦問(wèn)題建模為一個(gè)非合作博弈,向群組推薦的項(xiàng)目均為納什均衡中的項(xiàng)目,具體示意圖如圖2所示.
圖2 納什均衡策略示意圖
常見(jiàn)博弈為元組(m,A,f).m為玩家(小組成員)的數(shù)目.A為玩家一組博弈動(dòng)作的集合(可能的項(xiàng)目評(píng)分值),aj∈A,為博弈動(dòng)作.f為計(jì)算玩家收益值(payoff)的函數(shù).
將一組可能的動(dòng)作填充到動(dòng)作集RA中,供玩家使用,即
這些動(dòng)作都是具有較高預(yù)測(cè)值的項(xiàng).
收益函數(shù)用于計(jì)算成員u的預(yù)測(cè)滿意度,通過(guò)給定的博弈策略下所有玩家選擇的行動(dòng)進(jìn)行計(jì)算,即
納什均衡是一種穩(wěn)定的群組策略,認(rèn)為其他參與者不會(huì)改變自己的滿意度,因此當(dāng)前參與者沒(méi)有動(dòng)力去改變自己的滿意度.而當(dāng)該群組存在多個(gè)納什均衡時(shí),本文定義獲得收益的最佳方式,即調(diào)和均值函數(shù):
其中,xi表示該群組成員對(duì)納什均衡中每個(gè)項(xiàng)目的偏好值,n表示項(xiàng)目數(shù).考慮到倒數(shù)平均數(shù)值越大,方差越小,這也意味著該策略越公平,因此優(yōu)先選取方差值較小的集合,也就是調(diào)和平均值最高的動(dòng)作集.
為了更直觀地理解本文的納什均衡策略,現(xiàn)舉例說(shuō)明.如表1所示,本文考慮一組中2位成員對(duì)5個(gè)項(xiàng)目的偏好.表2為正常博弈下的收益矩陣.
表1 群組成員偏好
表2 成員1和成員2正常博弈下的收益矩陣
由表1可看出,成員1對(duì)項(xiàng)目A、D、E的評(píng)分較高,這3個(gè)項(xiàng)目可能被其選擇為博弈的對(duì)象項(xiàng)目.同樣地,成員2可能會(huì)選擇B、C、D作為博弈的對(duì)象.可看出,該收益矩陣只具有一個(gè)納什均衡策略(A,B),其中,A表示成員1將要選擇的動(dòng)作的項(xiàng),B表示成員2將要選擇的動(dòng)作的項(xiàng).因此,7.0是成員1的收益值,5.0是成員2的收益值.原因如下:如果成員1選擇A,成員2將不會(huì)從B改變?yōu)镃或D,因?yàn)槭找鏁?huì)減少.同樣地,考慮到成員2選擇行動(dòng)B,成員1如果將選擇從A改為D或E,也沒(méi)好處.因此,如果存在其它納什均衡,則使用調(diào)和均值函數(shù).
本文提出基于納什均衡策略的群組推薦算法,步驟如算法1所示.
算法1基于納什均衡策略的群組推薦算法
輸入群組成員對(duì)項(xiàng)目的評(píng)分記錄ratings
輸出群組推薦結(jié)果R
按照item-feature的內(nèi)容把用戶劃分成組,得到群組集合G;
foruinU:
//用戶集合U
foriinI:
// 項(xiàng)目集合I
獲取每位用戶對(duì)項(xiàng)目的偏好評(píng)分pre_rat;
取top-K個(gè)預(yù)測(cè)評(píng)分項(xiàng)目添至ItemSet;
endfor
endfor
fortacticinItemSet:
//計(jì)算收益值并建立收益矩陣
payoff = f(tactic);
endfor
從payoff中獲取納什均衡;
if存在多個(gè)納什均衡:
選擇調(diào)和均值最大的納什均衡;
endif
R=max(group_rat);
//在群組預(yù)測(cè)評(píng)分中取top-K項(xiàng)目,形成群組推薦 項(xiàng)目集合R
ReturnR
設(shè)用戶數(shù)為m,項(xiàng)目數(shù)為n,算法1的時(shí)間復(fù)雜度為O(mn).
本文所有實(shí)驗(yàn)的數(shù)據(jù)集都來(lái)自KDDCUP2012Track1中的騰訊微博數(shù)據(jù)集.選取時(shí)間段為2011.11.11至2011.12.11,共30天的微博記錄,包含1 392 973名用戶對(duì)4 710個(gè)項(xiàng)目的73 209 277個(gè)歷史評(píng)分記錄,數(shù)據(jù)集的大小約為3.8G.數(shù)據(jù)集內(nèi)容包括社會(huì)關(guān)系和用戶項(xiàng)特征等信息,所有的個(gè)人數(shù)據(jù)中與用戶相關(guān)的信息都加密保護(hù),如使用數(shù)字代替用戶名和項(xiàng)目名.實(shí)驗(yàn)數(shù)據(jù)集文件列表如表3所示.
在表3的6個(gè)文件中,rec_log_train.txt中的評(píng)分值表示推薦結(jié)果,即用戶在該項(xiàng)上的顯式得分.數(shù)據(jù)格式為UserId、ItemId、Result、Unix-timestamp,分?jǐn)?shù)有3種:1表示接受,-1表示拒絕,0表示未知.通過(guò)實(shí)驗(yàn)數(shù)據(jù)需求獲取user-item-score三元組信息.
表3 數(shù)據(jù)集文件統(tǒng)計(jì)
在評(píng)分?jǐn)?shù)據(jù)集(rec_log_train.txt)上,用戶接受的記錄數(shù)只有5 253 828條,而總記錄數(shù)為73 209 277條,包含大量負(fù)樣本,還有大量的項(xiàng)目未被用戶發(fā)現(xiàn)或接受,相當(dāng)多的用戶不是很活躍.因此,將用戶的社交行為引入預(yù)測(cè)分?jǐn)?shù)中,解決數(shù)據(jù)的稀疏性,提高推薦的準(zhǔn)確性.累計(jì)用戶行為數(shù)據(jù)集(user_action.txt)上記錄用戶行為權(quán)重(user@、轉(zhuǎn)發(fā)數(shù)、評(píng)論數(shù)),最后對(duì)用戶行為權(quán)重進(jìn)行由大到小的排序,過(guò)濾活躍用戶,共有61 083人的活躍程度大于180.最后,在原始的得分?jǐn)?shù)據(jù)集上,對(duì)這些活躍用戶的得分進(jìn)行篩選和測(cè)試,總共有6 741 799條記錄.
本文將數(shù)據(jù)集按照1∶4的比例隨機(jī)劃分為測(cè)試集與訓(xùn)練集,采用交叉驗(yàn)證方式,將每個(gè)模型計(jì)算5次后取其平均值作為最終的實(shí)驗(yàn)結(jié)果.
群組推薦實(shí)驗(yàn)通過(guò)數(shù)據(jù)集上item.txt文件中的用戶分類信息查找同組用戶,本文取不同級(jí)種類的級(jí)別,分別標(biāo)記為級(jí)別1~級(jí)別4,將同種中的用戶劃分為一個(gè)個(gè)小群組,得到該組的集合G.
本文采用均方根誤差(RootMeanSquareError,RMSE)作為評(píng)價(jià)指標(biāo),RMSE表示測(cè)試集中所有預(yù)測(cè)得分和真實(shí)得分之間的平方差之和的平方根與測(cè)試集數(shù)量之比,RMSE越小,推薦越準(zhǔn)確.RMSE計(jì)算公式如下:
本文實(shí)驗(yàn)主要分為兩部分:1)針對(duì)個(gè)體的推薦模型開展性能對(duì)比實(shí)驗(yàn),驗(yàn)證LFM-MLP的有效性;2)面向群組,通過(guò)不同融合策略的效果對(duì)比實(shí)驗(yàn),驗(yàn)證納什均衡策略的有效性.
2.4.1 不同推薦模型性能對(duì)比
為了驗(yàn)證LFM-MLP的有效性,先分析不同激活函數(shù)對(duì)模型的影響,選擇tanh、ReLU激活函數(shù),LFM、MLP、和LFM-MLP在不同隱因子數(shù)量下的RMSE均值如圖3所示.
由圖3可清晰看出,當(dāng)隱因子數(shù)量為8,16,32,64時(shí),隨著隱因子數(shù)量的增加,RMSE均值減小,精度提高,推薦性能變優(yōu).本文采用的數(shù)據(jù)集的值的特點(diǎn)(即數(shù)據(jù)評(píng)分為-1,0,1)導(dǎo)致對(duì)于不同的激活函數(shù)有不同的敏感性,通過(guò)對(duì)比實(shí)驗(yàn)可看出,選擇tanh為激活函數(shù)時(shí)效果優(yōu)于ReLU.因此本文選擇tanh為網(wǎng)絡(luò)的激活函數(shù).另外,在限定隱因子數(shù)量的條件下,LFM-MLP推薦性能最優(yōu),在準(zhǔn)確率上,LFM-MLP比優(yōu)化后的LFM提升3.17%.
(a)tanh
(b)ReLU
為了驗(yàn)證LFM-MLP的優(yōu)勢(shì),選擇具有代表性的NeuMF(NeuralMatrixFactorization)[15]、LFM和M-LP.在具體的網(wǎng)絡(luò)參數(shù)設(shè)定時(shí),將NeuMF的隱層網(wǎng)絡(luò)層數(shù)設(shè)為3,即和LFM-MLP采用相同的隱層網(wǎng)絡(luò)層數(shù).
本文設(shè)置不同的潛在特征空間,在不同數(shù)量的隱因子條件下,隨著隱因子數(shù)量的變化,評(píng)估對(duì)比模型的性能.為了保障實(shí)驗(yàn)公平性,隱因子數(shù)量為8、16、32、64、128.
不同推薦模型隨隱因子數(shù)量變化的RMSE均值如表4所示.由表可看出,LFM-MLP的RMSE均值最小,當(dāng)隱因子數(shù)量為128時(shí),相比LFM-MLP,NeuMF誤差增大0.78%,表明LFM-MLP的推薦效果更優(yōu).這主要是因?yàn)長(zhǎng)FM-MLP保留LFM和MLP的優(yōu)勢(shì),也說(shuō)明本文使用線性內(nèi)核和非線性內(nèi)核分別捕捉用戶和項(xiàng)目之間的線性交互和非線性交互的方法是可行的.MLP的推薦性能最差,這可能主要與MLP的隱層層數(shù)有關(guān),過(guò)深的隱層雖然可獲取更多的非線性交互信息,也可能導(dǎo)致過(guò)擬合現(xiàn)象的發(fā)生.
表4 隱因子數(shù)量不同時(shí)各模型的RMSE均值對(duì)比
2.4.2 不同融合策略效果對(duì)比
本節(jié)的群組推薦實(shí)驗(yàn)主要對(duì)比基于滿意度的融合策略(最大滿意策略、最小痛苦策略和均值策略)[4]、UL融合策略[22]、AwU融合策略[24]和本文的納什均衡策略.UL融合策略考慮評(píng)分偏差,并與均值、認(rèn)可投票方法[23]結(jié)合.AwU融合策略是利用信息熵分析組成員評(píng)分分布的一種增強(qiáng)的偏好聚合技術(shù).
針對(duì)群組協(xié)同過(guò)濾推薦,本文采用兩種方法進(jìn)行對(duì)比實(shí)驗(yàn):
1)分組協(xié)同過(guò)濾,先對(duì)用戶分組,再使用混合模型求解用戶在組中項(xiàng)目集合的預(yù)測(cè)分?jǐn)?shù),進(jìn)行群組推薦;
2)全局協(xié)同過(guò)濾,對(duì)所有個(gè)體完成推薦預(yù)測(cè)后再對(duì)用戶進(jìn)行分組,使用全局預(yù)測(cè)評(píng)分矩陣進(jìn)行計(jì)算.這兩種方法都是將K個(gè)項(xiàng)目推薦給該組,生成一個(gè)推薦列表Top-K以計(jì)算RMSE均值.
全局協(xié)同過(guò)濾和分組協(xié)同過(guò)濾方式下不同群組融合策略的效果對(duì)比如圖4所示.
由圖4可知,無(wú)論采用哪一種融合策略,采用分組協(xié)同過(guò)濾方式的推薦效果都優(yōu)于使用全局協(xié)同過(guò)濾方式.在不同級(jí)別的類中進(jìn)行分組后,如果群組成員之間的偏好相似度較高,說(shuō)明成員之間的興趣偏好更相似,接受的概率更大,因此采用分組協(xié)同過(guò)濾方式的群組推薦效果更優(yōu).
圖4 不同協(xié)同過(guò)濾方式對(duì)群組融合策略性能的影響
對(duì)于預(yù)測(cè)值,本文定義閾值β,若預(yù)測(cè)值大于β,表示群組在真實(shí)情況下接收推送該項(xiàng)目的推薦,否則表示此項(xiàng)目的推薦不被接受.β對(duì)不同融合策略的影響如圖5所示.本文取item.txt文件中的用戶分類信息確定同組用戶,同時(shí)取不同級(jí)種類的級(jí)別,分別標(biāo)記為級(jí)別1~級(jí)別4,將同一種類中的用戶劃分為一個(gè)個(gè)小群組,得到該組的集合G.
圖5 β對(duì)群組融合策略性能的影響
由圖5可知,調(diào)整β值的大小,在一定范圍內(nèi)可提升三種基于滿意度的推薦融合策略性能.在三種基于滿意度的策略中,最小痛苦策略一直保持最優(yōu)的推薦效果.由于在均值的基礎(chǔ)上考慮評(píng)分偏差,所以UL融合策略性能優(yōu)于三種基于滿意度的融合策略.相比UL融合策略,AwU融合策略也是基于認(rèn)可投票,但是由于混合附加效用與認(rèn)可投票方法,并在此基礎(chǔ)上利用信息熵分析組成員評(píng)分的分布,所以性能優(yōu)于UL融合策略.本文的納什均衡策略性能最優(yōu),在β=0.5時(shí),取得最優(yōu)性能,RMSE均值最低.
不同群組分組級(jí)別下群組融合策略的性能對(duì)比如圖6所示.由圖可知,不同群組分組級(jí)別中分類精細(xì)度也不同,分類級(jí)別越高,分類越細(xì)化.對(duì)比融合策略在群組推薦中同樣取得良好性能.本文的納什均衡策略在級(jí)別4(分類精細(xì)度最高)上RMSE均值最低,取得最優(yōu)效果.這也說(shuō)明納什均衡策略在用戶相似度較高、分類細(xì)化度較高時(shí)推薦效果更精確.
圖6 不同群組分組級(jí)別對(duì)群組融合策略的影響
不同群組融合策略的性能對(duì)比如圖7所示.由圖可知,當(dāng)用戶選取具有個(gè)人偏好的5個(gè)對(duì)象(K=5)而形成推薦集合ItemSet時(shí),納什均衡策略獲得最優(yōu)數(shù)目,推薦性能最優(yōu).同時(shí),隨著K值的不斷增加,UL融合策略和AwU融合策略的推薦效果逐步接近納什均衡策略.由于納什均衡策略主要是在固定兩個(gè)項(xiàng)目的分布中體現(xiàn)分布之間的差異,當(dāng)用戶與其他用戶的組發(fā)生變化時(shí),項(xiàng)目的組合也會(huì)發(fā)生變化,導(dǎo)致項(xiàng)目分布發(fā)生變化,納什均衡的結(jié)果也發(fā)生變化.
圖7 K值對(duì)群組融合策略的影響
以群組為基礎(chǔ)的推薦及與神經(jīng)網(wǎng)絡(luò)結(jié)合的推薦正受到研究者們?cè)絹?lái)越多的關(guān)注.本文在LFM的基礎(chǔ)上,結(jié)合多層感知器,提出融合納什均衡策略和神經(jīng)協(xié)同過(guò)濾的群組推薦方法.首先通過(guò)Adam對(duì)兩個(gè)子模型進(jìn)行快速的預(yù)訓(xùn)練,然后將兩個(gè)模型的輸出層完全連接.采用隨機(jī)梯度下降法優(yōu)化參數(shù),改進(jìn)面向個(gè)體的MF推薦算法.在此基礎(chǔ)上,采用基于納什均衡的群組融合策略,對(duì)比分組協(xié)同過(guò)濾和全局協(xié)同過(guò)濾兩種方式.實(shí)驗(yàn)表明,本文方法性能較優(yōu).由于本文考慮用戶的社會(huì)行為和社會(huì)關(guān)系是發(fā)生在一定時(shí)間段內(nèi)的,并未考慮時(shí)間戳的影響,今后會(huì)把這一因素考慮在內(nèi),并融入更豐富的用戶信息.