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