楊海清,吳 浩,曾俊飛
(浙江工業(yè)大學(xué) 信息工程學(xué)院,浙江 杭州 310023)
隨著Web 3.0的社交平臺(tái)的快速發(fā)展,進(jìn)行網(wǎng)絡(luò)信息的獲取也就變得十分方便。但大量信息的產(chǎn)生也嚴(yán)重干擾了用戶對(duì)有關(guān)重要信息的獲取,個(gè)性化推薦技術(shù)因此而產(chǎn)生。個(gè)性化推薦技術(shù)有助于緩解信息過(guò)載[1]帶來(lái)的的負(fù)面影響。協(xié)同過(guò)濾[2](collaborative filtering,CF)是推薦系統(tǒng)中一種常用的技術(shù)。近年來(lái),矩陣分解模型[3]因?yàn)槟軌蛴行У亟鉀Q了數(shù)據(jù)的高維稀疏性的問(wèn)題而受到大范圍的推廣。通過(guò)大量實(shí)驗(yàn)證明,在推薦算法中,采用矩陣分解在推薦精度等方面顯著高于一些傳統(tǒng)的基于鄰域的協(xié)同過(guò)濾模型[4]。針對(duì)個(gè)性化推薦過(guò)程中存在的數(shù)據(jù)的高維稀疏性問(wèn)題,文獻(xiàn)[5]提出將Slope one算法與用戶間相似度相結(jié)合進(jìn)行評(píng)分預(yù)測(cè),有效緩解了數(shù)據(jù)稀疏性問(wèn)題。文獻(xiàn)[6]將稀疏邊緣降噪自動(dòng)編碼與矩陣分解相結(jié)合的混合推薦算法,提高了推薦精度。文獻(xiàn)[7]將用戶和項(xiàng)目偏置信息融入到非負(fù)矩陣分解中。文獻(xiàn)[8]將非負(fù)矩陣分解模型應(yīng)用在傳統(tǒng)的貝葉斯概率矩陣分解模型之中,使得算法具有良好的可解釋性。
傳統(tǒng)的基于鄰域的協(xié)同過(guò)濾算法只將相似度作為影響推薦結(jié)果的唯一因素,但是在實(shí)際場(chǎng)景中,用戶進(jìn)行決策行為時(shí),不只是把性質(zhì)類似的項(xiàng)目考慮在內(nèi),同時(shí)項(xiàng)目的熱度也會(huì)潛移默化地影響用戶的實(shí)際選擇,所以項(xiàng)目熱度也是推薦算法的重要因素之一。針對(duì)上述問(wèn)題,本文提出了非負(fù)矩陣分解與項(xiàng)目熱度進(jìn)行融合的NMF-IHCF(algorithm of collaborative filtering basedon non-negative matrix factorization and item heat)算法。最后,在MovieLens對(duì)本文提出的NMF-IHCF算法進(jìn)行驗(yàn)證,該算法有效提升了推薦精度。
利用非負(fù)矩陣分解得到項(xiàng)目的非負(fù)特征空間,采用Pearson系數(shù)在項(xiàng)目的非負(fù)特征空間上計(jì)算相似度,獲得第一階段項(xiàng)目的鄰居集,在此基礎(chǔ)上引入項(xiàng)目熱度概念,結(jié)合第一階段得到的相似度獲得融合的相似度,在第二階段進(jìn)行鄰居選擇,最終完成評(píng)分預(yù)測(cè)。
因?yàn)樵加脩簟?xiàng)目評(píng)分矩陣非常稀疏,很多項(xiàng)目都沒(méi)有共同的評(píng)分用戶,導(dǎo)致項(xiàng)目間相似度無(wú)法計(jì)算。這里,在非負(fù)矩陣分解后得到的項(xiàng)目隱式特征空間上計(jì)算項(xiàng)目間的相似度,一定程度上緩解了數(shù)據(jù)高維稀疏性導(dǎo)致相似度計(jì)算缺乏準(zhǔn)確性的問(wèn)題。
對(duì)于NMF算法,文獻(xiàn)[9]采用時(shí)間復(fù)雜度較低的非負(fù)矩陣分解,分解得到用戶隱式特征向量空間pu,k和項(xiàng)目隱式特征空間qk,i。文獻(xiàn)[10]為了避免矩陣分解過(guò)擬合加入正則項(xiàng)。公式如下
(1)
本文采用式(1)得到的項(xiàng)目隱式特征空間,并在項(xiàng)目隱式空間上利用Pearson系數(shù)進(jìn)行相似度計(jì)算,同時(shí)獲得項(xiàng)目的鄰居集。記錄項(xiàng)目獲得評(píng)分操作的總次數(shù)和項(xiàng)目在k近鄰選擇時(shí)同時(shí)充當(dāng)別的項(xiàng)目鄰居的次數(shù)。
傳統(tǒng)的基于近鄰的協(xié)同過(guò)濾推薦算法往往沒(méi)有綜合考慮項(xiàng)目間相似度和項(xiàng)目熱度這兩個(gè)因素,而在實(shí)際過(guò)程中,熱門(mén)商品對(duì)用戶購(gòu)買(mǎi)行為的影響也是一個(gè)重要因素。NMF-IHCF算法將相似度和項(xiàng)目熱度融入到模型之中。
一個(gè)項(xiàng)目在全部項(xiàng)目的熱度有兩部分組成,包括這個(gè)項(xiàng)目獲得評(píng)分操作的總次數(shù)和項(xiàng)目在第一階段k近鄰選擇時(shí)同時(shí)充當(dāng)別的項(xiàng)目鄰居的次數(shù)。
一個(gè)項(xiàng)目獲得評(píng)分的次數(shù)越多,則這個(gè)項(xiàng)目越受歡迎,它的評(píng)分也越可靠,同樣,一個(gè)項(xiàng)目越多充當(dāng)其他項(xiàng)目的鄰居則說(shuō)明這個(gè)項(xiàng)目越熱門(mén)。
這里,用Ti表示單個(gè)項(xiàng)目在全部項(xiàng)目中的熱度,0≤Ti≤1,如下式所示
(2)
式中fi為項(xiàng)目被用戶評(píng)價(jià)的總次數(shù);qi為在第一階段k近鄰選擇時(shí)項(xiàng)目同時(shí)充當(dāng)別的項(xiàng)目鄰居的次數(shù)。
這里,得到融合項(xiàng)目熱度的相似度
(3)
式中Tb為項(xiàng)目b在全部項(xiàng)目中的熱度;simpear為第一階段項(xiàng)目隱式空間上得到的相似度。
使用項(xiàng)目熱度結(jié)合相似度得到的融合相似度,得到第二階段鄰居群。對(duì)評(píng)分進(jìn)行預(yù)測(cè)
(4)
算法:NMF-IRCF算法
輸入:評(píng)分矩陣R
輸出:預(yù)測(cè)矩陣Rpred
1)使用NMF分解得到降維后的項(xiàng)目特征空間;
2)在項(xiàng)目的非負(fù)低維隱式空間中使用Pearson系數(shù)進(jìn)行相似度計(jì)算;
3)根據(jù)k近鄰算法,尋找鄰居集,得出每個(gè)項(xiàng)目同時(shí)充當(dāng)別的項(xiàng)目鄰居的次數(shù)和項(xiàng)目被用戶評(píng)價(jià)的總次數(shù);
4)依據(jù)式(2)計(jì)算項(xiàng)目熱度,再將項(xiàng)目熱度結(jié)合項(xiàng)目相似度得到融合相似度;
5)根據(jù)k近鄰算法,再次尋找項(xiàng)目鄰居群;
6)利用式(4)進(jìn)行評(píng)分預(yù)測(cè)。
算法結(jié)束
NMM-IHCF算法利用NMF對(duì)評(píng)分矩陣進(jìn)行分解不出現(xiàn)負(fù)值的特性在推薦算法中的現(xiàn)實(shí)意義。同時(shí),在NMF分解后的數(shù)據(jù)密度提升的低維空間下進(jìn)行相似度計(jì)算,避免了在數(shù)據(jù)高維稀疏性的情形下計(jì)算相似度,然后將項(xiàng)目的熱度融入到相似度運(yùn)算過(guò)程,不僅考慮項(xiàng)目熱度,同時(shí)還能避免傳統(tǒng)協(xié)同過(guò)濾算法僅僅考慮相似度這單一因素的影響,算法的魯棒性更佳,最終提高了推薦的精度。
為了驗(yàn)證本文提出算法,使用MovieLens數(shù)據(jù)集進(jìn)行驗(yàn)證。
表1為項(xiàng)目間相似度和熱度這兩個(gè)影響因素的分布情況,顯示了影響最終預(yù)測(cè)結(jié)果的兩個(gè)因素。通過(guò)實(shí)驗(yàn)得出,當(dāng)鄰居數(shù)量參數(shù)為20時(shí):相似度主要分布在[0,0.4],其中相似度在[0,0.2]占所有相似度的46 %。而熱度主要分布在[0.4,0.8],其中[0.6,0.8]占所有熱度的39 %??梢钥闯鱿嗨贫扰c熱度這兩個(gè)因素分布情況差別很大。
表1 相似度和熱度值分布 %
在推薦系統(tǒng)中,每個(gè)項(xiàng)目都應(yīng)該有一個(gè)熱度指標(biāo),符合現(xiàn)實(shí)世界中熱門(mén)商品被熱賣的現(xiàn)象。每個(gè)項(xiàng)目具有多個(gè)相似的鄰居項(xiàng)目,可協(xié)助對(duì)未知評(píng)分項(xiàng)目實(shí)現(xiàn)評(píng)分的合理預(yù)測(cè)。因此,相似度和熱度是兩個(gè)完全不同的兩個(gè)因素,把項(xiàng)目的熱度概念引入?yún)f(xié)同過(guò)濾推薦算法是可行的。
本文將所提出的NMF-IHCF算法與基于項(xiàng)目的協(xié)同過(guò)濾ICF算法和基于NMF的協(xié)同過(guò)濾NMF-CF算法進(jìn)行對(duì)比,使用RMSE作為推薦性能的衡量指標(biāo),如圖1所示。
圖1 不同推薦策略下的RMSE
本文提出的NMF-IHCF算法在鄰居數(shù)量低于8時(shí),均方根誤差值不斷降低;當(dāng)鄰居數(shù)量超過(guò)8之后,均方根誤差的值趨于穩(wěn)定。而ICF算法隨鄰居數(shù)量的不斷提高,均方根誤差在鄰居數(shù)目超過(guò)12個(gè)之后有略微的反彈,證明鄰居數(shù)量影響了評(píng)分的預(yù)測(cè)結(jié)果。NMF-IHCF算法和NMF-CF算法相比,RMSE更低,說(shuō)明引入項(xiàng)目熱度這一因素確實(shí)提高了推薦算法的性能。圖1說(shuō)明本文提出的算法是有效可行的,具有更好的魯棒性,利用項(xiàng)目熱度這一因素優(yōu)化了協(xié)同過(guò)濾算法的性能。
本文提出了將非負(fù)矩陣分解和項(xiàng)目熱度相結(jié)合的協(xié)同過(guò)濾推薦算法。算法不僅考慮到項(xiàng)目間的相似度,同時(shí)考慮到項(xiàng)目熱度這一因素,最終達(dá)到了對(duì)推薦精度的提高。該算法彌補(bǔ)了SVD出現(xiàn)負(fù)值的影響,并且增強(qiáng)了算法的魯棒性,提高了算法的預(yù)測(cè)精度。在接下來(lái)的研究重心將放在對(duì)非負(fù)特征空間下得到的相似度進(jìn)行約束,獲得更準(zhǔn)確的相似度,來(lái)提高算法的性能。