吳 賓 婁錚錚 葉陽東
(鄭州大學信息工程學院 鄭州 450001)
隨著互聯網和信息技術的迅猛發展,在電子商務、電子旅游和社交網站等諸多領域都存在著海量數據,“信息過載”日益嚴峻.如何快速而精準地從浩瀚的數據海洋中幫助用戶獲取有價值的信息已成為學術界和工業界亟待解決的問題.盡管傳統的搜索引擎技術一定程度上能夠滿足用戶的需求,卻無法向用戶主動提供個性化的服務.在此背景下,推薦系統的出現被認為是緩解此問題的重要工具,它通過收集和分析用戶的歷史行為信息,從而向用戶提供可能感興趣的服務.在眾多推薦算法中[1],協同過濾[2]因其簡單高效而廣受各商業網站的青睞,如Netflix的電影推薦、今日頭條的新聞推薦等,它不僅改善了用戶的體驗且為企業帶來了可觀的商業價值[3].
與電影、新聞等領域的推薦系統不同,用戶的購買決策過程或對某物品的評分往往受多種因素所致,如圖1所示.1)物品的替代關系:用戶在購買某一物品時往往會同時瀏覽或點擊不同品牌下的同種物品,這些物品在功能上具有可替代性;2)物品的互補關系:如果某一物品與特定的物品經常被用戶一起購買,則這兩者在功能上存在較強的互補關系;3)物品的視覺信息:用戶在購買或評分某物品時會受到其色澤、風格等視覺信息的影響.

Fig. 1 An example of online shopping services圖1 一個在線購物案例
當前的推薦算法雖一定程度上能夠緩解數據稀疏、冷啟動等問題,在面對上述場景進行評分預測時卻存在3個問題.
1) 新物品的評分預測.由于新物品剛被加入系統,可使用數據較少,如何預測用戶對新物品的喜好.
2) 單一類型數據的融合.如何根據數據自身所具有的特點將其融入已有推薦模型.
3) 多源異構數據的整合.如何有效整合多源異構數據來實現數據的價值最大化是當前推薦系統面臨的最大挑戰.
由于這3個問題的存在,使得已有協同過濾算法在電商網站上的推薦精度有待進一步提升.
為了解決這3個問題,本文首先對多源異構數據下各類數據進行了形式化定義.進一步,詳細分析了用戶的評分與物品的替代關系及互補關系的相關性.最后,根據各類數據的特點為其設計了不同的融合方式,并提出一種可應用于多源異構數據環境下的推薦模型.
本文的主要貢獻有3個方面:
1) 在大數據的環境下,研究了推薦系統在面向多源異構數據時所需解決的評分預測問題;
2) 對多源異構數據中各種類型數據給出明確定義,并分析了物品的2種關系數據與用戶評分之間的相關性;
3) 提出一種融合多源異構數據的矩陣分解模型,設計了一種高效的算法MSRA(multi-source heterogeneous information based recommendation algorithm) 用于求解所提模型的參數,并詳細分析了該算法的時間復雜度.
為驗證MSRA算法的性能,在電商網站Amazon的真實數據集上,本文算法與多個主流的推薦算法進行了大量的對比.實驗結果不僅驗證了本文設計的融合多源異構數據方法的合理性,而且表明所提出算法能夠有效預測不同類型物品的實際評分,尤其可以預測目標用戶對新物品的喜好.
與本文相關的工作主要包括3個方面:1)傳統的矩陣分解推薦算法;2)融合近鄰關系的推薦算法;3)融合視覺特征的推薦算法.
在眾多傳統推薦算法中,矩陣分解因具有完善的理論基礎[4-5]、較高的預測精度[6-7]、良好的擴展性[8-9]等優點,而廣受學術界與工業界的青睞.傳統矩陣分解模型的基本思想是[5]:假設在一個購物推薦系統中存在n個物品和m個用戶,對于給定的評分矩陣R∈Rm×n,尋求用戶潛在特征矩陣P和物品潛在特征矩陣Q,使得兩者乘積所得近似擬合R.通常可基于隨機梯度下降(stochastic gradient descent, SGD)求出式(1)的局部最優解P和Q.
(1)


(2)
相應地,式(1)應修改為
(3)
其中,μ表示總體平均評分,bp,bq分別表示用戶和物品的偏置向量.bp u,bq j分別表示用戶u和物品j的評分與μ的偏差,θ={pu,qj,bp,bq,yk}.每個物品k關聯一個隱式反饋向量yk,用于建模隱式反饋信息對用戶u的潛在特征向量的影響.
傳統的矩陣分解推薦算法雖基于歷史評分信息可以預測特定用戶對某物品的偏好,但僅使用單一的評分信息而使其面臨著數據稀疏、冷啟動等問題.信息網絡的普及為獲取用戶(物品)的近鄰關系提供了便利條件,如何融合這些近鄰關系來提高推薦算法的預測精度成為眾多研究者的關注點.
傳統的矩陣分解模型通常潛在地假設用戶之間相互獨立,因而忽略了用戶之間的內在聯系.在傳統矩陣分解模型之上融合用戶的近鄰關系[10-11],不僅可以豐富單個用戶的信息,而且能更好地對各用戶進行建模.郭磊等人[12]將用戶之間的信任關系強度融入概率矩陣分解模型(probabilistic matrix factorization, PMF)設計了一種信任關系強度感知的推薦算法.Ma等人[13]基于用戶的社會關系信息設計了社會正則化,并將其用于約束PMF的目標函數,進而提出SoReg算法.Jamali等人[14]將社交網絡中的信任傳播結構與PMF結合提出SocialMF算法,該算法同時考慮了直接和間接信任關系對目標用戶喜好的影響.在眾多社會化推薦算法中,Guo等人[15]提出的TrustSVD推薦算法因同時考慮了信任關系對目標用戶興趣的顯式和隱式影響,使得該算法在評分預測任務上取得了較好的效果.TrustSVD算法中對未知評分的預測為

(4)
相應地,基于式(4)對式(3)改進后的目標函數為

(5)

在真實商業場景中,除了融合社會關系之外[16],已有不少工作通過考慮物品的近鄰關系來提升評分預測精度.文獻[17]基于評分的時序信息同時構建物品和用戶的近鄰關系,然后將兩者融入PMF中提出基于時序行為的推薦算法SequentialMF.文獻[18]基于標簽信息來構建物品和用戶的相似性關系,并將兩者融入PMF中提出基于近鄰的概率矩陣分解模型.文獻[19]基于物品的屬性信息來獲取物品的相似性關系,并將其與用戶的社會關系相結合,提出圖正則權重的非負矩陣分解模型.上述工作通過借助輔助信息來獲取用戶(物品)的近鄰關系,一定程度上提升了傳統推薦算法的精度,但如何預測用戶對新物品的喜好依然有待解決.
近些年,隨著深度學習在圖像識別、語音識別等領域取得巨大成功[20-21],眾多學者開始嘗試如何使用深度學習提取物品的視覺特征與當前的推薦模型相結合并用于推薦系統的物品排序任務;He等人[22]使用卷積神經網絡(convolutional neural network, CNN)[23]提取物品的視覺特征并將其以線性嵌入的方式與貝葉斯個性化排序算法(Bayesian personalized ranking, BPR)[24]結合提出融合視覺特征的貝葉斯個性化排序算法(visual Bayesian personalized ranking, VBPR);Roy等人[25]使用CNN提取視頻的特征并將其以特征轉換的方式與CLiMF結合提出visual-CliMF算法,實驗表明視覺特征有助于提升視頻推薦的精度;Wang等人[26]認為用戶向系統所上傳的圖片有助于提升興趣點(point-of-interest, POI)推薦的性能,作者將提取CNN特征的VGG16模型與傳統的矩陣分解模型相結合提出融合視覺特征的POI推薦框架VPOI.上述工作已經表明通過深度學習技術提取物品的視覺特征,將其與傳統的推薦算法結合用于物品排序任務雖取得了成功,但如何考慮物品的視覺特征用于推薦系統的評分預測任務目前尚存較少文獻探索.
本節將首先定義物品推薦中5種類型的數據,然后對多源異構數據的場景下評分預測問題進行形式化描述,最后分析了物品之間的2種關聯關系.
在推薦系統中,多源異構數據通常包括結構化、半結構化和非結構化數據.其中結構化數據包括用戶的顯式反饋、社交網絡、與物品相關的關聯關系等;半結構化數據包括用戶的屬性信息(比如用戶的年齡、地點、職業等)、物品的屬性信息(物品的類別、標簽等)等,這些數據可通過對其離散化或0-1化轉換成結構化數據;非結構化數據包括用戶的評論信息、與物品相關的圖像視頻等,這些數據可通過信息檢索技術或機器學習方法將其轉換成結構化數據.為了清楚起見,詳細定義了與本文相關的5種數據.
定義1.用戶的顯式反饋.本文定義用戶的顯式反饋為評分矩陣R∈Rm×n.其中Ru j≠0表示用戶u對物品j的喜好程度;Ru j=0表示用戶u尚未對物品j進行評價,但并不意味著用戶u不了解該物品.
定義2.用戶的社會關系.用戶之間的社會關系圖表示為G=(U,E),其中U表示用戶的集合.?u,v∈U,(u,v)∈E表示用戶u對用戶v存在社會關系,每條社會關系(u,v)∈E的權重Tu v∈[0,1]表示用戶之間的信任程度.但需注意的是,在大多數的社交網絡中,Tu v通常取值0或1.
定義3.物品的替代關系.物品之間的替代關系圖表示為G=(J,E′),其中J表示物品的集合.?i,j∈J,(i,j)∈E′表示物品與物品之間存在替代關系,每條替代關系(i,j)∈E′的權重表示物品之間的替代程度.
在圖1中,用戶在購買芭蕾舞裙子時會經常瀏覽不同顏色、大小、商家的裙子,那么這些裙子在實用性上是可替代的,因此它們之間的關聯關系可看作替代關系.
定義4.物品的互補關系.物品之間的互補關系圖表示為G ″=(J,E ″).?i,j∈J,(i,j)∈E ″表示物品與物品之間存在互補關系,每條互補關系(i,j)∈E ″的權重表示物品之間的互補程度.
在圖1中,用戶在購買芭蕾舞裙子時經常與手環、腿套等物品一起購買,那么裙子與這些物品之間在功能上是互補的,因此它們的關聯關系可看作互補關系.
定義5.物品的視覺特征.對于給定的物品j,通常有若干個圖片與之相對應,可借助深度學習中CNN的方法對物品j提取出視覺特征向量fj.
在大數據的環境下,多源異構數據通常比較復雜,規模也比較大.例如Amazon商業購物網站不僅包括用戶與物品的評分信息,而且包括用戶之間的社會關系、物品之間的互補關系、物品的評論和圖片信息等,其用戶和物品的數量、社會關系的數量、互補關系的數量往往達到千萬甚至上億的規模.如何合理并高效地將多源異構數據與傳統的推薦模型相融合是當前推薦系統面臨的核心問題.以下對本文所要解決的推薦問題給出了形式化定義.
問題1.評分預測.給定用戶u、物品j、評分矩陣R、用戶之間的社會關系圖G、物品之間的替代關系圖G′、物品之間的互補關系圖G ″以及物品j的CNN特征fj,本文的目標是基于上述多源異構信息預測用戶u對物品j的喜好程度.
本文以Amazon數據為例,用戶在進行網上購物時會瀏覽許多待選的商品,在對這些商品進行比較時會產生一系列的行為數據,如“同時瀏覽(also_viewed)”、“一起購買(bought_together)”等,并被系統存儲在與用戶相關的日志中.由文獻[27]可知,數據中“同時瀏覽”信息可看作物品之間的替代關系,而數據中“一起購買”信息可看作物品之間的互補關系.本文通過分析亞馬遜的4個數據集,可得出2個結論:
結論1.用戶對物品的評分與物品之間的替代關系存在弱相關性.
為了分析物品之間的替代關系對用戶評分的影響,本文計算了每個物品的評分與其替代關系中所有物品評分均值的皮爾遜相關系數(Pearson correlation coefficient, PCC),結果如圖2所示.

Fig. 2 Substitutable relationships圖2 替代關系
從圖2可以得出,從單個區間來看,由替代關系所得出的相關系數取值小于0占據大部分(分別為18.57%,17.07%,17.05%,24.28%),但從整個區間來看相關系數取值大于0占據大部分(分別為81.43%,82.93%,82.95%,75.72%)且4個數據集的平均相關系數分別為0.28 61,0.302 0,0.310 1,0.336 9.因此根據上述分析可知存在替代關系的2個物品具有弱相關性,用戶在評分或購買物品時受替代關系的影響較弱.
結論2.用戶對物品的評分與物品之間的互補關系存在強相關性.
為了分析物品之間的互補關系對用戶評分的影響,同樣地可以使用PCC計算每個物品的評分與其互補關系中所有物品評分均值的相關程度,結果如圖3所示:

Fig. 3 Complementary relationships圖3 互補關系
從圖3可以得出,從單個區間來看,由互補關系所得出的相關系數取值在區間[0.9,1.0]上占據大部分(分別為46.49%,13.27%,39.25%,45.43%)且4個數據集的平均相關系數分別為0.582 7,0.392 3,0.442 2,0.465 4.根據上述分析可知,存在互補關系的2個物品具有強相關性,因此用戶在評分或購買物品時受互補關系的影響較強.
本節將詳細研究物品的替代關系、互補關系以及視覺特征對已有推薦模型的影響,然后提出一種融合多源異構數據的矩陣分解模型.
現實生活我們在線購物時通常會瀏覽不同商家的同類物品,最終會根據物品的顏色、價格、銷量等來做出購買決定,正所謂“貨比三家”.被用戶同時瀏覽的物品通常在功能上是相似的,即存在替代關系.根據2.1節的結論可知,存在替代關系的物品之間在評分上具有弱相關性,因此在傳統推薦模型中考慮替代關系將會有效提升推薦系統評分預測的精度.為了更準確地對物品評價信息進行建模,本文假定用戶對特定物品的喜好受物品的固有特征和外在特征所影響.例如對于特定的物品j,本文使用qj來建模物品的固有特征 (如物品的類別、尺寸、重量等),使用xj來建模物品j的外在特征 (如物品的價格、銷量).Qj表示與物品j存在替代關系的物品集合.受文獻[28]啟發,物品之間的弱相關關系可通過改進式(2)來進行建模,改進后的評分預測式:

(6)
相應地,式(3)加入xt的正則項后更新為
(7)

社交網絡的普及為獲取社會關系提供了便利條件,用戶之間的這種關系通常具有較強相關性,合理使用該關系不僅可以豐富單個用戶的信息,而且能夠緩解數據稀疏、用戶冷啟動問題.在現實世界中,除用戶擁有社會關系外,某些物品之間也存在較強的關聯關系.由2.1節的結論可知,存在互補關系的2個物品與用戶的評分具有強相關性,因此融合該關系將會有效緩解物品的冷啟動問題.受結合社會關系方式的啟發,本文在TrustSVD基礎之上研究了互補關系對評分預測的影響.本節通過共享物品潛在特征矩陣Q并以聯合分解[29]的方式融入互補關系,由式(5)改進后得到的目標函數式:

(8)



(9)

(10)
相應地,可得出融入物品視覺特征的目標函數:
(11)
其中,θ={pu,qj,bp,bq,yk,bE,E}.
3.1~3.2節已詳細介紹如何對替代關系、互補關系、物品的視覺信息分別建模,然而現實生活中用戶是否購買某物品通常受多種因素所致,僅考慮1種或2種信息很難有效對用戶的興趣進行建模.當下推薦系統亟待解決的問題是如何利用數據的關聯、交叉和融合來實現數據的價值最大化,文獻[30]認為解決這一問題的關鍵在于數據的融合.綜合3.1~3.2節對不同信息源的融合方法,本節提出一種融合多源異構數據的矩陣分解模型,其示意圖如圖4所示:
最終的評分預測:

(12)
在式(8)基礎之上,可得出最終模型的目標函數:

(13)
根據文獻[13]的分析可知,使用自適應正則化來約束模型參數的學習更為合理.本文采用與之相似的做法,則模型的正則項可表示為

(14)
本文使用SGD求解融合多源異構數據的矩陣分解模型的參數,給出MSRA算法的詳細流程.
算法1.MSRA算法.
輸入:T,H,Q,Rtrain,d,c,α,β,λ,η;
輸出:bp,bq,bE,P,Q,Y,W,Z,E,X.
① 初始化模型參數bp,bq,bE,P,Q,Y,W,Z,E,X;
② while L不滿足收斂條件do
③ 引入4個臨時變量P′,Q′,W′,Z′;
④ for (u,j)∈Rtraindo




⑨ fork∈Pudo

MSRA算法的時間復雜度主要包括對目標函數L和各梯度變量的計算.計算目標函數L的時間復雜度為O(d|Rtrain|+d|T|+d|H|),|T|表示社會關系數量,|H|表示互補關系的數量.計算梯度?L?bp u,?L?bq j,?L?bE,?L?pu,?L?qj,?L?yk,?L?xt,?L?wv,?L?zi,?L?E的時間復雜度分別為其中表示物品平均被評分的數量.由此可得出算法迭代一次的復雜度為由于g?min(|X|,|T|,|H|),c一般取常數4 096,因此算法的整體復雜度與評分數量、社會關系數量、替代關系數量、互補關系數量呈線性相關,可用于處理大規模數據.
為了驗證不同類型數據對算法精度的影響,本文在Amazon數據集上進行實驗和對比分析,該數據集由文獻[24]的作者所提供.Amazon數據集中含有評分信息、同時瀏覽的物品、一起購買的物品、物品圖片等.本文選取“Office_Product”,“Video_Games”,“Grocery_and_Gourmet_Food”,“Clothing_Shoes_and_Jewelry”四個類別的數據集來驗證所提出的推薦算法.本文將數據集中“also_viewed”信息看作物品之間的替代關系,“bought_together”信息看作物品之間的互補關系.實驗中所用數據集的統計特性如表1所示,其數據集的稀疏度根據文獻[31]計算所得.

Table 1 Statistic of The Four datasets表1 4個數據集的統計特性
與He等人[22]做法類似,對每個物品選取1幅圖片,然后使用Jia等人[23]所設計的caffe框架對每個物品提取視覺特征.實驗中首先將擁有5個卷積層和3個全連接層的CNN方法在1.2million ImageNet (ILSVRC2010)圖片上進行預訓練,然后將本文數據集中的圖片數據進行訓練,最后選取第2個全連接層的輸出作為每個物品的視覺特征,這里c=4 096.
目前推薦系統的研究中,平均絕對值誤差和均方根誤差(root mean squared error,RMSE)是評分預測任務的常用評價指標.本文采用RMSE來評價推薦系統中算法的性能,RMSE通過計算預測值與真實值之間的差別來衡量推薦算法的準確性,其值越小,推薦系統的性能越好.
(15)
其中,Rtest表示測試集,|Rtest|表示測試集中用戶評分數目.
在實驗中,本文基于Librec[注]http://www.librec.net庫來實現各對比算法及MSRA算法.為了驗證多源異構數據中不同類型的數據在推薦過程中所起的作用,本文選取了7種推薦算法與MSRA進行了詳細對比:
1) UserAvg.該算法使用每個用戶的評分均值對未知的評分數據進行預測.
2) SVD++.該算法是由Koren[7]提出的一種同時考慮用戶偏置、物品偏置以及用戶隱式反饋信息的推薦算法,其預測精度是基于矩陣分解的推薦算法中精度較高的一種,并且是當年Netflix大賽獲獎者所使用的關鍵算法.
3) SVD_SR.該算法由SVD++融合替代關系(substitutable relationships)數據后所得,其目標函數為式(3).
4) TrustSVD.該算法由Guo等人[15]提出的一種社會化推薦算法.在對目標用戶的興趣進行預測時,它同時考慮了信任用戶對目標用戶的顯式和隱式影響.由于本文選取的4個數據集中不包含用戶的社會關系,根據文獻[32-33]可知,選取目標用戶的10個最相似的用戶可近似代替社會關系.
5) SVD_CO.該算法通過聯合分解的方式同時融合用戶的社會關系和物品的互補關系所得,其目標函數如式(8)所示.
6) SVD_V.該算法通過嵌入的方式將物品的視覺特征信息融合SVD++所得,其目標函數如式(11).
7) VMCF.該算法由Park等人[34]提出的一種同時考慮物品的替代關系及視覺信息的推薦算法.
為了清楚起見,根據是否個性化(personalized, P)、是否考慮替代關系(substitutable relationships, SR)、社會關系(social network, SN)、互補關系(complementary relationships, CR)、視覺特征(visual feature, VF)對算法進行了詳細的對比,如表2所示:

Table 2 Properties of Algorithms Being Compared表2 各對比算法的特性
Note: “√” means that the target algorithm includes the specific property, while “×” means excluding the specific property.
本文將數據集分成訓練集和測試集,訓練集用于學習推薦算法中的參數,測試集用于評估推薦算法的準確性.在實驗中,按照4∶1的比例將4個數據集隨機地分成訓練集和測試集.這種隨機分割數據的方式獨立地執行10次,以10次運行結果的平均值作為最后的實驗結果.為了公平起見,不同算法中的參數設置均為Amazon數據集上的最優設置.在SVD++和SVD_SR中,λ=0.1;在TrustSVD中,λ=0.9,λT=0.1;在SVD_CO中,λ=0.9,λT=λH=0.1;在SVD_V中,λ=0.9,λE=100;在VMCF中,λ=0.1,λS=0.3,λE=100;在MSRA算法中,λ=0.9,λT=0.1,λH=0.3,λE=100.此外,本文的所有實驗均設置潛在特征向量維度d=20.實驗在Windows7操作系統,64 GB內存,Intel?Xeon?CPU E5-2620 0 @ 2.00 GHz的機器上進行,實驗程序基于Java語言實現.
實驗1.全體和冷啟動物品集上的性能對比.
根據文獻[31]本文將訓練集中評分數量少于5個的物品所構成的集合稱為冷啟動物品集.實驗1用于比較各種推薦算法在全體物品集和冷啟動物品集上的性能,如表3和表4所示.

Table 3 Performance Comparison on All Items表3 全體物品集上的性能對比
Note: The best performing method in each case is boldfaced (lower is better).

Table 4 Performance Comparison on Cold Start Items表4 冷啟動物品集上的性能對比
Note: The best performing method in each case is boldfaced (lower is better).
這里需說明的是,針對SVD+與MSRA算法的推薦結果進行成對(pair-wise)的T檢驗,實驗表明所有提升對應的p值都小于0.01,即在傳統的矩陣分解模型中融合多源異構信息能夠顯著提升推薦的性能.從2個表中的實驗結果可得出5個結論:
1) 由表3可知,在4個數據集上TrustSVD與SVD++相比,其推薦性能有了不同程度的提升,這說明隱式的社會關系有助于提升傳統推薦模型的預測精度,這與文獻[32-33]的結論是一致的.
2) 在全體物品集和冷啟動物品集上,SVD_SR,SVD_CO 均要優于僅考慮評分信息的SVD++算法,這說明在傳統推薦算法基礎之上融合額外信息不僅更準確地對用戶和物品進行了建模,而且有助于緩解物品的冷啟動問題.
3) 在冷啟動場景下,考慮物品視覺特征的SVD_V明顯優于SVD++,因為SVD_V將物品的視覺特征融入傳統推薦算法SVD++可預測目標用戶對新物品(即訓練集中無評分記錄的物品)評分.
4) 相比于SVD_SR和SVD_V僅考慮一種輔助信息,VMCF具有更高的預測精度.這說明綜合考慮多源數據(替代關系和視覺信息)有助于更為準確地刻畫用戶和物品的潛在特征向量.
5) 在4個數據集的冷啟動物品集上,SVD_V相比于SVD++的提升幅度分別為0.20%,0.43%,0.74%,1.44%.不難看出融合物品視覺特征的SVD_V算法在Clothing_Shoes_and_Jewelry數據上提升最為明顯,這是因為:①該數據集中新物品的數量較多;②用戶在購買或對物品評分時,服裝、首飾等物品更易受到視覺特征的影響.
實驗2.不同評分數量下的性能對比.

Fig. 5 Distribution of items with different ratings圖5 不同評分數量下物品的分布
為了對比擁有不同評分的物品上各算法的精度,本文根據訓練集中物品所擁有的評分數目把物品分為[1∶5],[6∶10],[11∶20],[21∶40],[41∶100],100以上這6組.由于分組中不包括新物品數量,因此6組物品所占比例之和小于1.圖5顯示了各數據集中每組物品所占的比例,從圖5中可看出各數據集中擁有評分數目少于5個的物品占絕大部分.依據物品擁有的評分數目進行劃分之后,使用訓練集來學習各對比算法,然后在6組物品上分別計算RMSE.從圖6的實驗結果中可得出結論:

Fig. 6 Comparison on users with different ratings圖6 不同評分數量下用戶對比結果
1) 在數據較為稀疏時,SVD_SR和SVD_CO算法相比于SVD++提升較少,這是因為擁有評分較少的物品往往剛加入系統或處于長尾數據的尾端,這使得系統可使用的“also_viewed”和“bought_together”信息也較少.但隨著物品擁有評分數量的增加,物品趨向流行,其所擁有的關系信息變得更加豐富,因此算法提升幅度增加.
2) 在6組物品上,SVD_V明顯優于SVD++,這是說明物品的視覺特征信息不僅可提升物品排序任務的精度[26],而且可提升評分預測任務的性能.
3) 隨著物品擁有評分數目的增多,各推薦算法所得出的RMSE值并未持續下降.這因為物品擁有的評分數目較少時,數據比較稀疏使得模型不易學習到用戶的潛在特征向量.物品的評分數目增多,物品趨向流行,這使得流行物品對于學習用戶的潛在特征向量的貢獻度較少.但MSRA仍優于其他對比算法,這因為用戶對物品的評分往往受多種因素所致,綜合考慮多源異構信息的MSRA算法可更加準確地對用戶和物品進行建模.
實驗3.超參數對算法的影響.
為了分析超參數對MSRA算法精度的影響,本文以數據集Grocery_and_Gourmet_Food為例詳細討論了各超參數下的實驗結果.本文設定超參數λH的取值為0,0.01,0.1,0.3,0.5,1.0,超參數λE的取值為0,1,10,30,50,100.從圖7和圖8中可得出結論:

Fig. 7 The impact of λH圖7 λH的影響
1) 超參數λH控制著物品的互補關系在用戶決策時所占的比重,其實驗結果如圖7所示.λH=0表示不考慮物品之間的互補關系.隨著λH的增加,MSRA算法的精度有所提高,這說明考慮物品之間的互補關系有助于提高推薦系統的性能.在λH=0.3以后算法的精度開始下降,這主要是因為λH過大會導致推薦算法過度依懶物品之間的互補關系.
2) 超參數λE用于控制用戶對物品的喜好受視覺特征影響.圖8顯示了超參數λE的變化對RMSE的影響.λE=0時算法的精度最低,這是因為λE=0表示本文的模型在求解參數E時不對其懲罰,導致MSRA算法過擬合,從而使得精度降低.隨著λE的增加,其RMSE值出現較小程度的降低(如λE≥30),推薦精度基本趨向平穩,這說明MSRA算法在λE≥30后對該超參數選擇不再敏感.

Fig. 8 The impact of λE圖8 λE的影響
針對如何將多源異構數據應用到推薦系統中這一亟待解決問題,本文首先定義并分析了不同類型數據的特點,設計了各類型數據融入矩陣分解模型的方式.其后,提出一種面向多源異構數據的矩陣分解推薦模型,較大程度緩解了數據稀疏和物品冷啟動問題.本文的模型最大的優勢在于將用戶的歷史喜好信息、社會關系、替代關系、互補關系、物品的視覺特征等多個方面因素融合到統一的框架中,這是一個新穎且具有挑戰的工作.在4個數據集上與主流推薦算法進行了詳細對比分析,其實驗結果表明:本文的MSRA算法不僅可緩解物品的冷啟動問題,而且能夠準確地預測不同類型物品的實際評分.
在未來的研究中,我們將把重點放在推薦系統的物品排序任務上.這種情況下,如何合理地將多源異構信息用于提升排序相關的推薦模型精度,這是一個值得探索的方向.