集體智慧編程_推薦系統2

上一篇裏面的協作過濾方法是基於用戶的,方法都是首先需要找到與自己相近的用戶,讓後利用這些小範圍的用戶來對自己沒有看到過的東西進行推薦。但是考慮一個情況,比如說淘寶,註冊用戶已經超過了六千萬左右,而且現在還在不停的漲。那麼上面的基於用戶的協作過濾方法的一個問題就是,對一個用戶推薦通常需要和其他所有的用戶進行計算,並得出最終的推薦信息。在大數據量面前,這個算法的缺點就是計算量太大。這裏將要介紹的“基於物品的協作過濾”算法就能避免這些大數據量的計算。這裏的“避免”的意思是,不需要在線的實時的計算,而是可以在後臺已經計算好。

 

總體的思路很簡單,爲每件物品計算與其最相近的其他物品。然後我們爲某爲用戶提供推薦時,就可以查看他曾經評分過的物品,並從中選出排位靠前者(這多少代表了一些喜好)。再構造一個加權的列表,其中包含了與這些選中物品最爲相近的其他物品。

 

選擇一個物品相近的物品的算法我們上次其實就已經講過了,就是將原先的key是人的打分的矩陣進行轉換,變成key是物品的矩陣。這樣就可以用前面的算法來計算對於每一個物品,其他物品與其的相似程度。這一步完成之後就是推薦了。首先還是需要知道被推薦用戶的喜好,所以需要找出一些他打分比較高的電影,然後根據這些電影來計算其它電影的推薦分值。首先對於其中的一個電影,那麼其他電影與其相似性我們是知道的,那麼就可以用這個電影的打分乘以他們的相似度,來得到對未知電影的打分。這樣將所有的電影的打分加起來歸一化,就能夠得到其它電影的推薦指數了。

 

聽起來聽簡單的,其實也是這麼簡單的。從這兩種推薦方法來看,目的都是需要得到一個推薦的列表,而這個列表的排序需要一定的權值。怎麼計算權值,一個是找到品位相投的用戶,用他們的打分來綜合對這個列表打分。另一個是根據自己以前的打分的記錄,然後根據這些打分的記錄來對列表進行打分。

發佈了42 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章