周明升1,2,,韓冬梅1
(1. 上海財經(jīng)大學 信息管理與工程學院,上海 200433,;2.上海外高橋保稅區(qū)聯(lián)合發(fā)展有限公司,,上海 200131)
摘要:協(xié)同過濾推薦算法是推薦系統(tǒng)研究的熱點,近年來,,在亞馬遜,、淘寶等商業(yè)系統(tǒng)中獲得應用。在實際應用過程中,,協(xié)同過濾推薦面臨數(shù)據(jù)稀疏和準確性低的問題,。作為推薦基礎的用戶產(chǎn)品(項目)矩陣通常非常稀疏(存在大量缺失數(shù)據(jù)),從而導致推薦結果不準確,。文章試圖在缺失數(shù)據(jù)情況下提高協(xié)同過濾推薦的準確性,,聚焦以下兩個方面:(1)用戶相似度、產(chǎn)品(項目)相似度計算,;(2)缺失數(shù)據(jù)預測,。首先,用增強的皮爾森相關系數(shù)算法,,通過增加參數(shù),,對相似度進行修正,提高用戶,、產(chǎn)品(項目)相似度計算的準確率,。接著,提出一種同時考慮了用戶和產(chǎn)品(項目)特征的缺失數(shù)據(jù)預測算法,。算法中,,對用戶和產(chǎn)品(項目)分別設置相似度閾值,只有當用戶或產(chǎn)品(項目)相似度達到閾值時,,才進行缺失數(shù)據(jù)預測,。預測過程中,同時使用用戶和產(chǎn)品(項目)相似度信息,,以提高準確度,。在模型基礎上,用淘寶移動客戶端的數(shù)據(jù)集進行了驗證,,實驗結果表明所提算法比其他推薦算法要優(yōu)異,,對數(shù)據(jù)稀疏性的魯棒性要高。
關鍵詞:協(xié)同過濾,;推薦系統(tǒng),;缺失數(shù)據(jù)預測;數(shù)據(jù)稀疏性
0引言
協(xié)同過濾推薦算法(Collaborative Filtering Recommendation Algorithm),,通過收集相似用戶或產(chǎn)品(項目)的評分信息來預測用戶興趣,,從而進行產(chǎn)品(項目)的推薦,。對用戶或產(chǎn)品(項目)的相似性進行計算,通過用戶產(chǎn)品(項目)矩陣來預測用戶偏好,。根據(jù)角度不同,,協(xié)同過濾推薦分為基于用戶的方法和基于產(chǎn)品(項目)的方法。算法中,,計算用戶或產(chǎn)品(項目)之間的相似度是關鍵步驟,,常見的相似度計算方法有:皮爾森相關系數(shù)算法(Pearson Correlation Coefficient Algorithm,PCC)[1]和空間向量相似度算法(Vector Space Similarity Algorithm,,VSS)[2],。
實際應用中,因為用戶產(chǎn)品(項目)矩陣的稀疏性(存在大量缺失數(shù)據(jù)),,造成推薦結果不準確,,許多研究試圖解決矩陣的數(shù)據(jù)稀疏性問題。Wang Jun等人構建了一種概率框架,,通過已有數(shù)據(jù)來預測用戶-產(chǎn)品(項目)矩陣中的值[3],。XUE G R等人提出了一種同時基于內容和建模的協(xié)同過濾框架,通過平滑算法,,預測用戶產(chǎn)品(項目)矩陣中的缺失數(shù)據(jù)[4],。MA H等人提出綜合考慮用戶信息和產(chǎn)品(項目)信息來預測缺失數(shù)據(jù)的方法[5],,對協(xié)同過濾算法進行了改進,。這些方法可以取得比傳統(tǒng)協(xié)同過濾算法更好的結果,但基于概率或聚類的平滑算法沒有區(qū)分同一組內用戶的差別,。同時,,預測用戶-產(chǎn)品(項目)矩陣中的所有缺失數(shù)據(jù)也可能為當前用戶的推薦帶來負面影響。
為解決上述問題,,本文采用增強的皮爾森相關系數(shù)來衡量用戶間與產(chǎn)品(項目)間的相似性(并進行修正),,綜合考慮用戶信息和產(chǎn)品(項目)信息,提出一種改進的缺失數(shù)據(jù)預測算法:當且僅當預測缺失數(shù)據(jù)會為當前用戶的推薦帶來積極影響時(相似度達到閥值)才進行缺失數(shù)據(jù)預測,,否則不進行預測,。在完成缺失數(shù)據(jù)預測后,進行協(xié)同過濾推薦,。實驗顯示,,本文所提方法比傳統(tǒng)方法效果要好。
1相似度計算及修正
1.1相似度計算
RESNICK P等人已經(jīng)證明,,基于皮爾森相關系數(shù)(PCC)的協(xié)同過濾,,其效果通常比基于空間向量相似度算法(VSS)等方法要好,因為它考慮了不同用戶打分標準不同的因素[1],。在基于用戶的協(xié)同過濾算法[6]中,,皮爾森相關系數(shù)(PCC)被用于定義有相同產(chǎn)品(項目)評分的不同用戶a和u之間的相似度,,如下:
其中,Sim(a,u)定義了用戶a與用戶u之間的相似度,,產(chǎn)品(項目)i是用戶a和用戶u都評過分的產(chǎn)品(項目),。ra,i是用戶a對產(chǎn)品(項目)i的評分,ra是用戶a的平均評分,?;诋a(chǎn)品(項目)的方法[7]可以類似得出(本文不再贅述)。
1.2相似度修正
MCLAUGHLIN M R等人研究發(fā)現(xiàn),,皮爾森相關系數(shù)(PCC)有時會高估用戶之間的相似性,,特別是當用戶正好對一些產(chǎn)品(項目)打分相似,而整體相似度不同時[8],。為解決這一問題,,本文引入相關性權重指標,對相似度計算進行修正,,如下:
式(2)在一定程度上解決了數(shù)據(jù)稀疏性問題(僅有少量產(chǎn)品(項目)被用戶評分),,但當|Ia∩Iu|遠比γ大時,相似度Sim′(a,u)將大于1,,為此,,筆者進行了變換,改進如下:
其中,,|Ia∩Iu|是用戶a和用戶u都評價過的產(chǎn)品(項目)集個數(shù),。
2缺失數(shù)據(jù)預測
基于用戶的協(xié)同過濾算法通過相似用戶的評分來預測缺失數(shù)據(jù),根據(jù)不同情況,,本文的預測方法如下:
模型1:當S(u)≠,,且S(i)≠時,即用戶相似度和產(chǎn)品(項目)相似度均達到閾值(分別為η和θ)時,,缺失數(shù)據(jù)預測為:
其中λ的取值范圍為[0,1],。
模型2:當S(u)=,但S(i)≠時,,即產(chǎn)品(項目)存在相似產(chǎn)品(項目),,但用戶與其他用戶的相似度小于閾值η時,缺失數(shù)據(jù)預測為:
模型3:當S(u)≠,,但S(i)=時,,即用戶存在相似用戶,但產(chǎn)品(項目)與其他產(chǎn)品(項目)的相似度小于閾值θ時,,缺失數(shù)據(jù)預測為:
模型4:當S(u)=,,且S(i)=時,即用戶與其他用戶的相似度小于閾值,,且產(chǎn)品(項目)與其他產(chǎn)品(項目)之間的相似度小于閾值時,,缺失數(shù)據(jù)預測為:
3實驗分析
3.1數(shù)據(jù)集
用淘寶移動客戶端的數(shù)據(jù)進行試驗分析,,該數(shù)據(jù)集來自阿里巴巴天池大數(shù)據(jù)研究平臺,為公開數(shù)據(jù),。數(shù)據(jù)集中有超過104萬條記錄,,來自723個用戶對53 383個產(chǎn)品(項目)的評分。用戶產(chǎn)品(項目)矩陣的稀疏度為:1 048 575/(723×53 383)=2.72%,。本文隨機獲取500個用戶數(shù)據(jù),,并將其分為兩部分:取300個作為訓練集,剩余的200個作為測試集(實際用戶集),。對不同用戶集,,推薦產(chǎn)品(項目)數(shù)分別取10個、20個和30個,。
3.2比較方法
用絕對平均誤差(Mean Absolute Error,,MAE)作為衡量指標。MAE被定義為:
其中,,ru,i為用戶u對產(chǎn)品(項目)i的評分,, r^u,i表示用本文方法預測的用戶u對產(chǎn)品(項目)i的評分,N為測試分數(shù)的個數(shù),,MAE值越小算法越好,。
3.3實驗結果
通過實驗,本文改進的缺失數(shù)據(jù)協(xié)同過濾算法(IMDP)與其他推薦算法進行比較,,包括:基于用戶的皮爾森相關系數(shù)算法(UPCC)和基于產(chǎn)品(項目)的皮爾森相關系數(shù)算法(IPCC),、基于平滑和聚類的皮爾森相關系數(shù)算法(SCBPCC)[4]、相似融合算法(SF)[3],、特征模型算法(AM)[9],。
實驗中,設定:用戶相似性與產(chǎn)品相似性的權重系數(shù)λ=0.6,,不同用戶間同時評論的產(chǎn)品(項目)數(shù)參數(shù)γ=30,不同產(chǎn)品(項目)被同時評論的用戶數(shù)參數(shù)δ=30,,用戶相似度閾值η=0.5,,產(chǎn)品(項目)相似度閾值θ=0.5。
實驗表明(如表1所示),,本文算法綜合考慮了用戶相似度,、產(chǎn)品(項目)相似度,對相似度進行了修正,,設置了預測閾值,,更加合理,在不同訓練集,、不用產(chǎn)品(項目)數(shù)情況下,,推薦效果比其他方法要優(yōu)異,。本文算法在不同樣本量、產(chǎn)品(項目)數(shù)下,,MAE值均比較低,,保持了較高的穩(wěn)定性。
4結論
本文提供了一種改進的缺失數(shù)據(jù)協(xié)同過濾方法,。通過判斷用戶,、產(chǎn)品(項目)是否有相似用戶、產(chǎn)品(項目),,決定是否預測缺失數(shù)據(jù),。如果需要預測,則同時考慮用戶信息和產(chǎn)品(項目)信息,,以提高預測準確度,。用淘寶移動客戶端數(shù)據(jù)進行了對比驗證,實驗結果顯示,,本文方法比其他推薦方法更加優(yōu)異,。
通過整合用戶和產(chǎn)品(項目)信息,采用基于用戶和產(chǎn)品(項目)的方法,,得到了更好的預測結果,。接下來,將從以下幾個方面做進一步研究:(1)用戶相似性和產(chǎn)品相似性的權重系數(shù)變化對預測結果的影響,;(2)用戶數(shù),、產(chǎn)品(項目)數(shù)參數(shù)變化對預測結果的影響;(3)用戶相似度,、產(chǎn)品(項目)相似度閾值的變化對預測結果的影響,;(4)用戶信息、產(chǎn)品(項目)信息之間關系的研究等,。
參考文獻
?。?] 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.
?。?] 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.
?。?] 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.
?。?] 黃創(chuàng)光,,印鑒,汪靜,,等.不確定近鄰的協(xié)同過濾推薦算法[J].計算機學報,,2010,33(8):13691376.
?。?] 鄧愛林, 朱揚勇, 施伯樂.基于項目評分預測的協(xié)同過濾推薦算法[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.
?。?] HOFMANN T, HOFMANN T. Latent semantic models for collaborative filtering[J]. ACM Transactions on Information Systems, 2004, 22(1):89 115.