推薦系統的基本原理

  • 基於內容的推薦系統

根據每部電影的內容以及用戶已經評過分的電影來判斷每個用戶對每部電影的喜好程度,從而預測每個用戶對沒有看過的電影的評分。
這裏寫圖片描述
電影內容矩陣X * 用戶喜好矩陣θ = 電影評分表

那麼,用戶喜好矩陣θ(用戶對於每種不同類型電影的喜好程度)如何求解呢?

用戶喜好矩陣θ的代價函數:
這裏寫圖片描述

這裏寫圖片描述
其中,正則化項爲防止過擬合。

  • 優點:
    (1)不存在商品冷啓動問題
    (2)可以明確告訴用戶推薦的商品包含哪些屬性

  • 缺點:
    (1)需要對內容進行透徹的分析
    (2)很少能給用戶帶來驚喜
    (3)存在用戶冷啓動的問題

  • 基於協同過濾的推薦系統

根據電影評分表和用戶喜好矩陣θ,來求得電影內容矩陣X。然後,將電影內容矩陣X與用戶喜好矩陣θ相乘,這樣就得到了一個完整的電影評分表。
這裏寫圖片描述
所以,基於協同過濾的電影推薦就是根據每個用戶對於每種電影類型的喜好程度以及用戶已經評過分的電影來推斷每部電影的內容,從而預測每個用戶對沒有看過的電影的評分。
那麼,如何求解電影內容矩陣X呢?
電影內容矩陣X的代價函數:
這裏寫圖片描述

用戶喜好矩陣X的獲取:(1)通過在線問卷調查來獲取用戶對電影的評價,但並不是所有的用戶都會填寫,就算填寫了,也不一定全部是正確信息;(2)通過一種更高效的方式來同時求解電影內容矩陣X和用戶喜好矩陣θ.
通過前面,可以看到電影內容矩陣X和用戶喜好矩陣θ,它們的第一項是相同的,因此,我們可以將這兩個公式合併爲一個公式來同時求解X與θ,這種方法的好處就是隻用搜集用戶對電影的評分。
這裏寫圖片描述
目標是最小化這個代價函數
隨機初始化X和θ,通過梯度下降法或其他優化算法求解。

  • (1)基於item的協同過濾
    先計算商品之間的相似度,然後根據商品之間的相似度來向用戶進行推薦,如:用戶購買了硬盤,則很有可能向用戶推薦u盤,因爲硬盤和u盤具有相似性。
    在基於item的協同過濾中,只需要用戶對商品的評分,首先需要計算商品之間的相似度。

如何度量商品之間的相似度?
這裏寫圖片描述

計算出商品之間的相似度之後, 我們就能夠預測用戶對商品的評分。
這裏寫圖片描述

這裏寫圖片描述:商品i 與其他商品的相似度
這裏寫圖片描述:用戶u對其他商品的評分
分母:與商品 i 相似的商品的相似度的總和
表達的是:根據用戶u對其他和商品 i 相似的商品的評分來推斷用戶對商品 i 的評分。
當求出用戶u對所有商品的預測評分後,將其進行排序,選擇得分最高的商品推薦給用戶。

  • (2)基於用戶的協同過濾
    基本思想:假設我們要對用戶A進行推薦,首先要找到與用戶相似的其他用戶,看其他用戶都購買過其他商品,把其他用戶購買的商品推薦給用戶A。

這時就需要度量用戶之間的相似度,與基於item的協同過濾類似:
這裏寫圖片描述
這裏寫圖片描述:用戶u對商品 i 的評分
這裏寫圖片描述:用戶u對這些商品評分的平均值

計算了用戶之間的相似度之後就可以預測用戶對商品的評分。
商品評分公式:
這裏寫圖片描述
公式表示:根據與用戶u相似的其他用戶對商品i 的評分來推斷用戶u對商品i 的評分。
當求出用戶u對所有商品的預測評分後,將其進行排序,選擇得分最高的幾個商品推薦給用戶。

  • 基於協同過濾推薦系統的優點:
    (1)能夠根據各個用戶的歷史信息推斷出商品的質量
    (2)不需要對商品有任何專業領域的知識
  • 缺點:
    (1)冷啓動問題
    (2)gray sheep
    (3)協同過濾的複雜度會隨着商品數量和用戶數量的增加而增加
    (4)同義詞的影響
    (5)shilling attack:對競爭對手的商品專門打低分,對自己的商品打高分
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章