范銘煜
摘 要:推薦算法被應(yīng)用在商品購物、音樂推薦、書籍推薦等網(wǎng)站。如何根據(jù)這些已有的用戶行為數(shù)據(jù)讓用戶快速做出抉擇,推薦算法顯得十分重要。傳統(tǒng)的協(xié)同過濾算法沒有考慮到用戶的興趣是隨時(shí)間而變化的。文章首先在傳統(tǒng)的協(xié)同過濾算法的基礎(chǔ)上構(gòu)建時(shí)間變化函數(shù),對用戶以往的評分?jǐn)?shù)據(jù),對數(shù)據(jù)做時(shí)間加權(quán),提高預(yù)測用戶興趣的能力。針對當(dāng)前推薦算法都會(huì)遇到的評分稀疏性問題,文章提出了把基于時(shí)間權(quán)重的協(xié)同過濾算法與基于關(guān)聯(lián)規(guī)則的推薦算法進(jìn)行混合推薦,提高了算法的準(zhǔn)確率。
關(guān)鍵詞:推薦算法;時(shí)間加權(quán);基于內(nèi)容;混合推薦;MAE
1 ? 推薦算法研究現(xiàn)狀
(1)協(xié)同過濾:協(xié)同過濾算法根據(jù)具有相同行為習(xí)慣的人對用戶進(jìn)行推薦[1]。
(2)基于內(nèi)容的推薦算法:基于內(nèi)容的推薦算法,實(shí)際上是對用戶行為數(shù)據(jù)的屬性信息進(jìn)行分析,包括了用戶的屬性及商品的屬性。
(3)混合推薦算法:混合推薦算法避免了單一算法的弊端,將幾種算法進(jìn)行結(jié)合,達(dá)到取長補(bǔ)短的效果。
2 基于時(shí)間權(quán)重的協(xié)同過濾算法
2.1 時(shí)間相關(guān)算法介紹
為了提高推薦算法的精度,時(shí)間是比較重要的信息,它具有一定的時(shí)效性[2]。根據(jù)用戶行為的時(shí)間信息發(fā)現(xiàn)用戶興趣的變化。將用戶的評分融入?yún)f(xié)同過濾算法[3],目前有兩種主要的算法時(shí)間感知算法和時(shí)間依賴算法[4-5]。
時(shí)間感知算法的主要思想是用不同的分類方法對時(shí)間進(jìn)行分類。用戶的興趣具有周期性是將能夠采用這種分類方法。實(shí)驗(yàn)也證明了這種方法的結(jié)果優(yōu)于未利用時(shí)間感知信息的推薦算法。
時(shí)間依賴算法則是把用戶的興趣變化和時(shí)間緊緊地聯(lián)系在一起,認(rèn)為用戶的興趣變化和時(shí)間是連續(xù)變化的量。假設(shè)考慮時(shí)間因素,那么每個(gè)用戶近期的評分比之前遠(yuǎn)期的評分更能反應(yīng)用戶的興趣偏好。所以時(shí)間依賴算法在傳統(tǒng)推薦算法的基礎(chǔ)上加入了時(shí)間因子,給近期的評分更大的參考價(jià)值。
2.2 相似度計(jì)算
用戶的相似度計(jì)算主要有余弦相似度和Pearson相關(guān)系數(shù)兩種方法,同時(shí)還有對Pearson相關(guān)系數(shù)加以約束計(jì)算用戶間的相似性。皮爾森相似度公式為:
Pearson相關(guān)系數(shù)的方法將用戶的評分標(biāo)準(zhǔn)不同納入了考慮范圍,因?yàn)槊總€(gè)用戶的評分標(biāo)準(zhǔn)尺度不同。Pearson系數(shù)消除了用戶之間平均值差異的可比性。接下來根據(jù)相關(guān)數(shù)據(jù)來預(yù)測用戶對未曾看過的電影的評分,預(yù)測評分公式為:
2.3 時(shí)間加權(quán)函數(shù)
首先定義一個(gè)半衰期參數(shù)因子T:F(T)=(1/2)f(0),時(shí)間權(quán)重定義在T天后,時(shí)間權(quán)重變?yōu)樵瓉淼?/2,然后定義了一個(gè)衰變率ɑ∶ɑ=1/T。時(shí)間衰減函數(shù)為:
時(shí)間衰減函數(shù)的值域從0到1,隨著時(shí)間的推移,歷史評分?jǐn)?shù)據(jù)越久遠(yuǎn)的權(quán)重會(huì)越來越小。當(dāng)t=0時(shí),表示函數(shù)值為1,此時(shí)權(quán)重最大。參數(shù)T0決定了歷史評分?jǐn)?shù)據(jù)的衰減率,當(dāng)參數(shù)發(fā)生變化時(shí),時(shí)間函數(shù)的曲線會(huì)發(fā)生變化。
2.4 基于時(shí)間權(quán)重的相似度計(jì)算公式
當(dāng)用戶在計(jì)算相似用戶時(shí),給每個(gè)評分引入了以時(shí)間為參數(shù)的函數(shù)f(a),修改后的公式為:(假設(shè)用戶分別為u1,u2)。
以上公式帶有時(shí)間信息,由此可以生成帶有時(shí)間信息的用戶—商品的評分矩陣,利用當(dāng)前用戶的平均評分偏差,實(shí)現(xiàn)對用戶推薦項(xiàng)目的預(yù)測評分。
3 本文方法
3.1? 實(shí)驗(yàn)設(shè)置
本文采用的方法為基于關(guān)聯(lián)規(guī)則的推薦算法和基于時(shí)間的用戶協(xié)同過濾算法兩種策略做混合推薦,進(jìn)一步提高算法的精度。
3.2 混合推薦過程
混合推薦分以下幾個(gè)步驟:(1)利用用戶—商品評分矩陣計(jì)算用戶之間的相似度。選舉前N個(gè)最近鄰居,利用時(shí)間衰減函數(shù)和Pearson相關(guān)系數(shù)計(jì)算預(yù)測評分。(2)用Apriori關(guān)聯(lián)規(guī)則分析算法挖掘頻繁項(xiàng)集,選取前N個(gè)置信度最大的項(xiàng)目。(3)將上述的結(jié)果集進(jìn)行取并操作,生成推薦列表。
4 實(shí)驗(yàn)方案
4.1 實(shí)驗(yàn)數(shù)據(jù)
MovieLens-1M數(shù)據(jù)集,包含大約100萬條用戶評分記錄。數(shù)據(jù)集包含用戶信息、電影信息、用戶對電影的評分信息、評分時(shí)間戳,是6 040個(gè)用戶對3 900部電影的1 000 209條評分記錄。評分分5個(gè)等級,1分表示用戶很不喜歡電影,5分表示用戶非常喜歡電影。
4.2 環(huán)境配置
硬件環(huán)境:
(1)windows10
(2)CPU:intel7代8700k
(3)內(nèi)存24 G
軟件環(huán)境:Pycharm
4.3 實(shí)驗(yàn)對比環(huán)節(jié)
(1)在相同數(shù)量的最近鄰居的情況下選擇不同的時(shí)間因子,進(jìn)行MAE值的比較;再選取相同的時(shí)間因子不同的鄰居數(shù)進(jìn)行MAE值對比。
(2)比較混合的推薦算法與傳統(tǒng)協(xié)同過濾算法在MAE值的差異。
4.4 算法評估
MAE表示評分之間的平均評分偏差。MAE取值0~1。MAE越小,表明算法的推薦效果越好。計(jì)算公式表示如下:
P:用戶U對商品M的預(yù)測評分;R:用戶U對商品M的評分;N:商品的總數(shù)量。
5 實(shí)驗(yàn)結(jié)果與分析
(1)選取不同的時(shí)間跨度參數(shù)T,得到衰變率ɑ,比較不同的時(shí)間衰變因子對MAE的影響。最終統(tǒng)計(jì)結(jié)果如表1所示。
可以得出:隨時(shí)間因子增大,MAE值逐漸減少,證明了時(shí)間跨度距離現(xiàn)在越近,預(yù)測結(jié)果更加符合用戶的偏好。
(2)將基于關(guān)聯(lián)規(guī)則算法和基于時(shí)間的協(xié)同過濾的混合推薦算法同協(xié)同過濾算法進(jìn)行比較,進(jìn)一步提高算法準(zhǔn)確率。MAE值如圖1所示。
6 結(jié)語
通過構(gòu)造時(shí)間函數(shù)模擬用戶興趣隨時(shí)間變化的規(guī)律,融合在用戶對項(xiàng)目的評分信息中,與此同時(shí)通過關(guān)聯(lián)規(guī)則挖掘商品之間的潛在關(guān)系,解決用戶—項(xiàng)目評分矩陣稀疏性問題,通過構(gòu)成混合推薦算法,進(jìn)一步提高了推薦算法的精度。
[參考文獻(xiàn)]
[1]BOK K,LIM J,YANG H,et al.Social group recommendation basedon dynamic profilesand collaborative filtering[J].Neurocomputing,2016(C):3-13.
[2]毛曉勐.基于時(shí)間效應(yīng)的協(xié)同過濾推薦算法研究[D].上海:華東師范大學(xué),2016.
[3]鄭志高,劉京,王平,等.時(shí)間加權(quán)不確定近鄰協(xié)同過濾算法[J].計(jì)算機(jī)科學(xué),2014(8):7-12.
[4]VINAGRE J,JORGE A M.Forgetting mechanisms for scalable collaborative filtering[J].Journal of the Brazilian Computer Society,2012(4):271-282.
[5]CAMPOS P G,DIEZ F,Cantador I.Time-aware recommender system:a comprehensive survey and analysis of existing evaluation protocols[J].User Modeling and User-Aadapted Interaction,2014(1-2):67-119.
(編輯 傅金睿)