楚揚(yáng)杰 李珊
【關(guān)鍵詞】推薦系統(tǒng) 協(xié)同過濾算法 人口統(tǒng)計(jì) 懲罰函數(shù)
1 引言
經(jīng)過近二十年的研究,個(gè)性化推薦系統(tǒng)己經(jīng)建立了一套比較完備的理論依據(jù)和框架,在各領(lǐng)域的實(shí)際應(yīng)用中也取得了一定的成功,并且個(gè)性化推薦系統(tǒng)也已成為未來互聯(lián)網(wǎng)發(fā)展中極其重要的組成部分。但是,伴隨著互聯(lián)網(wǎng)應(yīng)用發(fā)展的多樣化,各種新的應(yīng)用形式層出不窮,互聯(lián)網(wǎng)用戶和信息的規(guī)模急劇增加,推薦系統(tǒng)的發(fā)展將面臨新的挑戰(zhàn),傳統(tǒng)推薦系統(tǒng)中沒有考慮和重視的問題也正影響這推薦系統(tǒng)的進(jìn)一步發(fā)展和應(yīng)用。目前,個(gè)性化推薦系統(tǒng)面臨的問題主要是稀疏性問題。本文旨在針對(duì)現(xiàn)有協(xié)同過濾推薦算法由于數(shù)據(jù)稀疏性造成的準(zhǔn)確度低的現(xiàn)象,對(duì)傳統(tǒng)的協(xié)同過濾推薦系統(tǒng)的推薦算法進(jìn)行改進(jìn)。
2 基于人口統(tǒng)計(jì)的協(xié)同過濾算法
基于人口統(tǒng)計(jì)的協(xié)同過濾推薦算法相對(duì)于其他協(xié)同過濾算法來講更容易實(shí)現(xiàn)?;谌丝诮y(tǒng)計(jì)的協(xié)同過濾推薦算法利用用戶的人口屬性特征來計(jì)算用戶相似度,不依賴用戶-項(xiàng)目評(píng)分矩陣。因此,基于人口統(tǒng)計(jì)的協(xié)同過濾推薦算法可以避免冷啟動(dòng)問題和數(shù)據(jù)稀疏性問題。雖然基于人口統(tǒng)計(jì)的協(xié)同過濾推薦算法可以解決傳統(tǒng)協(xié)同過濾推薦算法的兩大難題,但是如何準(zhǔn)確的獲得用戶的人口統(tǒng)計(jì)信息是該算法的一大難題。大量的實(shí)驗(yàn)數(shù)據(jù)表明,單獨(dú)使用基于人口統(tǒng)計(jì)的協(xié)同過濾推薦算法,較傳統(tǒng)的協(xié)同過濾推薦算法來講,推薦效果并沒有明顯的改善。
3 基于懲罰函數(shù)的相似度平滑算法
當(dāng)用戶共同評(píng)分項(xiàng)目數(shù)量極少時(shí),如果繼續(xù)用傳統(tǒng)的相似度計(jì)算方法計(jì)算用戶間相似度,這樣用少量的數(shù)據(jù)樣本替代整體樣本統(tǒng)計(jì)特性,那么會(huì)造成計(jì)算的相似度無法反應(yīng)出用戶間的真實(shí)相似性。將懲罰函數(shù)引入傳統(tǒng)相似度的計(jì)算中,對(duì)共同評(píng)分項(xiàng)目極少情況下的相似度計(jì)算進(jìn)行平滑,從而降低過度估計(jì)帶來的影響。
4 改進(jìn)的基于用戶的協(xié)同過濾算法
本文改進(jìn)的基于用戶的協(xié)同過濾算法,在平滑共同評(píng)價(jià)的協(xié)同過濾算法基礎(chǔ)上,進(jìn)一步考慮人口統(tǒng)計(jì)相似度,來減少用戶知識(shí)背景差異對(duì)推薦結(jié)果帶來的影響,得到融合的相似度計(jì)算公式(1)。先使用傳統(tǒng)的協(xié)同過濾算法找到基于用戶的pearson相似度,在此基礎(chǔ)上利用懲罰函數(shù)計(jì)算出改進(jìn)的pearson相似度;然后進(jìn)一步比較平滑共同評(píng)價(jià)的相似度與人口統(tǒng)計(jì)相似度,從而提高預(yù)測(cè)的準(zhǔn)確性。
在得到目標(biāo)用戶i的相似集U(i)后,計(jì)算用戶i對(duì)項(xiàng)目u的預(yù)測(cè)評(píng)分Pi,u。這樣得到的預(yù)測(cè)評(píng)分既考慮了用戶的共同評(píng)價(jià)問題,又融合了用戶的人口統(tǒng)計(jì)信息。
5 實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證改進(jìn)的協(xié)同過濾算法的有效性,使用明尼蘇達(dá)大學(xué)GroupLens研究小組提供的Moivelens數(shù)據(jù)集對(duì)該算法進(jìn)行實(shí)證分析,采用平均絕對(duì)誤差(MAE)來衡量推薦結(jié)果的好壞。平均絕對(duì)誤差通過計(jì)算預(yù)測(cè)的用戶評(píng)分與實(shí)際的用戶評(píng)分之間的偏差度量預(yù)測(cè)準(zhǔn)確性,MAE越小,推薦質(zhì)量越高。
實(shí)驗(yàn)在整個(gè)數(shù)據(jù)集中隨機(jī)抽取80%的數(shù)據(jù)作為實(shí)驗(yàn)的訓(xùn)練集,剩下的20%數(shù)據(jù)作為實(shí)驗(yàn)的測(cè)試集。在實(shí)驗(yàn)的訓(xùn)練集上分別通過基于用戶的協(xié)同過濾推薦算法和基于人口統(tǒng)計(jì)與平滑共同評(píng)價(jià)的協(xié)同過濾算法計(jì)算,得到針對(duì)每個(gè)用戶的電影預(yù)測(cè)評(píng)分。在實(shí)驗(yàn)測(cè)試集中算計(jì)選取100個(gè)用戶,進(jìn)行算法的準(zhǔn)確性測(cè)試,使用平均絕對(duì)誤差MAE來評(píng)價(jià),實(shí)驗(yàn)結(jié)果見圖1。
實(shí)驗(yàn)結(jié)果表明,比起傳統(tǒng)的基于用戶的協(xié)同過濾算法,改進(jìn)的協(xié)同過濾算法的平均絕對(duì)誤差MAE明顯降低。說明改進(jìn)的協(xié)同過濾算法明顯好于傳統(tǒng)的基于用戶的協(xié)同過濾算法。
6 結(jié)束語
本文在傳統(tǒng)的基于用戶的協(xié)同過濾算法上,使用懲罰函數(shù)來緩解共同評(píng)價(jià)過少情況下,用少量的樣本數(shù)據(jù)代替整個(gè)數(shù)據(jù)的統(tǒng)計(jì)特性使相似度的計(jì)算值與實(shí)際值出現(xiàn)較大偏差的問題,從而改進(jìn)傳統(tǒng)的協(xié)同過濾算法。在此基礎(chǔ)上,進(jìn)一步分析改算法存在的缺點(diǎn),提出同時(shí)使用基于人口統(tǒng)計(jì)的協(xié)同過濾算法。使用級(jí)聯(lián)式的基于人口統(tǒng)計(jì)與平滑共同評(píng)價(jià)的協(xié)同過濾算法,找到新的融合相似度。這樣在為目標(biāo)用戶預(yù)測(cè)時(shí),既考慮了用戶評(píng)價(jià)過少而引起的過度估算的情況,又為用戶找到了背景知識(shí)相似的用戶的喜好,有效提高了預(yù)測(cè)的準(zhǔn)確度。實(shí)驗(yàn)在Moivelens數(shù)據(jù)集上進(jìn)行,驗(yàn)證了本文提出的改進(jìn)的推薦算法的預(yù)測(cè)結(jié)果。
參考文獻(xiàn)
[1]Yi-Fan W U,Wang H R.Collaborative filtering algorithm using user background information[J].Journal of Computer Applications,2009,28(28):2972-2974.
[2]Resnick P,Varian HR.Recommender systems[J].Communications of the ACM,1997,40(3):56-58.