摘要:摘 要: 傳統協同過濾算法在計算相似度的時候,未考慮數據稀疏性以及項目類型相似程度,從而影響推薦質量。為了提高推薦精度,提出一種基于可信相似度的協同過濾算法。首先計
摘 要: 傳統協同過濾算法在計算相似度的時候,未考慮數據稀疏性以及項目類型相似程度,從而影響推薦質量。為了提高推薦精度,提出一種基于可信相似度的協同過濾算法。首先計算項目類型的相似程度與共同評分用戶數和所有評分用戶數之間的比例,然后根據類型相似程度和共同評分項的比例進行有機結合,計算相似可信度,形成合理的項目可信相似度。實驗結果表明,該算法能夠有效的提高推薦質量。
關鍵詞: 推薦系統; 協同過濾; 相似度; 可信度
0 引言
隨著互聯網技術的飛速發展,信息分享與獲取變得更加容易,豐富多彩的信息改變了人們的生活方式。然而,海量信息的蜂擁而至,也帶來數據和信息的指數級增長,人們漸漸迷失在信息的海洋中。搜索引擎的出現緩解了信息過載問題,但是需要用戶有明確的需求,如何智能的挖掘用戶潛在的個性化信息進而進行信息過濾成為研究的熱點,推薦系統由此而生。
推薦系統建立在信息檢索和信息過濾的基礎之上,是個性化推薦的重要實現形式。推薦算法可以分為基于內容的算法、協同過濾算法和基于模型的算法。協同過濾推薦算法已經成為迄今為止應用最成功的個性化推薦技術之一[1]。其基本思想是相似的用戶之間具有相似的興趣愛好,只要找到目標用戶的鄰居用戶,就可以通過鄰居用戶對目標用戶的偏好進行預測。
經過20多年的發展,協同過濾推薦技術已經被廣泛使用,進入我們的日常生活,帶來了巨大的商業和社會價值。然而,隨著應用范圍的擴大和信息量的不斷增大,協同過濾算法的一些弊端開始顯現,如冷啟動問題、稀疏性問題、可擴展性問題、推薦精度低等,為此學者進行了廣泛而深入的研究。文獻[2]通過引入基于時間的數據權重和基于資源相似度的數據權重,使得推薦系統能夠在一定程度上反映用戶的興趣變化。文獻[3]使用正則化約束來防止矩陣分解模型的過度擬合,并通過迭代最小二乘法來訓練分解模型,改進后的算法在可擴展性和抗稀疏性方面都取得了一定的效果。文獻[4]提出一種基于情景的協同過濾推薦算法,通過引入項目情景模式相似度提高了協同過濾算法的推薦質量。文獻[5]提出一種新的協同過濾評分矩陣的特征指標“資源關系密度”,進而提出一種虛擬用戶填充算法,提高了推薦精度和覆蓋率。針對冷啟動問題,文獻[6]運用基于內容預測的方法預測缺失數據,然后使用協同過濾算法進行推薦。
本文的研究建立在基于項目的協同過濾算法上。傳統基于項目的協同過濾算法僅僅基于評分相似度來衡量項目之間的相似程度,而忽略了相似度計算值的可信程度,沒有考慮到目標項目與其最近鄰集合中項目的相似性以及共同評分項的個數對相似度計算的影響。針對這個問題,本文提出了基于可信相似度的協同過濾算法,在計算相似度的時候,綜合考慮評分可信度以及項目類型可信度,計算可信相似度,以此來提高預測的精度。
1 傳統相似性度量方法
評分相似度是傳統協同過濾算法用來衡量項目之間的相似程度的方法。余弦相似度,Pearson相關相似度和修正的余弦相似度是最為常用的計算方法。
⑴ 標準的余弦相似性
2 改進相似度計算方法的協同過濾算法
2.1 傳統相似度計算存在的問題
傳統的相似度計算方法建立在兩個項目的共同評分數據上,而忽略了用戶項目評分矩陣R的極度稀疏性以及項目類型的相關性,這會導致以下問題。
⑴ 傳統的相似性計算方法未考慮到項目類型的相似程度對項目相似性的影響。這會導致對于某一類型的項目,其最近鄰可能是很多各不相同的項目類型的集合。
例如計算用戶U(i)對恐怖片Ij的預測評分值,使用傳統的計算方法得到的電影Ij的最近鄰集合Pi,j有可能為Pi,j={喜劇片、愛情片、戰爭片、戰爭片、兒童片}。顯然,由于用戶對不同電影的喜好程度是不同的,僅憑借電影的評分,而忽略電影的類型相似信息,來計算電影之間的相似性,偏離了實際,相似度的計算結果就不夠可信。較好的方法是能夠找到和恐怖片類型最相似,且其與Ij的評分相似度又比較高的電影作為最近鄰計算預測評分。最近鄰中電影的類型越相似,其計算出來的相似度就越可信,預測評分的準確度也就越高。
⑵ 傳統的相似度的計算依賴于對項目進行共同評分的用戶數目。然而,在實際的推薦系統中,用戶的評分數據往往是極端稀疏的,共同評分的用戶數量很少。例如電影i和電影j只有兩個用戶進行了評分,而且這兩個用戶的評分又非常接近,那么用傳統方法計算出來的相似度就很高,顯然這和實際不相符,相似度的計算值不夠可信。相反,共同評分的用戶數量越多,那么相似度的可信度就越高,就越能夠反應用戶的真實興趣偏好。
2.2 可信度的計算
基于以上分析,本文提出一種新的相似性計算方法,通過引入相似可信度來動態調節相似度的計算,以改進傳統相似性計算存在的問題。
針對問題⑴,如果我們在計算項目相似度的時候,將項目類型對相似度影響的大小作為項目相似性可信程度的一個度量因子,動態地調節傳統相似性計算的結果,那么可以使相似性的計算值更加趨近于實際。因此,本文提出,在計算項目相似度時,將項目類型的相似程度作為項目相似性的一個度量因子,我們稱之為項目類型可信度。
2.4 最近鄰的選擇
目標最近鄰的選擇,是協同過濾算法最重要的一步。本文根據式(12)計算項目之間的可信相似度,得出可信相似度矩陣Dsim,使用K近鄰算法從相似性矩陣中找出可信相似度值最高的K個項目作為目標項目的最近鄰Neighbor。算法如下:
輸入:用戶評分矩陣Rm×n,項目類別矩陣Ts×n,K,用戶參評矩陣Xm×n。
輸出:最近鄰Neighbor。
步驟一:可信相似度Dsim的計算
對Rm×n中的目標項目i:
⑴ 依次從Rm×n中選擇和i不同的項目j。
⑵ 根據式⑵計算項目i和項目j的Pearson相似度。
⑶ 根據式(11)計算項目i和項目j的可信度。
⑷ 利用公式(12)計算項目i和項目j的可信相似度,并更新Dsim的值。
⑸ 若Dsim計算全部完成,則執行步驟二,若Dsim未完成計算,回到第1步。
步驟二:生成最近鄰集合Neighbor
對Rm×n中的每一個項目i:
從Dsim中,選擇最相似的K個項目作為項目i的最近鄰Neighbor。
2.5 評分預測
3 實驗與分析
3.1 實驗數據
MovieLens[8]是明尼蘇達大學Grouplens工作組于1997年創建的一個影片推薦系統,它通過收集和分析用戶評分和用戶對電影的喜好數據,形成推薦。本文選取公開的MovieLens數據集作為實驗數據,該數據由10萬條評分數據組成,評分數據是由943個用戶對1682個電影項目的評分組成的,每個用戶對至少20部電影進行了評分,評分的范圍為1-5。評分越高表示用戶的興趣度越高。每部電影都被分為18個電影類別中的一類或者幾類。
本文實驗將10萬條數據按照8:2的比例進行劃分,其中訓練集占80%(100000×80%=80000條數據),測試集占20%(100000×20%=20000條數據)。實現語言采用Python。
3.2 評價標準
推薦系統的預測評分值與用戶的實際評分值越接近,其推薦質量就越高。MAE(Mean Absolute Error)[9]是一種計算所有單個觀測值與算術平均值偏差的絕對值的平均值的方法。平均絕對誤差能較好地反映預測值與實際值誤差的真實情況。MAE的定義如式(14),通過累計計算實際的用戶評分與預測的用戶評分的偏差的平均值來度量預測的準確性,MAE值越小,表明算法越精確。
3.3 實驗結果
對于項目類型可信度的計算,需要先確定項目的屬性矩陣T。MovieLens數據集中的電影共有18種特征屬性,每部電影都可以同時具有一個或者多個屬性,實驗中,使用這些屬性構造電影的屬性矩陣T。對于評分可信度的計算,我們使用式(9)根據用戶項目評分矩陣R構造用戶參評矩陣X。
實驗中,不斷改變項目鄰居個數K的數目,使用可信相似度來度量項目間的相似性,以傳統的基于項目的協同過濾算法CF作為基準參考方法,對基于可信相似度的協同過濾算法MSCF進行了實驗,驗證優化效果。實驗結果如圖1所示。
可以看出,一開始隨著最近鄰數目的增加,兩種相似度算法的MAE值都呈現下降的趨勢,并且隨著近鄰數量的不斷增大而趨于平穩。在最近鄰數量相同的時候,MSCF的實驗效果好于CF的實驗效果。這是因為傳統相似性計算方法未考慮項目類型的相似性和共同評分用戶數量對相似性計算結果的影響,導致求得的最近鄰可能不符合實際,從而影響了推薦質量。而改進的基于可信相似度的算法MSCF則綜合考慮了兩者對相似度計算的影響,因而具有較小的平均絕對偏差MAE。
實驗證明,本文提出的基于可信相似度的協同過濾算法的推薦效果要優于傳統的協同過濾算法。
4 結束語
在傳統的基于項目的協同過濾算法中,項目間相似性計算的精確度是影響推薦質量的關鍵因素。實際應用中,數據的稀疏性對傳統的協同過濾算法產生了很大的影響。同時,最近鄰集合中項目的類型的不相似性也對推薦系統的推薦精度產生了消極的影響。本文針對傳統相似度計算的問題,提出了一種改進的相似性度量方法,從項目類型的相似性和共同評分的用戶數兩個方面考慮,計算可信相似度,并將改進的算法在真實數據集上進行了實驗。實驗的結果表明,改進的方法有效地提高了推薦質量。
參考文獻:
[1] Sarvar B. Karypis G, Konstan J, et al. Item-based Collaborativefiltering recommendation algorithms[C]. Proceedings of the 10th International World Wild Web Conference. New York,2001:285-295
[2] 邢春曉,高鳳榮,思南等.適應用戶興趣變化的協同過濾推薦算法[J].計算機研究與發展,2007.44(2):296-301
[3] 李改,李磊.基于矩陣分解的協同過濾算法[J].計算機工程與應用,2011.47(30):4-7
[4] 李薈,謝強,丁秋林.一種基于情景的協同過濾推薦算法[J].計算機技術與發展,2014.24(10):42-46
小編推薦優秀電子期刊 機電技術
《機電技術》(雙月刊)創刊于1977年,由福建省機械科學研究院主辦。本刊是經國家登記注冊的國內外公開發行的綜合性機電科技期刊。中國學術期刊綜合評價數據庫來源期刊,中文科技期刊數據庫全文收錄期刊。本刊堅持促進機電行業的繁榮與發展,更好地為現代制造業服務的辦刊宗旨。