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