国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于評分填充與信任信息的混合推薦算法

2020-10-18 12:56沈學利李子健赫辰皓
計算機應用 2020年10期
關鍵詞:信任矩陣評分

沈學利,李子健,赫辰皓

(1.遼寧工程技術大學軟件學院,遼寧葫蘆島 125105;2.遼寧工程技術大學電子與信息工程學院,遼寧葫蘆島 125105)

(*通信作者電子郵箱zijianli1122@163.com)

0 引言

我們生活在一個信息時代,每天都有越來越多的書籍、期刊文章、網(wǎng)頁和電影問世。越來越龐大的數(shù)據(jù)總量造成了信息篩選的困難,這便是信息過載問題。推薦系統(tǒng)是解決信息過載問題的一個重要手段,然而推薦系統(tǒng)長期面臨著數(shù)據(jù)稀疏性的問題。造成此種問題的主要原因是用戶僅僅為其交互過的少數(shù)項目評分,常用數(shù)據(jù)集的評分稀疏度均在5%以下,而一些真實數(shù)據(jù)集的評分稀疏度甚至不足0.1%,評分數(shù)據(jù)的大量缺失造成推薦算法提取數(shù)據(jù)關系時缺乏足夠的依據(jù),造成推薦偏差。

為了緩解數(shù)據(jù)稀疏性問題,研究者們主要從以下兩個方面進行改進:一方面,使用混合推薦的方法。利用一種算法對評分矩陣中缺失值進行填充,再使用另一種方法基于填充后的矩陣上生成預測結果。比如杜倩[1]使用聚類獲取用戶近鄰的評分均值實現(xiàn)評分填充;Liu 等[2]使用奇異值分解(Singular Value Decomposition,SVD)算法實現(xiàn)矩陣缺失值的填充。另一方面,在評分信息之外,通過引入輔助信息(side information),增加算法中的有效信息量,從而達到緩解數(shù)據(jù)稀疏性的目的。比如,劉方婷等[3-5]分別將時間因素、社交關系與用戶(項目)屬性信息引入到推薦算法中。

上述兩種方法從兩個不同的角度,對于數(shù)據(jù)稀疏性問題起到了一定的緩解作用。為了進一步提高推薦準確度,本文對兩種方法分別加以改進與融合,提出一種基于評分填充與信任信息的混合推薦算法RTWSO(Real-value user item restricted Boltzmann machine Trust WSO):

首先,使用基于用戶與項目的實值受限玻爾茲曼機(Real-value User Item Restricted Boltzmann Machine,RUIRBM)算法對評分矩陣進行填充。受限玻爾茲曼機(Restricted Boltzmann Machine,RBM)是一種二層神經(jīng)網(wǎng)絡模型,由Salakhutdinov 等[6]于2007年首次應用在推薦系統(tǒng)中,取得了良好的推薦效果。本文提出使用一種基于實值的,同時對項目與用戶建模的受限玻爾茲曼機(RUI-RBM)模型對用戶-項目評分矩陣進行填充,以達到更加精確的評分填充效果。

其次,使用填充完整的評分矩陣,通過加權Slope One(Weighted Slope One,WSO)算法對評分進行預測。本文算法中的權值將使用信任信息相似度。本文提出一種基于矩陣分解的信任關系相似度計算算法,此算法通過概率矩陣分解[7]獲得用戶間的間接信任關系,并且同時考慮信任信息中的信任與被信任情況。

本文算法RTWSO通過對兩個算法的線性組合,緩解了單一算法所存在的數(shù)據(jù)稀疏性問題,并對信任信息進行合理化建模,提高了算法的精確度。

1 相關工作

Salakhutdinov 等[6]提出的應用于推薦系統(tǒng)的受限玻爾茲曼機模型示意圖如圖1 所示,模型包含一個可見層與一個隱藏層。對于包含m個用戶、n個項目,評分范圍1~k的推薦情景,此模型對每一個用戶建立一個RBM 模型,每個模型的可見層中包含n個包含k個節(jié)點的Softmax 單元,用于表示此用戶對所有項目的評分,可見層每個節(jié)點與隱藏層形成全連接。

圖1 受限玻爾茲曼機模型Fig.1 Constrained Boltzmann machine model

RBM模型主要存在以下缺陷:

1)模型的可見單元使用k維的Softmax 單元表示,導致模型所涉及的參數(shù)變?yōu)樵瓉淼膋倍,大幅降低了模型的運算效率;

2)由于每個RBM 模型間共享權值和偏置,這使得如果兩用戶對同一項目進行評價,那么它們所對應的RBM 模型將在該項目的可見單元與隱單元得到同樣的權重與偏置,缺乏可解釋性。

針對上述兩個問題,Georgiev 等[8]提出將評分數(shù)值直接應用在可見層,降低了算法的復雜度;霍淑華[9]提出一種基于項目的RBM 模型,取得了較優(yōu)的推薦效果。本文在此基礎上,使用一種基于實值的,并同時對項目與用戶建模的受限玻爾茲曼機模型(RUI-RBM),模型如圖2 所示。此模型主要進行了如下兩點改進:

1)在模型的可見層中,評分值直接使用用戶評分值表示,未評分數(shù)據(jù)由0 表示,相對于Softmax 單元,削減了參數(shù)數(shù)量,使訓練時間大大縮短;

2)不同于傳統(tǒng)RBM 模型只針對用戶或項目進行建模,本模型同時對用戶與項目建模,評分值由兩模型權重與偏置共同決定,模型具有更強的可解釋性。

圖2 RUI-RBM模型Fig.2 RUI-RBM model

由圖2 所示,方框內表示包含m個用戶、n個項目所形成的評分矩陣,評分范圍1~k的推薦情景,RUI-RBM 模型可視為基于用戶的受限玻爾茲曼機(Real-value User Restricted Boltzmann Machine,RU-RBM)模型以及基于項目的受限玻爾茲曼機(Real-value Item Restricted Boltzmann Machine,RI-RBM)模型疊加而成,RU-RBM 與RI-RBM 分別包含各自的連接權重Wu與Wi,以及各自的隱單元偏置bu、bi,可見單元偏置cu、ci,兩模型共享評分矩陣。在模型構建過程中,RUI-RBM模型將會對評分矩陣同時從基于用戶以及基于項目的角度進行建模,RU-RBM 與RI-RBM 共享評分矩陣,但訓練過程相互獨立,下面以RI-RBM為例來對模型訓練過程加以說明。

圖3表示一個RI-RBM模型,模型包含一個可見層V,層內包含m個實值節(jié)點,隱藏層包含n個二值單元,用于提取數(shù)據(jù)間特征??梢妼优c隱層各節(jié)點均包含一個偏置,使用bj表示第j個隱節(jié)點偏置,ci表示第i個可見節(jié)點的偏置,所有偏置值初始值設為0;wij表示第i個可見節(jié)點與第j個隱節(jié)點的連接權重,使用滿足正態(tài)分布N(0,0.01)的隨機數(shù)進行初始化。由RBM 的結構可知:當給定可見單元的狀態(tài)時,隱單元各節(jié)點激活條件獨立;反之,給定隱單元狀態(tài)時,可見單元取值也是獨立的??梢姽?jié)點使用實值表示評分,應在原RBM 能量模型基礎上加入一個二次方項,此模型的能量計算公式為:

根據(jù)能量公式,則當可見層數(shù)據(jù)已知時,第j個隱單元的激活概率為:

當隱單元的狀態(tài)確定時,第i個可見單元的值為:

參數(shù)的更新方式使用對比散度方法,參數(shù)更新準則為:

其中:ε為學習率;為一次重構后模型定義的分布。

圖3 RI-RBM模型Fig.3 RI-RBM model

RU-RBM 與RI-RBM 的訓練過程類似,RUI-RBM 模型對兩模型的訓練加以整合,RUI-RBM 的訓練過程分為三個階段:

1)正階段(positive phase),可見單元狀態(tài)已知,給定數(shù)據(jù)樣本、訓練周期和隱單元數(shù),得到隱單元激活概率。

2)負階段(negative phase),根據(jù)上一階段獲得的隱單元狀態(tài),重構可見單元的值。

3)更新階段(update phase),更新參數(shù)的值。

模型參數(shù)設置:使用CD(Contrastive Divergence)算法對RU-RBM 與RI-RBM 進行訓練,CD 算法中學習率ε設置為0.1,Gibbs 采樣步數(shù)T設置為1,權重衰減損失函數(shù)中的正則化參數(shù)通過實驗選取λ=0.000 2,momentum 沖量設置為0.5[10]。

為了訓練一個RUI-RBM,用上述方法分別訓練RU-RBM與RI-RBM,負階段之后,每一個RBM 會對可見單元值進行重構,重構后的可見單元值可視為RBM 模型對評分的一次預測。在更新階段,使用RU-RBM 與RI-RBM 分別重構后的評分矩陣的均值來代替原評分矩陣,并使用新矩陣中數(shù)值更新RU-RBM與RI-RBM的可見單元,評分更新公式為:

模型的誤差計算使用原評分矩陣中所有評級與重構后對應評分來計算,使RBM 預測評分接近真實評分。當RUI-RBM模型達到收斂或達到訓練次數(shù)時,訓練過程完成,此時得到的重構后的評分矩陣R′可視為使用RUI-RBM 模型的預測結果填充完整的評分矩陣。至此,便完成了對于稀疏評分矩陣的填充。

2 信任關系相似度計算方法

信任關系假設用戶與其信任的用戶有著相似的喜好,在將信任關系引入模型的過程中,研究者遇到了以下兩點問題:第一,在信任關系中分為信任與被信任兩種關系,兩種關系存在非對稱性,即用戶A信任用戶B,并不意味著用戶B對A有著同樣的信任程度,但信任與被信任關系都在一定程度上反映著用戶的喜好特征;第二,在實際應用場景中,所能提取到的直接信任關系往往十分稀少,用戶可用的信任關系較少(往往少于5 個甚至為0),較少的可信用戶不足以反映用戶的喜好。針對以上兩點問題,學者提出使用雙向信任關系[11-12]以及間接信任關系來[13-14]改善推薦效果。本文信任關系度量將在現(xiàn)有算法基礎上,將兩者進一步改進并加以融合,提出一種融合雙向信任關系的間接信任相似度計算方法。

2.1 信任與被信任關系

信任網(wǎng)絡中的每個用戶,都扮演著兩個不同的角色:信任者與被信任者,作為信任者,評分可能與被信任者一致,而作為被信任者,評分可能會影響其信任者。用戶擔任不同角色時,表現(xiàn)出的偏好可能不盡相同。比如,一個搖滾樂手A,出于對繪畫的喜愛,關注了畫家B,同時被樂迷C關注,那么可以預見,在音樂作品上,A與C的偏好更加相似,而在繪畫作品上,A與B的偏好更加一致。所以,在對評分進行預測的過程中,同時考慮用戶作為信任者與被信任者兩種角色的情形更加合理。故本文中使用Rtk×n和Rek×n分別代表信任矩陣與被信任矩陣。

2.2 隱含信任相似度

針對直接信任信息稀疏性問題,提出使用基于矩陣分解的隱含信任關系相似度算法。首先由信任關系T中提取出信任與被信任矩陣Rt和Re,使用概率矩陣分解(Probabilistic Matrix Factorization,PMF)對矩陣T進行分解,假設信任關系T由關于用戶的信任向量Rt和Re的正態(tài)分布生成,則其條件概率分布如下所示:

其中:g(x)=為sigmod 函數(shù)。同時,為了避免過擬合,Rt、Re分別滿足正態(tài)分布:

兩者的后驗概率分布為:

損失函數(shù)如式(10)所示:

對此損失函數(shù)使用梯度下降法求解可得Rt與Re。

根據(jù)所得Rt與Re向量,可計算兩用戶之間的隱含信任相似度,用戶u與用戶v均作為信任角色時的隱含相似度為:

兩用戶同時作為被信任角色時的隱含相似度為:

用戶間信任相似度將信任隱含相似度與被信任隱含相似度按一定比例加和,以權值k∈(0,1)來調整二者所占比重,隱含信任相似度計算如式(13)所示:

3 使用WSO算法生成預測結果

Slope One 算法[15]是一種基于項目的協(xié)同過濾算法,采用簡單的一元線性模型f(x)=x+b形式進行表示。其中,b表示用戶對兩個項目評分矩陣的偏差平均值?;诖朔N思想,則在一個給定的訓練集x中,項目i對于項目j的偏差公式如下:

其中:sj,i(x)為同時評價過兩項目的用戶集合;card(sj,i(x))為sj,i(x)中的用戶個數(shù)。

在計算用戶u對項目j的預測評分時,則需選取除j外所有被用戶u評分的集合Rj中的項目,取評分的平均值作為用戶u對項目j的預測評分。公式如下所示:

其中:|Rj|表示同時評分的項目總數(shù)。

由于Slope One 算法基于線性模型,相較于其他協(xié)同過濾算法有著較高的計算效率;并且由于其協(xié)同過濾思想,相較于較常使用的取近鄰用戶評分均值或加權均值的方法,使用偏差項修正不同用戶的評分標準不一的問題,使結果更加合理。故本文使用Slope One 算法進行最終的評分預測。Slope One算法所存在的數(shù)據(jù)稀疏性問題,由矩陣填充方法解決,但評分矩陣由稀疏矩陣變?yōu)闈M元矩陣帶來運算時間的大幅增加,為了縮短運算時間,通過選擇與用戶相似度最高的前N個用戶組成的近鄰集O,來替代偏差計算公式中sj,i(x)。另外,為了引入用戶間的信任信息,將隱含信任相似度作為權值加入到算法中。故本文所使用的WSO 的偏差公式與預測公式如下所示:

4 實驗與結果分析

4.1 數(shù)據(jù)集及評價指標

實驗數(shù)據(jù)集選用Epinions 數(shù)據(jù)集及Ciao 數(shù)據(jù)集,數(shù)據(jù)集中包含用戶對項目的評分信息以及用戶間的信任信息。實驗采用5 折交叉驗證的方式,將數(shù)據(jù)集分為5 份,每次抽取一份作為測試集,其余作為訓練集,取5 次實驗平均值作為實驗結果。實驗分為兩個部分,首先,通過Epinions 數(shù)據(jù)集上實驗結果確定模型各項參數(shù)最優(yōu)值并驗證混合算法是否提升了推薦效果;其次,通過Epinions 與Ciao 兩個數(shù)據(jù)集上的實驗,將本文算法與相關算法進行對比,驗證本文算法的性能。

表1 數(shù)據(jù)集統(tǒng)計Tab.1 Statistics of datasets

實驗使用平均絕對誤差(Mean Absolute Error,MAE)及均方根誤差(Root Mean Square Error,RMSE)作為評價指標。

MAE的計算公式如下:

RMSE的計算公式如下:

4.2 RUI-RBM模型對矩陣填充效果實驗

4.2.1 隱單元數(shù)對RUI-RBM模型填充效果影響

本實驗對RUI-RBM 中隱單元數(shù)對模型填充效果的影響。實驗采用epochs=100 進行實驗,探究不同隱單元數(shù)對RUIRBM 模型推薦效果的影響。實驗設置隱單元數(shù)范圍10~200,步長設置為10進行實驗,實驗結果如圖4所示。

圖4 隱單元數(shù)對RUI-RBM模型矩陣填充效果的影響Fig.4 Impact of hidden element number on matrix filling effect of RUI-RBM model

分析圖4中數(shù)據(jù)可知,本文所提出的RUI-RBM模型,在隱單元數(shù)少于50 的MAE 值和在隱單元數(shù)少于70 的RMSE 值時,推薦效果弱于SVD 算法,而隨著隱單元數(shù)量的增加,推薦效果超過SVD 算法,并在隱單元數(shù)在120個左右時,推薦效果趨于穩(wěn)定,此時相較于SVD 在MAE 與RMSE 上分別下降3%左右。本實驗驗證了本文所提出的RUI-RBM 算法在數(shù)據(jù)集上對于矩陣填充的效果優(yōu)于SVD 算法,并在隱單元個數(shù)n=170時取得較優(yōu)推薦效果。

4.2.2 隱RUI-RBM模型中訓練次數(shù)對矩陣填充效果實驗

本實驗建立在隱單元個數(shù)n=120 上,對RUI-RBM 中訓練次數(shù)對矩陣填充效果進行實驗,實驗設置訓練次數(shù)epochs上限為100,實驗結果如圖5所示。

圖5 訓練次數(shù)對矩陣填充的影響Fig.5 Impact of training time on matrix filling effect

由圖5 可見,RUI-RBM 模型在訓練次數(shù)小于60 時,模型的MAE 與RMSE 值呈遞減趨勢;在訓練次數(shù)達到70 后,模型趨于平穩(wěn)。故模型選用epochs=70為默認參數(shù)。

4.3 Trust-WSO算法參數(shù)實驗

4.3.1 最近鄰居數(shù)目對推薦效果的影響

本節(jié)將對信任WSO(Trust-WSO)算法中,不同最近鄰居數(shù)目N對模型推薦效果的影響進行實驗。實驗相似度選取為本文所提出的項目混合相似度計算方法,相似度計算方法中k值暫取0.5,初始使用步長為10,測試10~100 近鄰個數(shù)時,算法分別在數(shù)據(jù)集上的MAE 值變化情況。實驗結果如圖6所示。

圖6 近鄰數(shù)目對模型推薦效果的影響Fig.6 Impact of nearest neighbor number on model recommendation effect

分析圖5~6 中數(shù)據(jù)可知,在Epinions 數(shù)據(jù)集中:當10≤N≤30時,由于近鄰數(shù)量較少,模型產(chǎn)生了比較大的波動,且MAE值表現(xiàn)較差;當60≤N≤80 時,推薦效果趨于平穩(wěn),并在N=80 時,得到最佳效果;當N>80 時,MAE 值呈現(xiàn)平穩(wěn)上升狀態(tài)。根據(jù)實驗結果,選取N=80作為默認參數(shù)。

4.3.2 社交相似計算中k值對推薦效果的影響

由于相似度計算中采取兩種相似度加權的形式,兩種相似度計算方法以不同的權重相結合,對推薦準確度可能會產(chǎn)生較大的影響,故設計本實驗以探究不同的k值對實驗結果的影響。實驗的目的主要有以下兩點:首先,驗證兩種相似度方法的結合是否有效,即使用綜合相似度計算方法的推薦準確度是否優(yōu)于使用單個相似度;其次,在數(shù)據(jù)集中確定一個最優(yōu)k值作為算法的默認參數(shù)。本實驗對k值在[0,1]區(qū)間上以步長為0.1,取得11 個數(shù)據(jù)點來對加權Slope One 算法準確度進行實驗,k值表示項目評分相似度在相似度計算方法中所占的比重,特別地,當k=0時,表示僅使用信任相似度;當k=1時,表示僅使用被信任相似度。

分析圖7中數(shù)據(jù)可知,僅使用項目屬性信息時,算法MAE值為0.917;僅使用項目評分相似度時,算法MAE值為0.910,而將兩種方法以不同權值進行結合時,即k值由坐標軸向中間逐步靠近時,算法MAE 值呈現(xiàn)下降的趨勢。說明本文將兩種相似度方法的結合,有效地提升了推薦的準確度。在k=0.4 時,算法取得最優(yōu)MAE 值0.889。故本實驗確定0.4 作為k的默認值。

圖7 k值對實驗結果的影響Fig.7 Impact of k value on experimental result

4.4 RTWSO算法對比參數(shù)實驗

本實驗對RTWSO 算法的推薦效果進行實驗,使用Epinions 與Ciao 兩個數(shù)據(jù)集,選取組成算法RUI-RBM 以及S-WSO 算法進行對比,以探究兩種算法的混合是否改善了推薦效果;另外,使用文獻[15]中提出的基于信任關系隱含相似度的社會化推薦SocialIT(Social recommendation algorithm based on Implict similarity in Trust)模型;同時對信任者及被信任者建模的TrustMF(Trust Matrix Factorization)模型[11],使用SVD 與Slope One 混合推薦算法的SVD-Slope One 模型[16]以及文獻[17]中提出的基于用戶與項目,并引入屬性信息層IC-CRBMF(Item Category-Conditional Restricted Boltzmann Machine Frame)模型進行對比。

實驗結果如表2 所示。從表2 可知:本文所提出的RTWSO 算法,相較于其組成算法RUI-RBM 與S-WSO,在推薦準確度上有著較大的提升,說明兩算法的混合有效地改善了單一算法的數(shù)據(jù)稀疏性問題;在與相關算法的比較中,RTWSO 分別取得了1.2%~8.4%的提升,說明本文所提出的算法具有較高的推薦效率。

表2 RTWSO算法與其他算法的推薦效果對比Tab.2 Recommendation effect comparison of RTWSO algorithm and other algorithms

5 結語

本文提出一種基于評分填充與信任信息的混合推薦算法,首先使用基于用戶與項目的實值受限玻爾茲曼機算法對原始評分矩陣進行評分填充,以緩解評分稀疏性問題,之后使用基于信任信息的WSO 算法對待評分進行預測。實驗結果表明,本文算法在Epinions 以及Ciao 數(shù)據(jù)集上顯示出較高的推薦準確度。本文主要針對數(shù)據(jù)稀疏性問題進行探索,在數(shù)據(jù)處理過程中去除了冷啟動用戶及項目對推薦結果所造成的影響,在下一步的工作中將對冷啟動問題進行研究。

猜你喜歡
信任矩陣評分
VI-RADS評分對膀胱癌精準治療的價值
“互聯(lián)網(wǎng)+醫(yī)療健康系統(tǒng)”對腦卒中患者HAMA、HAMD、SCHFI評分及SF-36評分的影響分析
我給爸爸評分
兩種評分系統(tǒng)在膿毒癥相關凝血病患者中的應用價值
多項式理論在矩陣求逆中的應用
嚶嚶嚶,人與人的信任在哪里……
矩陣
矩陣
矩陣
信任
安泽县| 淮滨县| 桃园县| 黄石市| 上高县| 沭阳县| 林周县| 灵宝市| 琼中| 南丰县| 格尔木市| 永兴县| 手游| 丽水市| 亚东县| 乌拉特前旗| 阿尔山市| 奉新县| 康定县| 大埔区| 忻州市| 旌德县| 同江市| 五原县| 杨浦区| 涟水县| 忻州市| 汽车| 泸定县| 南陵县| 察雅县| 渑池县| 高雄市| 衡东县| 昌江| 舒城县| 华坪县| 密山市| 鹿邑县| 即墨市| 莱西市|