黃杰 張鑫燁 張錦濤
摘要:在信息過載的時代,推薦系統應運而生。協同過濾推薦系統算法是應用最成熟最廣泛的推薦技術。本文模擬電影推薦這一場景,應用了協同過濾推薦系統下不同推薦算法,并將推薦質量進行對比得出一個相對客觀的實驗結論。
關鍵詞:推薦系統;協同過濾;個性化推薦
中圖分類號:TP311 文獻標識碼:A 文章編號:1007-9416(2019)05-0136-01
0 引言
隨著信息技術和互聯網的發展,信息過載給用戶和生產者都帶來不小的挑戰。而推薦系統的產生正是為了應對用戶需求不明確以及長尾信息等問題。推薦系統通過分析用戶的歷史行為給用戶的興趣建模,從而為用戶推薦滿足其興趣和需求的信息。如今,協同過濾推薦系統應用到各類電商平臺,如亞馬遜、京東商城等等。在電影推薦領域,Netflix公司是最為成功的公司之一,其應用協同過濾推薦算法中基于物品的推薦算法。本文針對3種基于模型的協同過濾推薦算法,將其應用在模擬的電影評分環境中,并對其進行分析。其中包括:Slope One、SVD、SVD++。
1 協同過濾推薦算法
協同過濾的基本思想是,如果用戶在過去有著某種偏好,那么在未來也會有相似的偏好。基于此,如果兩個用戶的偏好有大量重疊,那么可以在他們之間進行項目的相互推薦。由于選擇感興趣的項目來自從大量集合中過濾出來的結果,而且用戶是在隱式地與其他人相互協作,因此這種技術稱為協同過濾。
目前,協同過濾推薦算法大致分類兩類:基于記憶的協同過濾算法和基于模型的協同過濾算法。其中基于記憶的協同過濾推薦算法又分為基于用戶的最近鄰推薦和基于物品的最近鄰推薦。
1.1 基于用戶的最近鄰推薦
通過對目標用戶的歷史行為數據發現用戶對商品的喜好。然后,找出與目標用戶過去有相似偏好的其他用戶,即尋找目標用戶的最近鄰。針對目標用戶沒有見過的項目i,利用其近鄰對i的評分計算預測值。若結果是積極的,則向目標用戶進行推薦。
1.2 基于物品的最近鄰推薦
通過不同用戶對不同物品的評分或其他行為(如加入心愿單,分享給他人,評價等)來量化物品間的關系,從而找到物品的最近鄰。若目標用戶對物品i的態度為積極的,并且物品j是物品i的鄰居,那么,將物品j推薦給目標用戶。在實踐中會將用戶對物品的態度量化,從而進行更加精準的推薦。
1.3 基于模型的推薦算法
基于模型的推薦方法首先會離線處理原始數據,如利用某些降維技術。運行時,只需要預計算或“學習過”的模型就能預測。
2 電影推薦系統的推薦算法
在Netflix競賽中,參賽隊伍使用基于模型的推薦算法能有效提高推薦系統的預測準確率。基于此,介紹三種常見的基于模型的推薦算法,并應用于實驗。實驗數據是Netflix公司比賽的三萬余條用戶對電影的評分。本文按照8:2的比例劃分訓練集和測試集。以RMSE(均方根誤差)作為評價指標。其中,RMSE值越小,則預測質量越佳。
2.1 Slope One算法
算法思想:基于一種簡單的線性回歸模型進行預測。
算法原理:將用戶的評分之間的關系看作簡單的線性關系:Y=X+b。
(1)根據評分矩陣計算兩兩項目之間的偏差;
(2)根據偏差數據為用戶未評分商品做出推薦列表。
2.2 SVD算法
算法思想:基于奇異值分解模型進行預測。
算法原理:將龐大且稀疏的用戶評分矩陣利用SVD算法映射到低維空間,然后計算低維空間中未評分項目與其他項目間的相似度,計算預測評分,然后將預測評分從高到低進行排序,返回前N個項目對用戶進行推薦。即通過壓縮矩陣,提取重要特征后進行計算并推薦。比如,電影特征直觀而言可有驚悚片,喜劇片這種明顯的劃分。
2.3 SVD++算法
算法思想:SVD++算法是SVD算法的一種改進,同樣是基于奇異矩陣分解模型的一種算法。
算法原理:SVD++算法在SVD算法的基礎上引入隱式反饋,使用用戶的歷史瀏覽數據、用戶歷史評分數據、等作為新的參數。計算用戶對未知項目的評分后,通過均方根誤差量化評分質量,加入正則化參數的意義在于防止過擬合。
3 算法應用結果
Slope One預測結果:RMSE: 0.835657411324? SVD預測結果:RMSE: 0.813470466441
SVD++預測結果:RMSE: 0.816237015507
4 結語
由于不同環境下運行結果具有差異性,分別在多臺機器上進行了測試。初步得出結論:SVD++算法推薦效果相對更加精確。Slope One算法運行速度快,其理論上相對簡單,沒有實現個性化的推薦;SVD和SVD++是一種相對基礎的算法,在此基礎上不斷進行改進,如timeSVD++算法是一種考慮了時間感知的算法。在推薦系統方面,將各個方面的知識融會貫通,推薦系統會更加人性化、智能化。
參考文獻
[1] 王國霞,劉賀平.個性化推薦系統綜述[J].計算機工程與應用,2012,48(7):66-76.
[2] 吳揚,林世平.基于正負反饋矩陣的SVD推薦模型[J].計算機系統應用,2015,24(6):14-18.