1. 程式人生 > >推薦系統學習筆記之三 LFM (Latent Factor Model) 隱因子模型 + SVD (singular value decomposition) 奇異值分解

推薦系統學習筆記之三 LFM (Latent Factor Model) 隱因子模型 + SVD (singular value decomposition) 奇異值分解

Low Rank Matrix Factorization低階矩陣分解

在上一篇筆記之二裡面說到我們有五部電影,以及四位使用者,每個使用者對電影的評分如下,?表示未評分。

Movies\User User 1 User 2 User 3 User 4
Movie 1 5 5 0 0
Movie 2 5 0
Movie 3 4 0
Movie 4 0 0 5 4
Movie 5 0 0 5

那麼我們可以把第一個表格裡的內容轉化成一個矩陣R:

R=[55005??0?40?00540050]
把引數θ和特徵變數x也都表示成向量的形式:
X=[(x(1))T(x(2))T...(x(nm))T]
Θ=[(θ(1))T(θ(2))T...(θ(nu))T]
那麼我們有:R=ΘTX,這種方法被稱為:低秩矩陣分解(Low Rank Matrix Factorization)。

相關應用:

  • 找電影i相似的電影j:可以計算x(i)x(j)兩個特徵向量的距離,其中距離最小的就是最相似的電影。

LFM (Latent Factor Model) 隱因子模型

接下來引申到LFM (Latent Factor Model) 隱因子模型,其中隱因子可以理解為一個使用者喜歡一個電影的隱形原因,比如電影裡面有他喜歡的romantic和action元素,還有他喜歡的某個演員或者導演編劇。如果另外一個電影有類似的元素跟演員,那麼他很有可能會也喜歡這部電影。LFM的核心思路就是求出使用者的θ向量和電影的x向量。
在評分矩陣Rm

,n中,LFM中認為評分矩陣可以表示為Rm,n=Pm,FQF,n即兩個矩陣的乘積,其中F為隱因子的個數。我們設r^ui為使用者u對物品i的評分。

r^