周明升1,2,韓冬梅1
(1. 上海財經大學 信息管理與工程學院,上海 200433;2.上海外高橋保稅區聯合發展有限公司,上海 200131)
摘要:協同過濾推薦算法是推薦系統研究的熱點,近年來,在亞馬遜、淘寶等商業系統中獲得應用。在實際應用過程中,協同過濾推薦面臨數據稀疏和準確性低的問題。作為推薦基礎的用戶產品(項目)矩陣通常非常稀疏(存在大量缺失數據),從而導致推薦結果不準確。文章試圖在缺失數據情況下提高協同過濾推薦的準確性,聚焦以下兩個方面:(1)用戶相似度、產品(項目)相似度計算;(2)缺失數據預測。首先,用增強的皮爾森相關系數算法,通過增加參數,對相似度進行修正,提高用戶、產品(項目)相似度計算的準確率。接著,提出一種同時考慮了用戶和產品(項目)特征的缺失數據預測算法。算法中,對用戶和產品(項目)分別設置相似度閾值,只有當用戶或產品(項目)相似度達到閾值時,才進行缺失數據預測。預測過程中,同時使用用戶和產品(項目)相似度信息,以提高準確度。在模型基礎上,用淘寶移動客戶端的數據集進行了驗證,實驗結果表明所提算法比其他推薦算法要優異,對數據稀疏性的魯棒性要高。
關鍵詞:協同過濾;推薦系統;缺失數據預測;數據稀疏性
0引言
協同過濾推薦算法(Collaborative Filtering Recommendation Algorithm),通過收集相似用戶或產品(項目)的評分信息來預測用戶興趣,從而進行產品(項目)的推薦。對用戶或產品(項目)的相似性進行計算,通過用戶產品(項目)矩陣來預測用戶偏好。根據角度不同,協同過濾推薦分為基于用戶的方法和基于產品(項目)的方法。算法中,計算用戶或產品(項目)之間的相似度是關鍵步驟,常見的相似度計算方法有:皮爾森相關系數算法(Pearson Correlation Coefficient Algorithm,PCC)[1]和空間向量相似度算法(Vector Space Similarity Algorithm,VSS)[2]。
實際應用中,因為用戶產品(項目)矩陣的稀疏性(存在大量缺失數據),造成推薦結果不準確,許多研究試圖解決矩陣的數據稀疏性問題。Wang Jun等人構建了一種概率框架,通過已有數據來預測用戶-產品(項目)矩陣中的值[3]。XUE G R等人提出了一種同時基于內容和建模的協同過濾框架,通過平滑算法,預測用戶產品(項目)矩陣中的缺失數據[4]。MA H等人提出綜合考慮用戶信息和產品(項目)信息來預測缺失數據的方法[5],對協同過濾算法進行了改進。這些方法可以取得比傳統協同過濾算法更好的結果,但基于概率或聚類的平滑算法沒有區分同一組內用戶的差別。同時,預測用戶-產品(項目)矩陣中的所有缺失數據也可能為當前用戶的推薦帶來負面影響。
為解決上述問題,本文采用增強的皮爾森相關系數來衡量用戶間與產品(項目)間的相似性(并進行修正),綜合考慮用戶信息和產品(項目)信息,提出一種改進的缺失數據預測算法:當且僅當預測缺失數據會為當前用戶的推薦帶來積極影響時(相似度達到閥值)才進行缺失數據預測,否則不進行預測。在完成缺失數據預測后,進行協同過濾推薦。實驗顯示,本文所提方法比傳統方法效果要好。
1相似度計算及修正
1.1相似度計算
RESNICK P等人已經證明,基于皮爾森相關系數(PCC)的協同過濾,其效果通常比基于空間向量相似度算法(VSS)等方法要好,因為它考慮了不同用戶打分標準不同的因素[1]。在基于用戶的協同過濾算法[6]中,皮爾森相關系數(PCC)被用于定義有相同產品(項目)評分的不同用戶a和u之間的相似度,如下:
其中,Sim(a,u)定義了用戶a與用戶u之間的相似度,產品(項目)i是用戶a和用戶u都評過分的產品(項目)。ra,i是用戶a對產品(項目)i的評分,ra是用戶a的平均評分。基于產品(項目)的方法[7]可以類似得出(本文不再贅述)。
1.2相似度修正
MCLAUGHLIN M R等人研究發現,皮爾森相關系數(PCC)有時會高估用戶之間的相似性,特別是當用戶正好對一些產品(項目)打分相似,而整體相似度不同時[8]。為解決這一問題,本文引入相關性權重指標,對相似度計算進行修正,如下:
式(2)在一定程度上解決了數據稀疏性問題(僅有少量產品(項目)被用戶評分),但當|Ia∩Iu|遠比γ大時,相似度Sim′(a,u)將大于1,為此,筆者進行了變換,改進如下:
其中,|Ia∩Iu|是用戶a和用戶u都評價過的產品(項目)集個數。
2缺失數據預測
基于用戶的協同過濾算法通過相似用戶的評分來預測缺失數據,根據不同情況,本文的預測方法如下:
模型1:當S(u)≠,且S(i)≠時,即用戶相似度和產品(項目)相似度均達到閾值(分別為η和θ)時,缺失數據預測為:
其中λ的取值范圍為[0,1]。
模型2:當S(u)=,但S(i)≠時,即產品(項目)存在相似產品(項目),但用戶與其他用戶的相似度小于閾值η時,缺失數據預測為:
模型3:當S(u)≠,但S(i)=時,即用戶存在相似用戶,但產品(項目)與其他產品(項目)的相似度小于閾值θ時,缺失數據預測為:
模型4:當S(u)=,且S(i)=時,即用戶與其他用戶的相似度小于閾值,且產品(項目)與其他產品(項目)之間的相似度小于閾值時,缺失數據預測為:
3實驗分析
3.1數據集
用淘寶移動客戶端的數據進行試驗分析,該數據集來自阿里巴巴天池大數據研究平臺,為公開數據。數據集中有超過104萬條記錄,來自723個用戶對53 383個產品(項目)的評分。用戶產品(項目)矩陣的稀疏度為:1 048 575/(723×53 383)=2.72%。本文隨機獲取500個用戶數據,并將其分為兩部分:取300個作為訓練集,剩余的200個作為測試集(實際用戶集)。對不同用戶集,推薦產品(項目)數分別取10個、20個和30個。
3.2比較方法
用絕對平均誤差(Mean Absolute Error,MAE)作為衡量指標。MAE被定義為:
其中,ru,i為用戶u對產品(項目)i的評分, r^u,i表示用本文方法預測的用戶u對產品(項目)i的評分,N為測試分數的個數,MAE值越小算法越好。
3.3實驗結果
通過實驗,本文改進的缺失數據協同過濾算法(IMDP)與其他推薦算法進行比較,包括:基于用戶的皮爾森相關系數算法(UPCC)和基于產品(項目)的皮爾森相關系數算法(IPCC)、基于平滑和聚類的皮爾森相關系數算法(SCBPCC)[4]、相似融合算法(SF)[3]、特征模型算法(AM)[9]。
實驗中,設定:用戶相似性與產品相似性的權重系數λ=0.6,不同用戶間同時評論的產品(項目)數參數γ=30,不同產品(項目)被同時評論的用戶數參數δ=30,用戶相似度閾值η=0.5,產品(項目)相似度閾值θ=0.5。
實驗表明(如表1所示),本文算法綜合考慮了用戶相似度、產品(項目)相似度,對相似度進行了修正,設置了預測閾值,更加合理,在不同訓練集、不用產品(項目)數情況下,推薦效果比其他方法要優異。本文算法在不同樣本量、產品(項目)數下,MAE值均比較低,保持了較高的穩定性。
4結論
本文提供了一種改進的缺失數據協同過濾方法。通過判斷用戶、產品(項目)是否有相似用戶、產品(項目),決定是否預測缺失數據。如果需要預測,則同時考慮用戶信息和產品(項目)信息,以提高預測準確度。用淘寶移動客戶端數據進行了對比驗證,實驗結果顯示,本文方法比其他推薦方法更加優異。
通過整合用戶和產品(項目)信息,采用基于用戶和產品(項目)的方法,得到了更好的預測結果。接下來,將從以下幾個方面做進一步研究:(1)用戶相似性和產品相似性的權重系數變化對預測結果的影響;(2)用戶數、產品(項目)數參數變化對預測結果的影響;(3)用戶相似度、產品(項目)相似度閾值的變化對預測結果的影響;(4)用戶信息、產品(項目)信息之間關系的研究等。
參考文獻
[1] RESNICK P, IACOVOU N, SUCHAK M, et al. Grouplens: an open architecture for collaborative filtering of netnews[C]. Proceedings of ACM Conference on Computer Supported Cooperative Work, 1994:175 186.
[2] BREESE J S, HECKERMAN D, KADIE C. Empirical analysis of predictive algorithms for collaborative filtering[C]. In Proceedings of the 14th Conference on Uncertainty in Articifical Intelligence, 1998:43 52.
[3] Wang Jun, DEVRIES A P, REINDERS M J T. Unifying userbased and itembased collaborative filtering approaches by similarity fusion[A]. Proceedings of the 29th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval[C].USA:Seatole, 2006:501 508.
[4] XUE G R, LIN C, YANG Q, et al. Scalable collaborative filtering using clusterbased smoothing[C]. Proceedings 28th International ACM SIGIR Conference on Research and Development in Information Retrieval, 2005:114 121.
[5] Ma Hao, KING I, LYU M R. Effective missing data prediction for collaborate filtering[C]. SIGIR 2007: Proceedings of the Intermational ACM SIGIR Conference on Research and Development in Information Retrieval, Amsterdam the Netherlands, 2007:3946.
[6] 黃創光,印鑒,汪靜,等.不確定近鄰的協同過濾推薦算法[J].計算機學報,2010,33(8):13691376.
[7] 鄧愛林, 朱揚勇, 施伯樂.基于項目評分預測的協同過濾推薦算法[J].軟件學報,2003,14(9):1621 1628.
[8] MCLAUGHLIN M R, HERLOCKER J L. A collaborative filtering algorithm and evaluation metric that accurately model the user experience[C]. International ACM SIGIR Conference on Reseach and Development in Information Retrieral. ACM, 2004:329 336.
[9] HOFMANN T, HOFMANN T. Latent semantic models for collaborative filtering[J]. ACM Transactions on Information Systems, 2004, 22(1):89 115.