推薦系統中的稀疏矩陣處理
數據稀疏問題嚴重制約著協同過滿推薦系統的發展。對於大型商務網站來說,由於產品和用戶數量都很龐大,用戶評分產品一般不超過產品總數的1%,兩個用戶共同評分的產品更是少之又少,解決數據稀菊問題是提高推薦質量的關鍵。
為了提高推薦質量,許多研究人員都試圖緩和數據稀疏問題。他們從不同的角度對用戶和產品信息進行分析、處理,降低數據的稀疏程度。這些算法各有利弊。
1.基於項目的協同過濾推薦算法
傳統的協同過濾推薦算法是通過計算用戶之間的相似性,尋找與目標用戶興趣相似的一組用戶,作為目標用戶的最近鄰居。然而,由於數據的極端稀疏性,兩個用戶共同評分的產品非常少,得到用戶之間的相似性很有可能為0。因此,出現了基於項目的協同過濾推薦技術。
基於項目的協同過濾推薦算法,從產品角度進行分析,尋找與目標產品相似的產品集合,然後進行預測和推薦。它基於一個假設,即用戶對與其感興趣產品相似的產品也感興趣。由於項目間的相似性相對穩定,而通常項目的數量比用戶數量少,這樣可以減少計算量,降低數據稀疏性。
2.降低矩陣維數的技術
降低矩陣維數的技術可對原始稀疏數據直接進行數據處理,降低數據稀疏性。主要算法有單值分解、聚類等。
2.1單值分解
單值分解算法利用矩陣的單值分解原理,對用戶—產品矩陣進行分解,從而降低矩陣的維數,抽取出主要信息。
2.2聚類
單值分解通過矩陣運算降低數據稀疏性,聚類則是通過一些聚類算法將產品或用戶聚成若幹具有共同性質的類;然後在小的聚類數據中產生推薦。聚類算法有很多,如用K-means對用戶的聚類算法。K-means算法是目前最通用的快速聚類算法。
3.基於內容的協同過濾算法
以上介紹的算法都是建立在用戶對產品評分的基礎上,在一定程度上都緩和了數據稀疏帶來的問題。基於產品內容的協同過濾算法與前面介紹的幾種算法的不同之處,是考慮到了產品本身的信息。由於增加了信息量,可以有效提高推薦質量。
參考論文:協同過濾推薦系統中數據稀疏問題的解決 吳 顏1,沈 潔1,顧天竺1,陳曉紅1,李 慧1,2,張 舒1
推薦系統中的稀疏矩陣處理