田保軍 楊滸昀 房建東
摘 要:針對推薦精度不準確、數(shù)據(jù)稀疏、惡意推薦的問題,提出融合信任基于概率矩陣分解(PMF)的新推薦模型。首先,通過建立基于信任的協(xié)同過濾模型(CFMTS)將改進的信任機制融入到協(xié)同過濾推薦算法中。信任值通過全局信任及局部信任計算獲得,其中局部信任利用了信任傳播機制計算用戶的直接信任值和間接信任值得到,全局信任采用信任有向圖的方式計算得到。然后,將信任值與評分相似度融合以解決數(shù)據(jù)稀疏、惡意推薦的問題。同時,將CFMTS融入到PMF模型中以建立新的推薦模型——融合信任基于概率矩陣分解模型(MPMFFT),通過梯度下降算法對用戶特征向量和項目特征向量進行計算以產生預測評分值,進一步提高推薦系統(tǒng)的精準度。通過實驗將提出的MPMFFT與經典的PMF、社交信息的矩陣分解(SocialMF)、社交信息的推薦(SoRec)、加權社交信息的推薦(RSTE)等模型進行了結果的對比和分析,在公開的真實數(shù)據(jù)集Epinions上MPMFFT的平均絕對誤差(MAE)和均方根誤差(RMSE)比最優(yōu)的RSTE模型分別降低2.9%和1.5%,同時在公開的真實數(shù)據(jù)集Ciao上MPMFFT的MAE和RMSE比最優(yōu)的SocialMF模型分別降低1.1%和1.8%,結果證實了模型能在一定程度上解決數(shù)據(jù)稀疏、惡意推薦問題,有效提高推薦質量。
關鍵詞: 推薦系統(tǒng);信任關系;概率矩陣分解;特征向量
中圖分類號:TP183
文獻標志碼:A
Abstract:? For the problems of low recommendation accuracy, data sparsity and malicious recommendation, a new recommendation model based on Probability Matrix Factorization (PMF) and fusing trust was proposed. Firstly, by establishing a Collaborative Filtering Model based on Trust Similarity (CFMTS), the improved trust mechanism was integrated into the collaborative filtering recommendation algorithm. The trust value was obtained through global trust and local trust calculation. The local trust was obtained by calculating the direct trust value and the indirect trust value of the user by the trust propagation mechanism, the global trust was calculated by the trust directed graph. Then, the trust value was combined with the score similarity to solve the problems of data sparsity and malicious recommendation. At the same time, CFMTS was integrated into the PMF model to establish a new recommendation model — Model based on Probability Matrix Factorization and Fusing Trust (MPMFFT).
The user feature vectors and the project feature vectors were calculated by the gradient descent algorithm to generate the predicted scores, further improving the accuracy of the recommender system. Through experiments, the proposed MPMFFT was compared with the classical models such as PMF, Social Matrix Factorization (SocialMF), Social Recommendation (SoRec) and Recommendations with Social Trust Ensemble (RSTE). The proposed model has the Mean Absolute Error (MAE) and Root Mean Squared Error (RMSE) decreased by 2.9% and 1.5% respectively compared with the optimal model RSTE on the open real dataset Epinions, and has the MAE and RMSE decreased by 1.1% and 1.8% respectively compared with the optimal SocialMF model on open real dataset Ciao, verifying that the proposed model is significantly improved on the above indicators. The results confirme that the propose model can resolve the problem of data sparseness and malicious recommendation to some extent, and effectively improved the recommendation quality.
Key words:? recommender system; trust relationship; Probability Matrix Factorization (PMF); feature vector
0 引言
隨著云計算、物聯(lián)網和移動社交網絡等的快速發(fā)展,信息量迅速增長,中國互聯(lián)網絡信息中心(China Internet Network Information Center, CNNIC)在2018年7月發(fā)布信息,在《第43次中國互聯(lián)網絡發(fā)展狀況統(tǒng)計報告》中統(tǒng)計的情況:截止到2018年12月,國家現(xiàn)有的網民的規(guī)模大約為8.29億人,比上一年增加了約5653萬網民,和2017年末相比較網民數(shù)量增加了7.3%,互聯(lián)網基本的普及率達到了59.6%[1]。大家在分享和利用這些數(shù)據(jù)的同時,由于海量數(shù)據(jù)的出現(xiàn),用戶從互聯(lián)網上獲取有價值的信息越來越困難,無法將有用的信息轉為自己的需求,使得用戶對信息的利用率逐漸下降,出現(xiàn)了 “信息超載”(Information Overload)現(xiàn)象[2]。
為了讓用戶更準確獲取到所需要的信息,推薦系統(tǒng)應運而生,推薦系統(tǒng)主要對用戶的歷史行為進行分析,從而獲取到用戶的偏好,然后為用戶進行推薦,推薦的內容是個性化的。通過這樣的方法,提供給用戶的信息既有用又高效。
目前,推薦方法大致有三種:基于內容的方法[3-4]、基于協(xié)同過濾的方法[5-8]和混合推薦方法[9-11]。本文對這三種方法的特點進行了對比,見表1所示。
方法分類基本要點優(yōu)缺點基于內容的推薦基于內容推薦的核心是,得到推薦者的興趣偏好,按照推薦內容與之相匹配的程度來推薦優(yōu)點:較成熟的技術,沒有冷啟動問題;缺點:推薦結果會受目標用戶特征提取能力限制基于協(xié)同過濾的推薦基于協(xié)同過濾算法的核心是,通過用戶行為以及偏好,找到用戶鄰居,結合鄰居對項目的評分,較高的來進行推薦優(yōu)點:算法穩(wěn)定,對新來源的信息能較好的推薦;缺點:普遍存在數(shù)據(jù)稀疏、可擴展問題混合推薦混合推薦方法的核心是,獨立計算兩類推薦算法結果進行混合。選擇不同的混合方式對其結果混合,如將預測分數(shù)線性混合,或者設立評價標準,對推薦結果進行比較取較高優(yōu)點:可以較好地對結合算法的缺陷補全,推薦結果較優(yōu);缺點:由于結合多個算法,計算難度上升雖然推薦系統(tǒng)能夠緩解大數(shù)據(jù)下的“信息超載”問題,但是正面臨著一些嚴峻的挑戰(zhàn):第一,稀疏性問題。如何有效解決數(shù)據(jù)稀疏性問題,是協(xié)同過濾算法面臨的最主要問題。協(xié)同過濾方法僅依賴于評分數(shù)據(jù),預測相似性或訓練模型,而評分數(shù)據(jù)集的極度稀疏性使得推薦結果的質量很差。第二,惡意推薦問題。傳統(tǒng)推薦算法主要是依據(jù)評分數(shù)據(jù)來計算用戶間相似度,這種有效相似度的前提是評分數(shù)據(jù)是真實的、可靠的。但在實際應用場景中,這種前提往往很難得到保證。例如:在電子商務平臺,一些商家會通過各種手段給他的競爭對手肆意地進行差評,或通過其他方式(使用優(yōu)惠政策)讓用戶對其產品或服務予以好評,如果將這些不可靠的數(shù)據(jù)直接用來給目標用戶預測評分,將導致推薦系統(tǒng)的推薦質量嚴重下降。第三,推薦精度低問題。
基于概率矩陣分解(Probability Matrix Factorization, PMF)的隱因子模型(Latent Factor Model, LFM)因具有可擴展性好及靈活性高等諸多特點是目前推薦系統(tǒng)的主流模型,得到了廣泛的應用,它可以無縫地將用戶、項目等特征融入到模型中,使得該模型得到較好的推薦預測準確性。
1 融合信任和基于概率矩陣分解的推薦算法
1.1 信任基本模型
在用戶項目評分矩陣較為稀疏的情況下,結合社交網絡的推薦算法比傳統(tǒng)的推薦算法具有更多的優(yōu)點,可以提高推薦的質量。
Massa等[12]使用來自流行的互聯(lián)網網站Epionios數(shù)據(jù)集的數(shù)據(jù),采用了信任網絡的傳播特性,推斷其他用戶的額外權重,利用信任關系解決數(shù)據(jù)稀疏性、冷啟動和安全性。Golbeck等[13]提出了一種在使用信任網絡中的連續(xù)值計算這些信任關系的算法TidalTtrust,先計算用戶的直接信任度,通過原用戶與目標用戶之間的最短路徑,采用寬度優(yōu)先搜索的方式結合評分權值,計算出他們之間綜合的信任度。
Massa等[14]提出的MoleTrust模型的整體思路與TidalTrust模型相似,它們都是用寬度優(yōu)先搜索來迭代計算用戶間的信任度,只是MoleTrust模型在計算用戶對目標用戶信任時,搜索目標用戶之間的路徑設置不同,參照了目標用戶的最路徑長度。Jamali等[15]結合了信任網絡與協(xié)同過濾的隨機游走模型TrustWaller,為了避免隨機游走的深度增加,距離目標用戶越來越遠,影響推薦精準度,該隨機游走模型的深度,盡量選擇距離用戶較近的鄰居,且考慮目標信任用戶對項目的評分,以及這些項目的相似項目的評分。Guo等[16]提出了三個因子相似性模型,其中基于隱式用戶反饋結合了項目推薦的社會信任信息。該模型引入矩陣分解技術,根據(jù)用戶用戶和項目項目的相似性,計算用戶項目評分和未評分項目之間的用戶偏好,通過三個真實數(shù)據(jù)集的實驗結果表明,該模型可以獲得優(yōu)于其他同行的排名表現(xiàn)。Zhang等[17]提出一種基于社交網絡中隨機梯度矩陣分解的社會推薦模型,以提高預測精度。將社會網絡作為輔助信息,根據(jù)基于社會推薦模型的矩陣分解,系統(tǒng)地說明了如何利用社會正規(guī)化設計矩陣分解目標函數(shù)。它將社交網絡矩陣與用戶評分矩陣結合,并提出了一種用于矩陣分解的隨機梯度下降算法,對兩個大型數(shù)據(jù)集的實證分析表明,其模型具有較低的預測誤差,并且明顯優(yōu)于其他最先進的模型。Nazemian等[18]利用社交網絡中的信任信息和用戶個人數(shù)據(jù)來提供個性化推薦,提出了一個提高信任感知推薦系統(tǒng)精準度的模型。在Extended Epinions數(shù)據(jù)集上進行評估模型,這種模型可以顯著提高推薦系統(tǒng)的精準度,同時不會降低推薦系統(tǒng)的覆蓋范圍。
本文將信任關系引入到推薦系統(tǒng)當中,綜合考慮了全局和局部信任,通過信任的傳播建立了新的信任模型,充分挖掘用戶之間的信任關系,設置推薦權重,結合信任度和評分相似度來度量用戶之間的相似度,以提高推薦的可信度和準確度,解決只依靠評分進行推薦的局限性。
概率矩陣分解模型是目前推薦系統(tǒng)的研究熱點之一,本文將社交信任關系、評分信息融入到概率矩陣分解模型中,使用自適應權重,動態(tài)調整各部分的影響因子,形成高效統(tǒng)一的模型,進一步提高了推薦系統(tǒng)的質量。
1.2 改進信任值的度量
通常,采用信任網絡有向圖的方式計算信任值。
其中用戶的局部信任網絡如圖1所示。
1.2.1 全局信任值全局信任值是整個信任網絡中的聲望或地位,也就是每個用戶在處于當前的信任網絡中只擁有一個全局信任值。全局信任值的計算如式(1)所示:
其中:td(u)代表了信任網絡中用戶u的入度,其值代表了信任用戶u的用戶數(shù)量,該數(shù)量直接體現(xiàn)了用戶u的全局信任度;min(td (w))代表了信任網絡圖中,所有用戶節(jié)點中最小的入度,可以理解為信任關系圖中信任關系最少的用戶;max(td (w))代表了信任網絡中,所有用戶節(jié)點中最大的入度,可以理解為信任關系圖中最受用戶信賴的目標用戶,全局信任度Gu的值是在[0,1]內。
1.2.2 局部信任值
對于局部信任值,采用信任傳播的計算方法。MoleTrust是一種經典的信任傳遞模型,該模型計算用戶u和用戶v間的信任值,如式(2)所示:
其中:Tuk表示用戶u對用戶k的信任度;Tkv表示用戶k對用戶v的信任度;N(u)是用戶u的鄰居集;tuv是通過信任傳遞計算得到的用戶u與用戶v的間接信任值。
MoleTrust模型雖然考慮了信任傳播特性,但忽略了信任值與信任傳播路徑的關系。因此本文在其基礎上進行了改進,得到改進后的局部信任的計算方法,如式(3)所示:
其中:d代表了在信任網絡中用戶u與用戶v連接最短路徑的長度,也就是通過信任傳播到達用戶v的最短距離。本文采用深度優(yōu)先算法搜索進行計算,為了避免路徑過長,數(shù)據(jù)冗余和失真等“垃圾”數(shù)據(jù)的產生,根據(jù)的“六度區(qū)隔”理論[19],對d的范圍限定在區(qū)間[0,6]。
在計算全局信任值與局部信任值之后,采用加權求和的方法得到用戶u與用戶v的最終信任值,如式(4)所示:
其中:Gu表示通過式(3)得到的用戶u與用戶v的局部信任值;Luv表示通過式(1)得到的用戶u的全局信任值。
1.3 建立融合信任度與評分相似度的協(xié)同過濾模型
本文采取融合評分相似度和信任值的方法,建立了基于信任相似度的協(xié)同過濾模型(Collaborative Filtering Model based on Trust Similarity, CFMTS)。
利用皮爾遜相關系數(shù)公式計算用戶間的評分相似性,公式如下:
其中:rui表示用戶u對項目i的評分值;rvi表示用戶v對項目i的評分值項目i的評分值;Iuv表示用戶u與用戶v的共同評分項目集;Iu表示用戶u的評分項目集,Iv表示用戶v的評分項目集;ru表示用戶u所有評分項目的平均值;rv表示用戶v所有評分項目的平均值。
權衡信任度和評分相似性度對推薦結果的影響。得到用戶u和用戶v的新的相似度ωuv,可以通過式(6)計算得到:
考慮到信任值的傳遞會隨路徑的增長而減小,因此,在式(6)中的引入影響因子a,其計算方法如式(7)所示:
其中:tuvr′表示第r條路徑上用戶u與用戶v的信任值;road(u,v)表示信任網絡中,用戶u連接到用戶v所有路徑的集合;road(u,v)表示用戶u到用戶v之間最短路徑長度。
影響因子b的計算如式(8)所示:
1,其他(8)
其中:n為用戶u與用戶v共同打分項目的數(shù)量;n1是系統(tǒng)中對項目的最少打分數(shù)量;n2是系統(tǒng)中對項目的最多打分數(shù)量。當用戶u和用戶v的共同打分數(shù)量n接近n2時,
說明兩個用戶的偏好程度較高。
1.4 建立基于PMF的推薦模型
基于PMF的推薦模型,由于其推薦精度高而成為學術界最流行的推薦方法之一,主要思想是通過矩陣分解技術將用戶項目映射到一個低維公共的隱特征空間,將用戶對某一個項目的評分,對應到它們的隱向量的內積。
本文將CFMTS融入到PMF模型中,建立了新的融合信任基于概率矩陣分解模型(Model based on Probability Matrix Factorization and Fusing Trust, MPMFFT),進一步提高了推薦系統(tǒng)的精準度。
將PMF模型分解后得到的用戶i與項目j的隱因子向量分別為U和V,
利用式(9)得到用戶i對項目j的評分:
其中: Ni表示用戶i的最近鄰居集。
那么,新推薦模型MPMFFT,用戶i對項目j的評分Rij 關于特征向量U、V 的條件概率分布為:
其中:U∈Rd×M和V∈Rd×N是用戶與項目的特征矩陣,都滿足均值為0、方差為σ2U、σ2V的高斯先驗分布;
N(xμ,σ2R)是均值為μ、方差為σ2R的高斯分布;
IRij為指示函數(shù),如已為用戶u對項目i進行了評分則為1,否則為0;g(x)=1/(1+exp(-x))是邏輯回歸函數(shù),限定用戶對項目的評分值,從而使得評分值轉換為[0,1]內。
對式(10)取對數(shù)后得到式(11):
其中:C是常量,不依賴于任何參數(shù);D是對應的潛在特征矩陣的維數(shù)。最大化式(11)的后驗概率,等同于最小化式(12)的目標函數(shù):
本文的實驗設λU=λV,以降低算法的復雜度。
利用梯度下降方法對式(12)求得極小值,得到了用戶的特征向量U和項目的特征向量V。
其中:Ut+1i和Vt+1j表示迭代后的計算結果,Uti和Vtj為迭代之前的數(shù)值,τ為迭代步長。從而計算出用戶i對項目j的預測評分R^ij。
1.5 算法流程
MPMFFT的具體流程如下:
輸入 對信任的矩陣Z初始化,用戶項目評分矩陣R初始化(其中:用戶的數(shù)量為N,項目數(shù)量為M)。
輸出 對評分矩陣的預測評分R′。
1)遍歷信任整個網絡,根據(jù)式(1)計算每個用戶全局信任度Gu;
2)遍歷信任整個網絡,根據(jù)式(3)計算每個用戶的局部信任度Luv;
3)根據(jù)式(4)計算綜合信任度Tuv;
4)遍歷用戶集中(包含N個用戶)任意兩個用戶u與v,根據(jù)式(5)計算用戶間的相似度sim[u][v];
5)權衡信任關系和評分相似性關系對推薦結果的影響,遍歷用戶集中任意兩個用戶i與k,根據(jù)式(6)計算推薦權重ωik;
6)計算p(U,VR,σ2R,σ2U,σ2V);
7)計算ln p(U,VR,σ2R,σ2U,σ2V);
8)計算L(U,V,R,T′);
9)利用梯度下降法,根據(jù)式(13)和(14)分別計算Ui和Vj;
10)根據(jù)式(15)計算R^ij。
2 實驗分析
2.1 實驗環(huán)境
采用CPU 3.5 GHz Intel Core i7,1TB硬盤、內存8GB、千兆交換機;操作系統(tǒng)為Windows 7(64位);編程環(huán)境使用Anaconda 3,開發(fā)語言為Python 3.7。
2.2 實驗評價標準
為了評價本文提出的推薦模型的質量,采用了經典的平均絕對偏差(Mean Absolute Error, MAE)和均方根誤差(Root Mean Squared Error, RMSE)作為評價標準。通過計算預測值和真實值之間的平均絕對偏差來反映預測結果與實際情況的偏差,所計算的MAE與RMSE值越小,則表示模型對應的預測值和真實的評分值之間的誤差就越小,代表著推薦結果的精度就越高。
其中:T表示測試集評分記錄數(shù);Rij表示用戶i對項目j的真實評分;R^ij表示用戶i對項目j的預測評分值。
2.3 實驗結果分析
Epinions是由Epinios.com網站提供的真實數(shù)據(jù)集,它是一個對文章的評論網站,該網站成立于1999年,用戶可以在文章原有評論的基礎上增加自己的評論,并且能夠在[1,5]內對項目評分,這些評分信息和評論等行為都會被系統(tǒng)記錄,同時在其他顧客來訪時產生影響,而且該網站對每個用戶都保留了信任列表,這個列表代表著用戶與用戶之間的行為關系,其信任關系是離散且簡單的0、1有向信任關系。
Ciao(ciao.co.uk)數(shù)據(jù)集通常被用于推薦系統(tǒng)實驗,該數(shù)據(jù)集也包含了用戶對電影的評分信息,評分值均在[1,5]內,其信任關系也是0、1的有向信任關系。兩個數(shù)據(jù)集的具體信息見表2所示。
首先,評測式(9)中的參數(shù)α對本文中MPMFFT的影響。若α=1,則MPMFFT就變成概率矩陣分解模型PMF,是用戶正常喜好推薦;若α=0,則MPMFFT只通過信關系預測用戶的喜好;當α∈(0,1)內時,MPMFFT將用戶項目評分矩陣R與用戶間信任關系融入到概率矩陣分解模型中,預測用戶對項目的評分。
1)本文將Epinions數(shù)據(jù)集進行隨機分割,采取5折交叉驗證和10折交叉驗證,將其 80%和 90%作為訓練集來計算MAE的值和RMSE的值。先假定特征矩陣的潛在維度D=20,目標函數(shù)的迭代次數(shù)τ=40,確定了參數(shù)α的值后,再進行實驗對特征矩陣維度D的最優(yōu)取值。
參數(shù)α對實驗評價標準MAE和RMSE值的影響,實驗結果如圖2~3所示。
從圖2中,可以得出以下結論:在特征矩陣維數(shù)D=20,迭代次數(shù)τ=40的條件下,不論是將數(shù)據(jù)集的80%還是 90%作為訓練集進行交叉實驗,MAE的值將隨著α的值的增加而變化,總體上先下降,后上升的趨勢,MAE都在α=0.4時取得最小值。
從圖3中,可以得出以下結論:在特征矩陣維數(shù)D=20,迭代次數(shù)τ=40的條件下,不論是將數(shù)據(jù)集的80%還是 90%作為訓練集進行交叉實驗,RMSE的值隨著α的值得增加而變化,總體上先下降,后上升的趨勢,RMSE都在α=0.4時取得最小值。
2)通過上述實驗的結果可知,在參數(shù)α=0.4的情況下,采取采用5折交叉驗證以及采用10折交叉驗證,MAE值和RMSE值均為最小值。因此,采用α=0.4,驗證參數(shù)β對MAE值和RMSE值的影響,如圖4~5所示。
從圖4~5中能夠看出,在Ciao和Epinions數(shù)據(jù)集上,當β為0.1 和0.3 時,RMSE與MAE的評價指標均達到最小值。
3)特征矩陣維數(shù)D對MPMFFT的影響。圖6~7為在參數(shù)α=0.4, β=0.1及迭代次數(shù)τ=40的條件下,特征矩陣維數(shù)D對MPMFFT的MAE值和RMSE值的影響。從圖6~7可看出:無論使用 80%或 90%的訓練數(shù)據(jù),MAE值和RMSE值都是隨著特征矩陣維數(shù)D的增加而減小。還可以從圖6~7中進一步觀察到,當維度D大于某一閾值80時,MAE和RMSE預測精準度下降趨勢變得平坦。根據(jù)以上實驗的結果,本文采用D=80。
在參數(shù)α=0.4, β=0.1,潛在特征矩陣維度D=80及迭代次數(shù)τ=40的條件下,將本文所提出的MPMFFT與4種經典模型:PMF模型、加權社交信息的推薦(Recommendations with Social Trust Ensemble, RSTE)模型、社交信息的推薦(Social Recommendation, SoRec)模型和社交信息的矩陣分解(Social Matrix Factorization, SocialMF)模型,分別在Epinions與Ciao兩種數(shù)據(jù)集上進行了RMSE與MAE值的比對,其中,數(shù)據(jù)集中的80%作為訓練集,20%作為測試集進行訓練。模型的其他參數(shù)設置見表3所示。實驗結果如圖8~9所示。