本發(fā)明屬于數(shù)據(jù)挖掘和大數(shù)據(jù)領域,特別涉及一種基于信任關系隱含相似度的社會化推薦方法。
背景技術:
:在日常生活中,隨著網(wǎng)絡信息的不斷發(fā)展,信息過載問題變得越來越嚴重。如何從海量的數(shù)據(jù)中獲得有效的信息,對于普通用戶來說是一個巨大的挑戰(zhàn)。推薦算法是解決這一問題的重要手段之一,通過對用戶的歷史行為建模,主動向用戶提供滿足用戶潛在偏好的產(chǎn)品。對于用戶來說,推薦系統(tǒng)能夠幫助他們在海量的信息中快速找到滿意的信息;對于商家來說,推薦系統(tǒng)不僅能幫助決定向特定用戶推銷那些產(chǎn)品,同時能夠通過更滿意的服務增加用戶的忠誠度。推薦系統(tǒng)廣泛應用于大量的電子商務網(wǎng)站中,比如淘寶、京東、亞馬遜等,已經(jīng)成為網(wǎng)絡應用的重要組成部分之一。盡管近年來推薦算法在各種應用中都取得了巨大的成功,然而數(shù)據(jù)稀疏問題仍然是影響算法性能的重要瓶頸之一。推薦算法通?;谟脩舻臍v史數(shù)據(jù)對用戶偏好進行建模,然后根據(jù)用戶的偏好從海量的數(shù)據(jù)中找到合適的產(chǎn)品推薦給用戶。而當這些數(shù)據(jù)并不足以反映用戶或產(chǎn)品的屬性時,推薦性能就會受到影響。具體來說,在一般情況下,大多數(shù)用戶由于精力有限或個人隱私等原因,并不會對所有的產(chǎn)品進行評價,相反,只會選擇少量的產(chǎn)品進行評分,從而所獲得的評分矩陣只有少量是已知的,而其他大量的未知評分則是推薦算法的預測目標。此時,這少量的評分數(shù)據(jù)只能反映用戶非常少的有用信息,而基于此所建立的模型也難以準確把握用戶真正的喜好,進而導致推薦精度下降,這一問題被稱為數(shù)據(jù)稀疏問題。圍繞著數(shù)據(jù)稀疏的問題,許多學者提出了有效的解決方法。其中,結合社交信息的推薦算法是解決數(shù)據(jù)稀疏問題的有效手段之一。一方面,在生活中,人們在做出決定之前通常會向他的好友咨詢,并受到好友的影響;另一方面,人們總是傾向于與他愛好相似的人結為好友關系。因此,社交網(wǎng)絡數(shù)據(jù)在一定程度上揭示了用戶的偏好相似性,這對提高推薦算法的質量提供了新的機會。特別是在處理數(shù)據(jù)稀疏問題上,社會化推薦算法能顯著提高稀疏用戶的推薦性能,從而提升用戶體驗和忠誠度。近年來,社會化推薦算法吸引了越來越多研究人員的關注,成為推薦算法的熱門研究領域之一??紤]到用戶對每個好友的信任強度并不相同,如何估計用戶之間的信任度,成為影響社會化推薦算法進一步提高的重要問題之一。該相似度可以從評分或信任數(shù)據(jù)的角度進行度量,即基于具有相似的評分行為或信任關系的用戶之間具有相似的興趣偏好的假設,可以用評分或信任相似度量用戶之間的信任度。然而,這些相似度的都是基于共同評分或好友集合進行計算,這對于用戶間信任度的計算在評分或信任數(shù)據(jù)非常稀疏的時候,有效信息較少,采用直接計算的方法得到的信任度并不可靠。技術實現(xiàn)要素:本發(fā)明針對上述問題,為了處理數(shù)據(jù)稀疏對于信任度估計的不利影響,提出一種新的信任值度量方法,并在此基礎上提出一種新的社會化推薦方法。本發(fā)明所采用的技術方案是:一種基于信任關系隱含相似度的社會化推薦方法,具體步驟為:步驟1:利用概率矩陣分解的方法獲得用戶的信任者和被信任者向量,從而隱含用戶間的直接和間接關聯(lián);步驟2:基于以上用戶的信任者和被信任者向量,計算用戶間的信任關系隱含相似度。步驟3:利用用戶間的信任強度以及評分數(shù)據(jù)計算用戶和產(chǎn)品的特征向量。并采用梯度下降的方法最小化代價函數(shù),得到用戶和產(chǎn)品的潛在特征向量。步驟4:根據(jù)用戶和產(chǎn)品的潛在特征向量預測用戶對未評分向量的評分,并據(jù)此產(chǎn)生推薦結果。本發(fā)明通過概率矩陣分解的方法得到用戶的信任和被信任向量,該向量隱含了用戶之間的直接和間接關聯(lián),從而更充分的挖掘了稀疏的評分和信任數(shù)據(jù)中的信息。其次,本發(fā)明通過概率估計的方法得到用戶的信任關系隱含相似度,從而提升了信任關系強度的估計精度。最后,本發(fā)明綜合考慮了用戶之間的評分相似度,進一步提升算法對于數(shù)據(jù)稀疏情況下的魯棒性。附圖說明圖1:本發(fā)明實施例的原理模型圖。具體實施方式為了便于本領域普通技術人員理解和實施本發(fā)明,下面結合附圖及實施例對本發(fā)明作進一步的詳細描述,應當理解,此處所描述的實施示例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。請見圖1,本發(fā)明提供的一種基于信任關系隱含相似度的社會化推薦方法,包括以下步驟:1.利用概率矩陣分解的方法計算用戶的信任和被信任向量:a)令和分別表示用戶u作為信任者和被信任者時的偏好向量,特征維度為K。采用均值為0,方差為0。1的高斯分布進行初始化。b)建立社交關系的損失函數(shù):L(P,W,T)=12Σi=1NΣj=1NIu,iR(Ti,j-g(PiTWj))2+λP2Σi=1NPiTPi+λW2Σi=1NWiTWi]]>其中,N表示用戶數(shù)量,P∈RK×N和W∈RK×N分別表示用戶作為信任者和被信任者時的K維偏好矩陣;T∈RN×N表示用戶之間的信任關系矩陣,Tu,v表示用戶u和用戶v之間的社交關聯(lián),1表示存在關聯(lián),0表示不存在關聯(lián);Nu表示用戶u的信任對象集合;是Pu的轉置,是的轉置;λP和λW分別表示抑制P和W過擬合的參數(shù);c)對于每對信任數(shù)據(jù)(u,v),計算信任者和被信任者向量的梯度,并進行迭代更新:Put+1=Put-α∂L∂Put]]>Wvt+1=Wvt-α∂L∂Wvt]]>其中,t表示當前迭代次數(shù),α表示學習率;和分別表示第t次迭代后對應的Pu和Wv,和分別表示第t+1次迭代后對應的Pu和Wv;每次迭代中,將第t次的計算結果減去α乘以梯度,得到t+1次的計算結果;d)計算損失函數(shù),如果損失函數(shù)的值相比于上次結果變化大于閾值ε,則跳轉到b),否則跳轉到e):e)退出循環(huán),獲得計算結果P和W。2.利用P和W計算信任關系隱含相似度:a)計算信任者隱含相似度:Su,vP=PuTPv]]>其中,表示用戶u和v之間的信任者隱含相似度,Pu和Pv分別表示用戶u和v作為信任者時的特征向量;b)計算被信任者隱含相似度:Su,vW=WuTWv]]>其中,表示用戶u和v之間的信任者隱含相似度,Wu和Wv分別表示用戶u和v作為被信任者時的特征向量。3.利用用戶間的信任強度以及評分數(shù)據(jù)計算用戶和產(chǎn)品的特征向量:a)建立社會化推薦方法的損失函數(shù),作為優(yōu)化目標:L(P,T,U,V)=12Σu=1NΣi=1MIu,iR(Ru,i-g(UuTVi))2+λU2Σu=1NUuTUu+λV2Σu=1NViTVi+λT2Σu=1N((Uu-Σv∈NuSu,vUvΣv∈NuSu,v)T(Uu-Σv∈NuSu,vUvΣv∈NuSu,v))+λS2Σu=1NΣv∈Nu(Su,v-g(UuTUv+Su,vP+Su,vW))2]]>其中,N和M分別為用戶和產(chǎn)品的數(shù)量,R和T分別表示用戶的評分和社交數(shù)據(jù),U∈RK×N和V∈RK×M則分別表示用戶和項目的K維特征矩陣;指示用戶u是否對項目i有評分,1表示有評分,0表示沒有;Nu表示用戶u的信任對象集合;Ru,i表示用戶u對項目i的評分,Su,v表示用戶u對v的信任強度;Uu和分別表示用戶u的潛在偏好向量及對應轉置,Vi和分別表示項目v的潛在偏好向量及對應轉置;λU、λV、λT和λS表示約束各項權重的參數(shù)。在本方法中,約束用戶u對v的信任強度Su,v近似等于評分相似度和信任關系隱含相似度之和,并采用g(x)=1/(1+e-x)將估計值映射到[0,1]范圍內(nèi);b)對于每對評分數(shù)據(jù)(u,i),計算各向量的梯度,并進行迭代更新:Uut+1=Uut-α∂L∂Uut]]>Vit+1=Vit-α∂L∂Vit]]>Su,vt+1=Su,vt-α∂L∂Su,vt]]>其中,t表示迭代次數(shù),α表示學習率;每次迭代將t次的結果減去α乘梯度,從而得到新的參數(shù)值;c)迭代次數(shù)不到100,則跳轉到b),否則跳轉到d)。d)退出循環(huán),獲得計算結果。4.利用用戶和產(chǎn)品的特征向量計算推薦結果:a)對于每個用戶u和待預測產(chǎn)品i,計算預測評分:R^u,i=UuVi]]>其中,表示用戶u對項目i的預測評分。b)根據(jù)預測評分,評估推薦效果。MAE=1NΣ(i,j)∈I|R^i,j-Ri,j|]]>RMSE=Σ(i,j)∈I(R^i,j-Ri,j)2N]]>其中,MAE和RMSE分別表示平均絕對誤差和均方根誤差。N表示預測評分的數(shù)量,I表示所有測試數(shù)據(jù)。請見表1,是本發(fā)明在Epinions和Ciao數(shù)據(jù)集上的推薦精度及與其他算法的對比;表1本發(fā)明在Epinions和Ciao數(shù)據(jù)集上的推薦精度及與其他算法的對比通過表1,可以看出:(1)本文發(fā)明相比于其他社會化推薦算法,在MAE和RMSE上都有明顯的提高;本發(fā)明利用了信任者和被信任者向量計算信任關系隱含相似度,對用戶間信任強度進行修正,從而得到了更優(yōu)的推薦質量;(2)本發(fā)明在Epinions和Ciao數(shù)據(jù)集上都能有效提升推薦精度??梢?,本發(fā)明對于獨立收集的不同數(shù)據(jù)集,也能保持良好的性能,進而驗證了文中算法提出的信任關系隱含相似度具有可靠的魯棒性,并不對特定的數(shù)據(jù)集有明顯的偏向性。應當理解的是,本說明書未詳細闡述的部分均屬于現(xiàn)有技術。應當理解的是,上述針對較佳實施例的描述較為詳細,并不能因此而認為是對本發(fā)明專利保護范圍的限制,本領域的普通技術人員在本發(fā)明的啟示下,在不脫離本發(fā)明權利要求所保護的范圍情況下,還可以做出替換或變形,均落入本發(fā)明的保護范圍之內(nèi),本發(fā)明的請求保護范圍應以所附權利要求為準。當前第1頁1 2 3