鄭英麗,王 新,馬 倩,解雪琴
(云南民族大學(xué) 數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院,云南 昆明 650500)
為了緩解信息超載問題,以及滿足現(xiàn)在大量的互聯(lián)網(wǎng)用戶的個性化需求,基于用戶個性化的推薦算法應(yīng)運(yùn)而生,并且成為一個熱門的研究課題.近幾年來,推薦系統(tǒng)作為解決信息超載以及個性化推薦問題的方法之一,受到大量學(xué)者的關(guān)注和研究.推薦系統(tǒng)一般分為協(xié)同過濾推薦、內(nèi)容過濾推薦和社會化推薦.
通常,在社交環(huán)境下,經(jīng)典的協(xié)同過濾算法(CF)[1-4]是依據(jù)用戶對項(xiàng)目的歷史評分信息來預(yù)測用戶的喜好,然而此算法尚未考慮用戶的社交信息,推薦系統(tǒng)的準(zhǔn)確率難以得到提高.一般情況下,許多社會化推薦算法通過引入用戶與用戶之間的相關(guān)信息來提高推薦的性能.于是,許多有趣的推薦算法被改進(jìn)并提出[5-13].文獻(xiàn)[5-7]使用矩陣分解(MF)的方法來預(yù)測用戶評分.文獻(xiàn)[5]提出概率矩陣分解(PMF)方法,該算法在非常稀疏和不平衡的數(shù)據(jù)集上表現(xiàn)良好.文獻(xiàn)[6]在MF的框架下將評分矩陣中的缺失值填入其中,降低預(yù)測的誤差.文獻(xiàn)[7]在CF算法的基礎(chǔ)上,將評分矩陣分解成2個非負(fù)矩陣,以此來預(yù)測用戶的喜好,他們提出的方法在預(yù)測準(zhǔn)確性上得到提高.文獻(xiàn)[8-12]在MF的基礎(chǔ)上增加用戶的信任信息,使推薦準(zhǔn)確率得到提升.文獻(xiàn)[14]在文獻(xiàn)[9]的基礎(chǔ)上將推薦對象間的關(guān)聯(lián)關(guān)系結(jié)合到推薦系統(tǒng)中,對算法做了改進(jìn),他們的算法在分類準(zhǔn)確率上取得了更好的效果.文獻(xiàn)[15]在推薦系統(tǒng)中同時引入了對象間關(guān)聯(lián)關(guān)系和用戶間影響力這兩個因素,實(shí)驗(yàn)表明他們提出的方法提高了推薦準(zhǔn)確率.文獻(xiàn)[16]提出了一種混合型的推薦算法,將用戶的信任網(wǎng)絡(luò)和推薦項(xiàng)目間的屬性特征結(jié)合在一起做推薦,提高了推薦精度和評分誤差.值得注意的是,在文獻(xiàn)[5-12]尚未考慮用戶相似度信息,因此這成為本文研究的一個動機(jī).
受到上述討論的啟發(fā),考慮到目前CF算法存在的一些問題,例如數(shù)據(jù)稀疏性、冷啟動和精確性.此外,用戶之間的相似度信息也是影響用戶評分的一個關(guān)鍵性因素.結(jié)合這些原因,本文主要通過結(jié)合用戶間相似度和評分信息來做矩陣分解,以改善CF算法中存在的3個問題,從而提高推薦系統(tǒng)的預(yù)測準(zhǔn)確性.
為了對評分信息進(jìn)行建模,本文使用PMF方法作為推薦框架.
如表1是一個簡單的用戶-項(xiàng)目評分矩陣R,ui表示用戶,vj表示項(xiàng)目,為了對表中的缺失值(即評分為0的值)進(jìn)行預(yù)測,可以使用矩陣分解的方法,將矩陣R分解為2個低維矩陣U和V,U表示用戶潛在特征矩陣,V表示項(xiàng)目潛在特征矩陣.
表1 用戶-項(xiàng)目評分矩陣
如果使用3維特征矩陣來展現(xiàn)矩陣分解的效果,將得到分解后的U,V:
通過得到的分解后的矩陣對R中的缺失值進(jìn)行預(yù)測,得到R的預(yù)測矩陣R′.
設(shè)矩陣R中有m個用戶,n個推薦項(xiàng)目,且評分限制在[0,1]中.實(shí)際上,許多推薦系統(tǒng)在表示用戶對項(xiàng)目的評分信息時都是使用從1到Rmax的整數(shù).本文使用函數(shù)f(x) =x/Rmax將評分[1,Rmax]映射到區(qū)間[0,1]上.用戶ui對項(xiàng)目vj的評分表示為Rij,分解得到用戶相關(guān)的l-維特征矩陣表示為U∈Rl×m,項(xiàng)目相關(guān)的l-維特征矩陣表示為V∈Rl×n,其中列向量Ui表示用戶潛在特征向量,Vj分別表示項(xiàng)目潛在特征向量.矩陣R的條件概率分布定義如下:
(1)
(2)
由貝葉斯推斷,可以得到U和V的聯(lián)合后驗(yàn)概率分布為:
(3)
相似度分析分為2類:①用戶相似度度量,即度量兩個用戶同時感興趣的物品數(shù)量,數(shù)目越高,相似度越高.②物品相似度度量,即對兩個物品同時感興趣的用戶數(shù)量,同樣的,數(shù)目越大,相似度越高.相似度的計算方法有很多,包括歐幾里得方法、余弦相似度方法、Pearson相關(guān)系數(shù)方法.余弦相似度公式如下:
(4)
其中,rx,i,ry,i分別表示用戶x和y對項(xiàng)目i的評分值.考慮到數(shù)據(jù)的稀疏性,會存在很多零值,且公式(4)計算的相似度對數(shù)值比較不敏感,容易導(dǎo)致結(jié)果的誤差,因此本文作者采用以下改進(jìn)的相似度計算公式:
(5)
下面將利用上述2個相似度公式分別對表1中給出的評分信息來計算用戶之間的相似度值,結(jié)果如表2、表3所示.
表2 基于公式(4)的用戶相似度矩陣
表3 基于公式(5)的用戶相似度矩陣
為了研究用戶間的相關(guān)性對評分預(yù)測的影響,以及怎樣利用用戶相似度信息來提高推薦算法的性能,現(xiàn)在引入結(jié)合用戶相似度的社會化推薦方法.
這里用戶間的相似度可以通過前面介紹的相似度公式(5)進(jìn)行計算.使用的概率圖模型如圖1所示.
通過分解相似度矩陣S,可以得到表示用戶之間相關(guān)關(guān)系的低維潛在特征矩陣U和A,用戶ui和uk在圖G上的相似權(quán)重sik,是求解特征向量Ui和Ak的重要元素,定義S的后驗(yàn)概率分布為:
(6)
此時,結(jié)合矩陣S和矩陣R進(jìn)行聯(lián)合分解,對有相關(guān)關(guān)系的項(xiàng)目進(jìn)行推薦,其概率模型如圖2所示.U,V,A的聯(lián)合后驗(yàn)概率分布表示為:
(7)
對(7)式兩邊取對數(shù)后可以得到:
(8)
其中C是不依賴參數(shù)的常量.
求固定參數(shù)時U,V,A的極大后驗(yàn)概率,等價于使下面帶正則項(xiàng)的誤差平方和函數(shù)最小化:
(9)
(10)
(11)
(12)
其中:g′(x)=g(x)(1-g(x))是邏輯函數(shù)g(x)的導(dǎo)數(shù).
通過實(shí)驗(yàn)對比結(jié)合用戶相似度的概率矩陣分解方法(SRUS)和經(jīng)典PMF方法在推薦效果上的差異.
采用movielens latest數(shù)據(jù)集,數(shù)據(jù)集相關(guān)信息如表4所示:
表4 數(shù)據(jù)集描述
推薦系統(tǒng)中常用的評估指標(biāo)可以分為2大類,預(yù)測準(zhǔn)確率指標(biāo)和分類準(zhǔn)確度指標(biāo).本文采用MAE和RMSE這2個指標(biāo)進(jìn)行評估,它們的計算公式如下:
(13)
(14)
上述MAE和RMSE都是值越小,預(yù)測越準(zhǔn)確,即推薦效果越好.
本文提出的社會化推薦算法的主要優(yōu)點(diǎn)是結(jié)合用戶相似度信息,在SRUS方法中,參數(shù)λS平衡了矩陣S和矩陣R之間的關(guān)系,當(dāng)λS=0時,在矩陣分解的過程中就只考慮矩陣R的信息,當(dāng)λS=inf時,只根據(jù)用戶相似度來預(yù)測用戶的評分,其它情況下,都是結(jié)合矩陣R和矩陣S來做評分預(yù)測的.圖3給出了在特征維數(shù)l=5時,參數(shù)λS對評分預(yù)測的影響結(jié)果.
從圖3可以清晰地看出當(dāng)特征維數(shù)l=5時,評估指標(biāo)MAE和RMSE都分別取得最小值1.025 7和1.069 3時,λS都為10.
圖3 實(shí)驗(yàn)參數(shù)λS的值對實(shí)驗(yàn)結(jié)果的影響(l=5)
為了驗(yàn)證本文提出的SRUS算法在性能上的提高,與傳統(tǒng)PMF方法作比較,由3.3節(jié)的實(shí)驗(yàn)結(jié)果,這里λS=10.在表5中給出了λS=10,特征維數(shù)分別為5和10的情況下的實(shí)驗(yàn)結(jié)果.
表5 實(shí)驗(yàn)結(jié)果比較(λS=10)
由表5可以得到,當(dāng)特征維度l=5時,本文提出的SRUS方法較PMF方法在指標(biāo)MAE上降低了1.74%,在RMSE上降低了6.20%.同樣的,當(dāng)l=10時,本文提出的SRUS方法較PMF方法在指標(biāo)MAE上降低了5.69%,在RMSE上降低了12.12%.
同時,圖4也給出了相對應(yīng)的實(shí)驗(yàn)結(jié)果比較圖,分別比較特征維數(shù)l=5(圖4(a)、(b))和l=10(圖4(c)、(d))情況下評估指標(biāo)MAE和RMSE的變化情況.
由表5中的數(shù)據(jù)以及對數(shù)據(jù)的分析,結(jié)合圖4的實(shí)驗(yàn)結(jié)果比較,可以很清晰直觀的看出本文提出的SRUS方法較傳統(tǒng)PMF方法在指標(biāo)MAE和RMSE上都得到了降低,有效地提升預(yù)測準(zhǔn)確率,這也驗(yàn)證本文方法的有效性及可行性.
本文提出結(jié)合用戶相似度的社會化推薦算法,該算法同時考慮用戶-項(xiàng)目評分信息和用戶相似度信息,并將這2個信息通過PMF模型結(jié)合在同一個框架下.在公開的數(shù)據(jù)集movieslens latest dataset上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明用戶相似度對評分預(yù)測也起到一定作用,同時也驗(yàn)證在稀疏數(shù)據(jù)集上所提出的方法提升預(yù)測的準(zhǔn)確率.將兩種因素結(jié)合在同一個框架下,通過調(diào)整參數(shù)的取值,可以適應(yīng)不同的復(fù)雜網(wǎng)絡(luò)類型,同時對算法復(fù)雜度分析,本算法可以擴(kuò)展到更大的數(shù)據(jù)集上.因此本文提出的方法在數(shù)據(jù)稀疏性、用戶冷啟動和預(yù)測準(zhǔn)確性等方面具有較好的效果.
雖然該方法對經(jīng)典CF算法存在的一些問題有所改善,在預(yù)測準(zhǔn)確性方面也有一定的效果,但使用的相似度計算公式是對稱的,并不能準(zhǔn)確的表達(dá)出兩兩用戶之間喜好的區(qū)別,而事實(shí)上兩兩用戶的相似度是不一樣的,如果對相似度計算采用非對稱的方法,無疑會使預(yù)測評分更加準(zhǔn)確,這也是下一步研究的重點(diǎn).