沈?qū)W利,李子健,赫辰皓
(1.遼寧工程技術(shù)大學(xué)軟件學(xué)院,遼寧葫蘆島 125105;2.遼寧工程技術(shù)大學(xué)電子與信息工程學(xué)院,遼寧葫蘆島 125105)
(*通信作者電子郵箱zijianli1122@163.com)
我們生活在一個(gè)信息時(shí)代,每天都有越來越多的書籍、期刊文章、網(wǎng)頁和電影問世。越來越龐大的數(shù)據(jù)總量造成了信息篩選的困難,這便是信息過載問題。推薦系統(tǒng)是解決信息過載問題的一個(gè)重要手段,然而推薦系統(tǒng)長期面臨著數(shù)據(jù)稀疏性的問題。造成此種問題的主要原因是用戶僅僅為其交互過的少數(shù)項(xiàng)目評(píng)分,常用數(shù)據(jù)集的評(píng)分稀疏度均在5%以下,而一些真實(shí)數(shù)據(jù)集的評(píng)分稀疏度甚至不足0.1%,評(píng)分?jǐn)?shù)據(jù)的大量缺失造成推薦算法提取數(shù)據(jù)關(guān)系時(shí)缺乏足夠的依據(jù),造成推薦偏差。
為了緩解數(shù)據(jù)稀疏性問題,研究者們主要從以下兩個(gè)方面進(jìn)行改進(jìn):一方面,使用混合推薦的方法。利用一種算法對(duì)評(píng)分矩陣中缺失值進(jìn)行填充,再使用另一種方法基于填充后的矩陣上生成預(yù)測結(jié)果。比如杜倩[1]使用聚類獲取用戶近鄰的評(píng)分均值實(shí)現(xiàn)評(píng)分填充;Liu 等[2]使用奇異值分解(Singular Value Decomposition,SVD)算法實(shí)現(xiàn)矩陣缺失值的填充。另一方面,在評(píng)分信息之外,通過引入輔助信息(side information),增加算法中的有效信息量,從而達(dá)到緩解數(shù)據(jù)稀疏性的目的。比如,劉方婷等[3-5]分別將時(shí)間因素、社交關(guān)系與用戶(項(xiàng)目)屬性信息引入到推薦算法中。
上述兩種方法從兩個(gè)不同的角度,對(duì)于數(shù)據(jù)稀疏性問題起到了一定的緩解作用。為了進(jìn)一步提高推薦準(zhǔn)確度,本文對(duì)兩種方法分別加以改進(jìn)與融合,提出一種基于評(píng)分填充與信任信息的混合推薦算法RTWSO(Real-value user item restricted Boltzmann machine Trust WSO):
首先,使用基于用戶與項(xiàng)目的實(shí)值受限玻爾茲曼機(jī)(Real-value User Item Restricted Boltzmann Machine,RUIRBM)算法對(duì)評(píng)分矩陣進(jìn)行填充。受限玻爾茲曼機(jī)(Restricted Boltzmann Machine,RBM)是一種二層神經(jīng)網(wǎng)絡(luò)模型,由Salakhutdinov 等[6]于2007年首次應(yīng)用在推薦系統(tǒng)中,取得了良好的推薦效果。本文提出使用一種基于實(shí)值的,同時(shí)對(duì)項(xiàng)目與用戶建模的受限玻爾茲曼機(jī)(RUI-RBM)模型對(duì)用戶-項(xiàng)目評(píng)分矩陣進(jìn)行填充,以達(dá)到更加精確的評(píng)分填充效果。
其次,使用填充完整的評(píng)分矩陣,通過加權(quán)Slope One(Weighted Slope One,WSO)算法對(duì)評(píng)分進(jìn)行預(yù)測。本文算法中的權(quán)值將使用信任信息相似度。本文提出一種基于矩陣分解的信任關(guān)系相似度計(jì)算算法,此算法通過概率矩陣分解[7]獲得用戶間的間接信任關(guān)系,并且同時(shí)考慮信任信息中的信任與被信任情況。
本文算法RTWSO通過對(duì)兩個(gè)算法的線性組合,緩解了單一算法所存在的數(shù)據(jù)稀疏性問題,并對(duì)信任信息進(jìn)行合理化建模,提高了算法的精確度。
Salakhutdinov 等[6]提出的應(yīng)用于推薦系統(tǒng)的受限玻爾茲曼機(jī)模型示意圖如圖1 所示,模型包含一個(gè)可見層與一個(gè)隱藏層。對(duì)于包含m個(gè)用戶、n個(gè)項(xiàng)目,評(píng)分范圍1~k的推薦情景,此模型對(duì)每一個(gè)用戶建立一個(gè)RBM 模型,每個(gè)模型的可見層中包含n個(gè)包含k個(gè)節(jié)點(diǎn)的Softmax 單元,用于表示此用戶對(duì)所有項(xiàng)目的評(píng)分,可見層每個(gè)節(jié)點(diǎn)與隱藏層形成全連接。

圖1 受限玻爾茲曼機(jī)模型Fig.1 Constrained Boltzmann machine model
RBM模型主要存在以下缺陷:
1)模型的可見單元使用k維的Softmax 單元表示,導(dǎo)致模型所涉及的參數(shù)變?yōu)樵瓉淼膋倍,大幅降低了模型的運(yùn)算效率;
2)由于每個(gè)RBM 模型間共享權(quán)值和偏置,這使得如果兩用戶對(duì)同一項(xiàng)目進(jìn)行評(píng)價(jià),那么它們所對(duì)應(yīng)的RBM 模型將在該項(xiàng)目的可見單元與隱單元得到同樣的權(quán)重與偏置,缺乏可解釋性。
針對(duì)上述兩個(gè)問題,Georgiev 等[8]提出將評(píng)分?jǐn)?shù)值直接應(yīng)用在可見層,降低了算法的復(fù)雜度;霍淑華[9]提出一種基于項(xiàng)目的RBM 模型,取得了較優(yōu)的推薦效果。本文在此基礎(chǔ)上,使用一種基于實(shí)值的,并同時(shí)對(duì)項(xiàng)目與用戶建模的受限玻爾茲曼機(jī)模型(RUI-RBM),模型如圖2 所示。此模型主要進(jìn)行了如下兩點(diǎn)改進(jìn):
1)在模型的可見層中,評(píng)分值直接使用用戶評(píng)分值表示,未評(píng)分?jǐn)?shù)據(jù)由0 表示,相對(duì)于Softmax 單元,削減了參數(shù)數(shù)量,使訓(xùn)練時(shí)間大大縮短;
2)不同于傳統(tǒng)RBM 模型只針對(duì)用戶或項(xiàng)目進(jìn)行建模,本模型同時(shí)對(duì)用戶與項(xiàng)目建模,評(píng)分值由兩模型權(quán)重與偏置共同決定,模型具有更強(qiáng)的可解釋性。

圖2 RUI-RBM模型Fig.2 RUI-RBM model
由圖2 所示,方框內(nèi)表示包含m個(gè)用戶、n個(gè)項(xiàng)目所形成的評(píng)分矩陣,評(píng)分范圍1~k的推薦情景,RUI-RBM 模型可視為基于用戶的受限玻爾茲曼機(jī)(Real-value User Restricted Boltzmann Machine,RU-RBM)模型以及基于項(xiàng)目的受限玻爾茲曼機(jī)(Real-value Item Restricted Boltzmann Machine,RI-RBM)模型疊加而成,RU-RBM 與RI-RBM 分別包含各自的連接權(quán)重Wu與Wi,以及各自的隱單元偏置bu、bi,可見單元偏置cu、ci,兩模型共享評(píng)分矩陣。在模型構(gòu)建過程中,RUI-RBM模型將會(huì)對(duì)評(píng)分矩陣同時(shí)從基于用戶以及基于項(xiàng)目的角度進(jìn)行建模,RU-RBM 與RI-RBM 共享評(píng)分矩陣,但訓(xùn)練過程相互獨(dú)立,下面以RI-RBM為例來對(duì)模型訓(xùn)練過程加以說明。
圖3表示一個(gè)RI-RBM模型,模型包含一個(gè)可見層V,層內(nèi)包含m個(gè)實(shí)值節(jié)點(diǎn),隱藏層包含n個(gè)二值單元,用于提取數(shù)據(jù)間特征??梢妼优c隱層各節(jié)點(diǎn)均包含一個(gè)偏置,使用bj表示第j個(gè)隱節(jié)點(diǎn)偏置,ci表示第i個(gè)可見節(jié)點(diǎn)的偏置,所有偏置值初始值設(shè)為0;wij表示第i個(gè)可見節(jié)點(diǎn)與第j個(gè)隱節(jié)點(diǎn)的連接權(quán)重,使用滿足正態(tài)分布N(0,0.01)的隨機(jī)數(shù)進(jìn)行初始化。由RBM 的結(jié)構(gòu)可知:當(dāng)給定可見單元的狀態(tài)時(shí),隱單元各節(jié)點(diǎn)激活條件獨(dú)立;反之,給定隱單元狀態(tài)時(shí),可見單元取值也是獨(dú)立的。可見節(jié)點(diǎn)使用實(shí)值表示評(píng)分,應(yīng)在原RBM 能量模型基礎(chǔ)上加入一個(gè)二次方項(xiàng),此模型的能量計(jì)算公式為:

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

當(dāng)隱單元的狀態(tài)確定時(shí),第i個(gè)可見單元的值為:

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

其中:ε為學(xué)習(xí)率;為一次重構(gòu)后模型定義的分布。

圖3 RI-RBM模型Fig.3 RI-RBM model
RU-RBM 與RI-RBM 的訓(xùn)練過程類似,RUI-RBM 模型對(duì)兩模型的訓(xùn)練加以整合,RUI-RBM 的訓(xùn)練過程分為三個(gè)階段:
1)正階段(positive phase),可見單元狀態(tài)已知,給定數(shù)據(jù)樣本、訓(xùn)練周期和隱單元數(shù),得到隱單元激活概率。
2)負(fù)階段(negative phase),根據(jù)上一階段獲得的隱單元狀態(tài),重構(gòu)可見單元的值。
3)更新階段(update phase),更新參數(shù)的值。
模型參數(shù)設(shè)置:使用CD(Contrastive Divergence)算法對(duì)RU-RBM 與RI-RBM 進(jìn)行訓(xùn)練,CD 算法中學(xué)習(xí)率ε設(shè)置為0.1,Gibbs 采樣步數(shù)T設(shè)置為1,權(quán)重衰減損失函數(shù)中的正則化參數(shù)通過實(shí)驗(yàn)選取λ=0.000 2,momentum 沖量設(shè)置為0.5[10]。
為了訓(xùn)練一個(gè)RUI-RBM,用上述方法分別訓(xùn)練RU-RBM與RI-RBM,負(fù)階段之后,每一個(gè)RBM 會(huì)對(duì)可見單元值進(jìn)行重構(gòu),重構(gòu)后的可見單元值可視為RBM 模型對(duì)評(píng)分的一次預(yù)測。在更新階段,使用RU-RBM 與RI-RBM 分別重構(gòu)后的評(píng)分矩陣的均值來代替原評(píng)分矩陣,并使用新矩陣中數(shù)值更新RU-RBM與RI-RBM的可見單元,評(píng)分更新公式為:

模型的誤差計(jì)算使用原評(píng)分矩陣中所有評(píng)級(jí)與重構(gòu)后對(duì)應(yīng)評(píng)分來計(jì)算,使RBM 預(yù)測評(píng)分接近真實(shí)評(píng)分。當(dāng)RUI-RBM模型達(dá)到收斂或達(dá)到訓(xùn)練次數(shù)時(shí),訓(xùn)練過程完成,此時(shí)得到的重構(gòu)后的評(píng)分矩陣R′可視為使用RUI-RBM 模型的預(yù)測結(jié)果填充完整的評(píng)分矩陣。至此,便完成了對(duì)于稀疏評(píng)分矩陣的填充。
信任關(guān)系假設(shè)用戶與其信任的用戶有著相似的喜好,在將信任關(guān)系引入模型的過程中,研究者遇到了以下兩點(diǎn)問題:第一,在信任關(guān)系中分為信任與被信任兩種關(guān)系,兩種關(guān)系存在非對(duì)稱性,即用戶A信任用戶B,并不意味著用戶B對(duì)A有著同樣的信任程度,但信任與被信任關(guān)系都在一定程度上反映著用戶的喜好特征;第二,在實(shí)際應(yīng)用場景中,所能提取到的直接信任關(guān)系往往十分稀少,用戶可用的信任關(guān)系較少(往往少于5 個(gè)甚至為0),較少的可信用戶不足以反映用戶的喜好。針對(duì)以上兩點(diǎn)問題,學(xué)者提出使用雙向信任關(guān)系[11-12]以及間接信任關(guān)系來[13-14]改善推薦效果。本文信任關(guān)系度量將在現(xiàn)有算法基礎(chǔ)上,將兩者進(jìn)一步改進(jìn)并加以融合,提出一種融合雙向信任關(guān)系的間接信任相似度計(jì)算方法。
信任網(wǎng)絡(luò)中的每個(gè)用戶,都扮演著兩個(gè)不同的角色:信任者與被信任者,作為信任者,評(píng)分可能與被信任者一致,而作為被信任者,評(píng)分可能會(huì)影響其信任者。用戶擔(dān)任不同角色時(shí),表現(xiàn)出的偏好可能不盡相同。比如,一個(gè)搖滾樂手A,出于對(duì)繪畫的喜愛,關(guān)注了畫家B,同時(shí)被樂迷C關(guān)注,那么可以預(yù)見,在音樂作品上,A與C的偏好更加相似,而在繪畫作品上,A與B的偏好更加一致。所以,在對(duì)評(píng)分進(jìn)行預(yù)測的過程中,同時(shí)考慮用戶作為信任者與被信任者兩種角色的情形更加合理。故本文中使用Rtk×n和Rek×n分別代表信任矩陣與被信任矩陣。
針對(duì)直接信任信息稀疏性問題,提出使用基于矩陣分解的隱含信任關(guān)系相似度算法。首先由信任關(guān)系T中提取出信任與被信任矩陣Rt和Re,使用概率矩陣分解(Probabilistic Matrix Factorization,PMF)對(duì)矩陣T進(jìn)行分解,假設(shè)信任關(guān)系T由關(guān)于用戶的信任向量Rt和Re的正態(tài)分布生成,則其條件概率分布如下所示:

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

兩者的后驗(yàn)概率分布為:

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

對(duì)此損失函數(shù)使用梯度下降法求解可得Rt與Re。
根據(jù)所得Rt與Re向量,可計(jì)算兩用戶之間的隱含信任相似度,用戶u與用戶v均作為信任角色時(shí)的隱含相似度為:

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

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

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

其中:sj,i(x)為同時(shí)評(píng)價(jià)過兩項(xiàng)目的用戶集合;card(sj,i(x))為sj,i(x)中的用戶個(gè)數(shù)。
在計(jì)算用戶u對(duì)項(xiàng)目j的預(yù)測評(píng)分時(shí),則需選取除j外所有被用戶u評(píng)分的集合Rj中的項(xiàng)目,取評(píng)分的平均值作為用戶u對(duì)項(xiàng)目j的預(yù)測評(píng)分。公式如下所示:

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

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

表1 數(shù)據(jù)集統(tǒng)計(jì)Tab.1 Statistics of datasets
實(shí)驗(yàn)使用平均絕對(duì)誤差(Mean Absolute Error,MAE)及均方根誤差(Root Mean Square Error,RMSE)作為評(píng)價(jià)指標(biāo)。
MAE的計(jì)算公式如下:

RMSE的計(jì)算公式如下:

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

圖4 隱單元數(shù)對(duì)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 值時(shí),推薦效果弱于SVD 算法,而隨著隱單元數(shù)量的增加,推薦效果超過SVD 算法,并在隱單元數(shù)在120個(gè)左右時(shí),推薦效果趨于穩(wěn)定,此時(shí)相較于SVD 在MAE 與RMSE 上分別下降3%左右。本實(shí)驗(yàn)驗(yàn)證了本文所提出的RUI-RBM 算法在數(shù)據(jù)集上對(duì)于矩陣填充的效果優(yōu)于SVD 算法,并在隱單元個(gè)數(shù)n=170時(shí)取得較優(yōu)推薦效果。
4.2.2 隱RUI-RBM模型中訓(xùn)練次數(shù)對(duì)矩陣填充效果實(shí)驗(yàn)
本實(shí)驗(yàn)建立在隱單元個(gè)數(shù)n=120 上,對(duì)RUI-RBM 中訓(xùn)練次數(shù)對(duì)矩陣填充效果進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)設(shè)置訓(xùn)練次數(shù)epochs上限為100,實(shí)驗(yàn)結(jié)果如圖5所示。

圖5 訓(xùn)練次數(shù)對(duì)矩陣填充的影響Fig.5 Impact of training time on matrix filling effect
由圖5 可見,RUI-RBM 模型在訓(xùn)練次數(shù)小于60 時(shí),模型的MAE 與RMSE 值呈遞減趨勢(shì);在訓(xùn)練次數(shù)達(dá)到70 后,模型趨于平穩(wěn)。故模型選用epochs=70為默認(rèn)參數(shù)。
4.3.1 最近鄰居數(shù)目對(duì)推薦效果的影響
本節(jié)將對(duì)信任WSO(Trust-WSO)算法中,不同最近鄰居數(shù)目N對(duì)模型推薦效果的影響進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)相似度選取為本文所提出的項(xiàng)目混合相似度計(jì)算方法,相似度計(jì)算方法中k值暫取0.5,初始使用步長為10,測試10~100 近鄰個(gè)數(shù)時(shí),算法分別在數(shù)據(jù)集上的MAE 值變化情況。實(shí)驗(yàn)結(jié)果如圖6所示。

圖6 近鄰數(shù)目對(duì)模型推薦效果的影響Fig.6 Impact of nearest neighbor number on model recommendation effect
分析圖5~6 中數(shù)據(jù)可知,在Epinions 數(shù)據(jù)集中:當(dāng)10≤N≤30時(shí),由于近鄰數(shù)量較少,模型產(chǎn)生了比較大的波動(dòng),且MAE值表現(xiàn)較差;當(dāng)60≤N≤80 時(shí),推薦效果趨于平穩(wěn),并在N=80 時(shí),得到最佳效果;當(dāng)N>80 時(shí),MAE 值呈現(xiàn)平穩(wěn)上升狀態(tài)。根據(jù)實(shí)驗(yàn)結(jié)果,選取N=80作為默認(rèn)參數(shù)。
4.3.2 社交相似計(jì)算中k值對(duì)推薦效果的影響
由于相似度計(jì)算中采取兩種相似度加權(quán)的形式,兩種相似度計(jì)算方法以不同的權(quán)重相結(jié)合,對(duì)推薦準(zhǔn)確度可能會(huì)產(chǎn)生較大的影響,故設(shè)計(jì)本實(shí)驗(yàn)以探究不同的k值對(duì)實(shí)驗(yàn)結(jié)果的影響。實(shí)驗(yàn)的目的主要有以下兩點(diǎn):首先,驗(yàn)證兩種相似度方法的結(jié)合是否有效,即使用綜合相似度計(jì)算方法的推薦準(zhǔn)確度是否優(yōu)于使用單個(gè)相似度;其次,在數(shù)據(jù)集中確定一個(gè)最優(yōu)k值作為算法的默認(rèn)參數(shù)。本實(shí)驗(yàn)對(duì)k值在[0,1]區(qū)間上以步長為0.1,取得11 個(gè)數(shù)據(jù)點(diǎn)來對(duì)加權(quán)Slope One 算法準(zhǔn)確度進(jìn)行實(shí)驗(yàn),k值表示項(xiàng)目評(píng)分相似度在相似度計(jì)算方法中所占的比重,特別地,當(dāng)k=0時(shí),表示僅使用信任相似度;當(dāng)k=1時(shí),表示僅使用被信任相似度。
分析圖7中數(shù)據(jù)可知,僅使用項(xiàng)目屬性信息時(shí),算法MAE值為0.917;僅使用項(xiàng)目評(píng)分相似度時(shí),算法MAE值為0.910,而將兩種方法以不同權(quán)值進(jìn)行結(jié)合時(shí),即k值由坐標(biāo)軸向中間逐步靠近時(shí),算法MAE 值呈現(xiàn)下降的趨勢(shì)。說明本文將兩種相似度方法的結(jié)合,有效地提升了推薦的準(zhǔn)確度。在k=0.4 時(shí),算法取得最優(yōu)MAE 值0.889。故本實(shí)驗(yàn)確定0.4 作為k的默認(rèn)值。

圖7 k值對(duì)實(shí)驗(yàn)結(jié)果的影響Fig.7 Impact of k value on experimental result
本實(shí)驗(yàn)對(duì)RTWSO 算法的推薦效果進(jìn)行實(shí)驗(yàn),使用Epinions 與Ciao 兩個(gè)數(shù)據(jù)集,選取組成算法RUI-RBM 以及S-WSO 算法進(jìn)行對(duì)比,以探究兩種算法的混合是否改善了推薦效果;另外,使用文獻(xiàn)[15]中提出的基于信任關(guān)系隱含相似度的社會(huì)化推薦SocialIT(Social recommendation algorithm based on Implict similarity in Trust)模型;同時(shí)對(duì)信任者及被信任者建模的TrustMF(Trust Matrix Factorization)模型[11],使用SVD 與Slope One 混合推薦算法的SVD-Slope One 模型[16]以及文獻(xiàn)[17]中提出的基于用戶與項(xiàng)目,并引入屬性信息層IC-CRBMF(Item Category-Conditional Restricted Boltzmann Machine Frame)模型進(jìn)行對(duì)比。
實(shí)驗(yàn)結(jié)果如表2 所示。從表2 可知:本文所提出的RTWSO 算法,相較于其組成算法RUI-RBM 與S-WSO,在推薦準(zhǔn)確度上有著較大的提升,說明兩算法的混合有效地改善了單一算法的數(shù)據(jù)稀疏性問題;在與相關(guān)算法的比較中,RTWSO 分別取得了1.2%~8.4%的提升,說明本文所提出的算法具有較高的推薦效率。

表2 RTWSO算法與其他算法的推薦效果對(duì)比Tab.2 Recommendation effect comparison of RTWSO algorithm and other algorithms
本文提出一種基于評(píng)分填充與信任信息的混合推薦算法,首先使用基于用戶與項(xiàng)目的實(shí)值受限玻爾茲曼機(jī)算法對(duì)原始評(píng)分矩陣進(jìn)行評(píng)分填充,以緩解評(píng)分稀疏性問題,之后使用基于信任信息的WSO 算法對(duì)待評(píng)分進(jìn)行預(yù)測。實(shí)驗(yàn)結(jié)果表明,本文算法在Epinions 以及Ciao 數(shù)據(jù)集上顯示出較高的推薦準(zhǔn)確度。本文主要針對(duì)數(shù)據(jù)稀疏性問題進(jìn)行探索,在數(shù)據(jù)處理過程中去除了冷啟動(dòng)用戶及項(xiàng)目對(duì)推薦結(jié)果所造成的影響,在下一步的工作中將對(duì)冷啟動(dòng)問題進(jìn)行研究。