王茂華 郝云力 柏春松
摘要:針對(duì)傳統(tǒng)相似度忽略用戶局部偏好、用戶評(píng)分差異和非共同評(píng)分項(xiàng)等因素的影響,提出了一種基于損失因子和數(shù)據(jù)集劃分的協(xié)同過濾推薦算法.算法根據(jù)用戶對(duì)項(xiàng)目的偏好度來劃分?jǐn)?shù)據(jù)集,并提出用兩個(gè)修正因子來改進(jìn)傳統(tǒng)的相似度.在MovieLens數(shù)據(jù)集上將所提算法和Pearson算法、參考文獻(xiàn)[1]中的算法進(jìn)行比較,實(shí)驗(yàn)結(jié)果表明,基于損失因子和數(shù)據(jù)集劃分的協(xié)同過濾推薦算法更明顯地降低了MAE值.
關(guān)鍵詞:協(xié)同過濾;損失因子;劃分?jǐn)?shù)據(jù)集;Pearson
中圖分類號(hào):TP391? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):1673-260X(2019)01-0051-03
網(wǎng)絡(luò)信息的爆炸式增長使得用戶越來越難以搜索到自己需要的信息.而推薦技術(shù)可以根據(jù)用戶的需求、歷史行為等數(shù)據(jù),從大量的網(wǎng)絡(luò)信息中為目標(biāo)用戶推薦感興趣的信息,因此得到了廣泛的應(yīng)用[1].
在眾多的推薦算法中,基于協(xié)同過濾的算法是目前應(yīng)用最廣的推薦算法[2-5].針對(duì)傳統(tǒng)的協(xié)同過濾算法的推薦準(zhǔn)確度較低這一難題,國內(nèi)外的學(xué)者提出了眾多的改進(jìn)算法.李容等通過分析用戶共同評(píng)分項(xiàng)和用戶平均分的影響,用兩個(gè)修正因子來改進(jìn)傳統(tǒng)相似度.張宏等[6]將用戶評(píng)分時(shí)間和商品流行度引入相似度計(jì)算中.鄭潔等[7]將用戶評(píng)分的活躍度和項(xiàng)目評(píng)價(jià)結(jié)果對(duì)平均值的偏差引入相似度的計(jì)算.何佶星等[8]提出以基于歐氏距離的KNN算法確定領(lǐng)域,以流行度閾值來劃分?jǐn)?shù)據(jù)集.
從以上算法的實(shí)驗(yàn)結(jié)果可以看出,推薦質(zhì)量得到了不同程度的提升,但是推薦算法的推薦準(zhǔn)確度仍然不能達(dá)到令人滿意結(jié)果.本文通過分析皮爾遜算法存在的問題,提出了一種基于損失因子和劃分?jǐn)?shù)據(jù)集的推薦算法.首先根據(jù)用戶偏好劃分?jǐn)?shù)據(jù)集,同時(shí)引入了損失因子和用戶共同評(píng)分項(xiàng)以改進(jìn)算法的相似度.本文算法使用Movielens數(shù)據(jù)集進(jìn)行試驗(yàn)驗(yàn)證,結(jié)果表明,本文算法能夠有效地降低預(yù)測(cè)誤差,提高了推薦準(zhǔn)確度.
1 傳統(tǒng)相似度算法存在的問題
1.1 忽略用戶局部偏好的影響
傳統(tǒng)相似度算法主要是計(jì)算用戶的整體相似度,但是用戶可能僅僅只有共同的偏好或厭惡.如表1所列的用戶評(píng)分矩陣,利用皮爾遜相似度算法可得u1和u2的相似度為1,但是直觀上來看,u1的偏好是I1和I2,而u2的偏好是I3和I6,兩者的偏好并不相同.同時(shí)可以看到,u1和u2都不喜歡I4和I5.用戶u1和u3雖然相似度為1,但是他們僅有共同的偏好,厭惡的項(xiàng)目并不相同.u1討厭的是I4和I5,而u3討厭的是I3和I6.傳統(tǒng)的皮爾遜推薦算法忽略了用戶局部偏好的影響,降低了推薦的準(zhǔn)確度.
1.2 忽略用戶評(píng)分差異
傳統(tǒng)的皮爾遜相似度計(jì)算只考慮兩個(gè)用戶評(píng)分向量的線性相關(guān)性,而忽略了每個(gè)維度上的數(shù)值差異,即用戶的評(píng)分標(biāo)準(zhǔn)不一樣,這會(huì)導(dǎo)致針對(duì)每個(gè)項(xiàng)目的具體評(píng)分出現(xiàn)這樣一種情況[1]:如表1所示,根據(jù)皮爾遜相似度計(jì)算方法可得用戶u4和u5的相似度為1,但是直觀上看,用戶u4對(duì)I6以外的所有項(xiàng)目都不喜歡,而用戶u5對(duì)所有的項(xiàng)目都喜歡.
1.3 忽略了非共同評(píng)分項(xiàng)數(shù)值的影響
目前,用戶的相似度普遍根據(jù)用戶的共同評(píng)分項(xiàng)進(jìn)行計(jì)算.隨著行業(yè)的發(fā)展,用戶數(shù)和項(xiàng)目數(shù)呈指數(shù)級(jí)增長,然而用戶評(píng)分的項(xiàng)目數(shù)變化很小,這導(dǎo)致用戶評(píng)分矩陣變的極度稀疏.用戶共同評(píng)分過的項(xiàng)目極少,大量的非共同評(píng)分項(xiàng)在評(píng)價(jià)中沒有起到任何作用,不利于預(yù)測(cè)用戶的偏好.以往的論文[1]已經(jīng)證明共同評(píng)分項(xiàng)占用比對(duì)相似度有影響,但是沒有考慮非共同評(píng)分項(xiàng)的實(shí)際數(shù)值所帶來的差異.
3 實(shí)驗(yàn)結(jié)果分析
本文采用MovieLens數(shù)據(jù)集中最小數(shù)據(jù)集進(jìn)行測(cè)試.該數(shù)據(jù)集包含943名用戶對(duì)1682部電影的10萬條評(píng)分,評(píng)分范圍為1到5,每個(gè)用戶至少評(píng)論過20部電影.本文采用平均絕對(duì)誤差(MAE)來計(jì)算預(yù)測(cè)誤差.
測(cè)試時(shí),鄰居數(shù)量分別選取5、10、20、25、30、35、40、45、50,100,利用數(shù)據(jù)集u1.base進(jìn)行訓(xùn)練,利用u1.test進(jìn)行測(cè)試.測(cè)試算法分別為Pearson、本文算法(簡(jiǎn)記為Proposed)、參考文獻(xiàn)[1]的算法(簡(jiǎn)記為LI)進(jìn)行比較,本文在三種算法下所得評(píng)分預(yù)測(cè)的MAE值如表4所示,對(duì)比圖如圖1所示:
在實(shí)驗(yàn)中,當(dāng)鄰域集數(shù)量為5時(shí)候,閾值?姿=15時(shí),MAE值取得最小值,其他鄰域集時(shí)?姿=1時(shí)MAE值最小.當(dāng)鄰域集的數(shù)量超過100時(shí),MAE值處于穩(wěn)定狀態(tài).
從實(shí)驗(yàn)結(jié)果可以看出,在不同的鄰域集下,采用本文算法的MAE相對(duì)于前兩種算法都有明顯的下降,這說明本文算法確實(shí)在推薦質(zhì)量上有了一定的提高.
4 結(jié)束語
本文通過分析傳統(tǒng)的皮爾遜相似度算法忽略用戶局部偏好、用戶評(píng)分差異和非共同評(píng)分項(xiàng)等方面的不足,提出了根據(jù)用戶對(duì)項(xiàng)目的偏好情況劃分?jǐn)?shù)據(jù)集的思路,并引入損失因子和共同評(píng)分因子以修正相似度.實(shí)驗(yàn)結(jié)果表明,該方法能夠有效地降低MAE值,提高了推薦效果.后續(xù)可以考慮結(jié)合流行度劃分?jǐn)?shù)據(jù)集對(duì)算法進(jìn)行進(jìn)一步的改進(jìn).
參考文獻(xiàn):
〔1〕李容,李明奇,郭文強(qiáng).基于改進(jìn)相似度的協(xié)同過濾算法研究[J].計(jì)算機(jī)科學(xué),2016,43(12):206-208.
〔2〕Symeonidis P, Nanopoulos A, Papadopouls A, et al. Collaborative filtering based on user trends [J]. Advances in Data Analysis, 2006 4425: 375-382.
〔3〕Adomavicius G, Tuzhilin A. Toward the next generation of recommender systems: a survey of the state-of-the-art and possible extensions [J]. IEEE Trans on Knowledge and Data Engineering, 2005 17 (6): 734-749.
〔4〕Zhang Kai, Feng Zhiyong, Chen Shichan, et al. A framework for passengers demand prediction and recommendation [C]// Proc of IEEE International Conference on Services Computing. 2016: 340-347.
〔5〕Resnick P, Iacovou N, Suchak M, et al. GroupLens: an open architecture for collaborative filtering of net news [C]// Proc of ACM Conference on Computer Supported Cooperative Work. 1994: 175-186.
〔6〕張宏,王慧.基于用戶評(píng)分和共同評(píng)分項(xiàng)的協(xié)同過濾算法的研究[J].計(jì)算機(jī)應(yīng)用研究,2018,36(1).
〔7〕鄭潔,錢育蓉,楊興耀,等.基于信任和項(xiàng)目偏好的協(xié)同過濾算法[J].計(jì)算機(jī)應(yīng)用,2016,26(10):2784-2788.
〔8〕何佶星,陳汶濱,牟斌皓.流行度劃分平均偏好權(quán)重的協(xié)同過濾個(gè)性化推薦算法[J].計(jì)算機(jī)科學(xué),2018,45(6A).