- 課程地址:Recommender Systems
- 課程Wiki:Recommender Systems
- 課件:PPT PDF
一. Predicting Movie Ratings
1.1 Problem Formulation
下圖是四位用戶對于五部電影的評分(若用戶沒有評分, 則用?表示). 一些符號如下圖右下角所示. 推薦系統(tǒng)就是通過已知的評分來判斷未知的評分.
1.2 Content Based Recommendations
假設(shè)每一部電影都對應(yīng)一個特征向量, 如下圖, 所示. 對于第個用戶, 我們通過學習得到參數(shù). 這樣, 這個用戶對于第電影的評分就可以用來估計.
用公式化表示為:
優(yōu)化目標為:
使用梯度下降來得到最優(yōu)解(和線性回歸相似).
這一種推薦系統(tǒng)是基于內(nèi)容的, 在這個例子中, 我們使用一個特征向量來表示一部電影. 但是通常情況下, 我們沒有這樣的向量或者很難得到這樣的向量. 這個時候我們就需要不是基于內(nèi)容的推薦系統(tǒng).
二. Collaborative Filtering
2.1 Collaborative Filtering
假設(shè)我們知道用戶對于不同種類電影的喜好()以及對各個電影的評分, 我們就大致可以得到各個電影的特征向量().
下面是上述問題的公式化表達:
協(xié)同過濾:
2.2 Collaborative Filtering Algorithm
協(xié)同過濾的優(yōu)化目標:
協(xié)同過濾算法:
三. Low Rank Matrix Factorization
3.1 Vectorization: Low Rank Matrix Factorization
協(xié)同過濾算法矩陣化:
使用該算法后, 可以利用得到的特征向量來計算相似的電影.
3.2 Implementation Detail: Mean Normalization
假設(shè)我們有一個用戶Eve, 他沒有對任何電影進行評分. 這個時候, 我們運行完算法之后會得到. 這時在對Eve對電影的評分進行預(yù)測的話, 會得到所有的評分都是0. 這顯然不太合理.
我們需要進行 Mean Normalizaion處理, 如下圖所示. 然后對于第個用戶在第個電影的評分用來預(yù)測.