三種推薦算法簡介:基於用戶的協同過濾、基於物品的協同過濾、基於內容的推薦

1.推薦算法

1.1.協同過濾

協同過濾是目前應用最廣泛的推薦算法,它僅僅通過了解用戶與物品之間的關係進行推薦,而根本不會考慮到物品本身的屬性。
可分成兩類:
1、基於用戶(user-based)的協同過濾
2、基於商品(item-based)的協同過濾

1.1.1.基於用戶的協同過濾

基本思想:
基於用戶對物品的偏好找到鄰居用戶(相似用戶),然後將鄰居用戶(相似用戶)喜歡的東西推薦給當前用戶。

計算方法:
將一個用戶對所有物品的偏好作爲一個向量,計算用戶之間的相似度。找到鄰居後,根據鄰居的相似度權重以及他們對物品的偏好,預測當前用戶未涉及的物品,計算得到一個排序的物品列表作爲推薦。
相似度即爲兩個向量之間的距離。距離越小相似度越大。

例子:
如下圖,用戶A與用戶C相似,那麼就會給用戶A推薦“用戶A未涉及但是用戶C喜歡的東西”,也就是物品D了。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-2skNr3nb-1576912472052)(http://www.shadowingszy.top/ServerTest/Assets/01.png)]

缺點:
基於用戶的協同過濾難以形成有意義的鄰居集合。
在很多時候,很多用戶兩兩之間只有很少幾個共同評分,也就是用戶之間的重合度並不高。而僅有的共同打了分的物品,往往是一些很常見的物品(如票房大片,如生活必需品)。
再者,用戶之間的距離可能變得很快,這種離線算法難以瞬間更新推薦結果。

1.1.2.基於物品的協同過濾

算法思想:
基於用戶對物品的偏好找到相似的物品,然後根據用戶的歷史偏好,推薦相似的物品。

計算方法:
將所有用戶對某個物品的偏好作爲一個向量來計算物品之間的相似度。
得到物品的相似物品後,根據用戶歷史的偏好預測當前用戶還沒有涉及的物品的偏好,計算得到一個排序的物品列表作爲推薦。

例子:
如下圖,物品A和物品C都被用戶A和用戶B所查看,所以物品A和物品C比較相似。又由於用戶C看了物品A,所以我們就會推薦與之相似的物品C給用戶C。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ZbfJp0qv-1576912472054)(http://www.shadowingszy.top/ServerTest/Assets/02.png)]

優點:
物品之間的距離可能是根據成百上千萬的用戶的評分計算得出,往往能在一段時間內保持穩定。因此,這種算法可以預先計算距離,其在線部分能更快地生產推薦列表。

缺點:
不同領域的最熱門物品之間經常具有較高的相似度。比如,基於本算法,我們可能會給喜歡《算法導論》的同學推薦《哈利波特》,也就是推薦不同領域的暢銷作品,這樣的推薦結果可能並不是我們想要的。

1.1.3.實現協同過濾的步驟

1、收集用戶偏好

2、找到相似的用戶或物品
計算相似度的方式(此部分了解方法即可,考試時並不會要求直接計算):
(1)歐氏距離
(2)餘弦距離
(3)Tanimoto 係數
(4)k近鄰或基於相似度門檻

3、計算推薦

額外考慮時間因素:
1、在基於商品的協同過濾中:
(1)同一個用戶在間隔很短的時間內喜歡的兩件商品之間,可以給予更高的相似度。
(2)在描述目標用戶偏好時,給其最近喜歡的商品較高權重。
2、在基於用戶的協同過濾中:
(1)如果兩個用戶同時喜歡了相同的物品,那麼可以給這兩個用戶更高的相似度。
(2)在描述鄰居用戶的偏好時,給其最近喜歡的物品較高權重。

額外考慮空間因素:
1、在基於商品的協同過濾中:
(1)同一個用戶在同一個地域內喜歡的兩件商品之間,可以給予更高的相似度。
2、在基於用戶的協同過濾中:
(2)把類似地域用戶的行爲作爲推薦的主要依據。

1.2.基於內容的推薦

基本思想:
根據推薦物品或內容的元數據,發現物品或者內容的相關性,然後基於用戶以往的喜好記錄,推薦給用戶相似的物品。

例子:
如下圖,電影A和C的類型都是愛情和浪漫,那麼就會給看過電影A的人推薦電影C
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-pzVoocMa-1576912472055)(http://www.shadowingszy.top/ServerTest/Assets/03.png)]

1.3.三種推薦算法的區別

基於用戶的協同過濾:
適於物品比用戶多、物品時效性較強的情形,否則計算慢。
推薦結果的個性化較弱、較寬泛,但能實現跨領域、驚喜度高的結果。

基於物品的協同過濾:
應用最廣泛,尤其以電商行業爲典型。
適於用戶多、物品少的情形,否則計算慢
在物品冷啓動、數據稀疏時效果不佳
推薦精度高,更具個性化
傾向於推薦同類商品,推薦的多樣性不足,形成信息閉環

基於內容的推薦:
是最直觀的算法
容易受限於對文本、圖像、音視頻的內容進行描述的詳細程度
常藉助文本相似度計算
不存在冷啓動問題
但推薦精度通常墊底
主題過於集中,驚喜度不足

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章