1. 程式人生 > >推薦系統(recommender systems):預測電影評分--構造推薦系統的一種方法:基於內容的推薦

推薦系統(recommender systems):預測電影評分--構造推薦系統的一種方法:基於內容的推薦

不同 png [0 滿足 rom man 例子 ems 集中

如何對電影進行打分:根據用戶向量與電影向量的內積

技術分享

我們假設每部電影有兩個features,x1與x2。x1表示這部電影屬於愛情片的程度x2表示這部電影是動作片的程度,如Romance forever裏面x1為1.0(說明電影大部分為愛情),x2=0.01(說明裏面有一點動作場面)。

還是像以前一樣加上一個額外的截距特征變量x0=1,這樣第一部電影(love at last)表示為x(1)=[1,0.9,0]T,上標(1)表示為第一部電影

我們仍用n表示特征變量的數量,在這個例子中n=2,有2個特征(x1,x2,不包括x0)

將每個觀眾當成一個獨立的線性回歸問題,每一個用戶j,我們都學習出一個參數θ(j)

為一個三維向量(更一般θ(j)為一個n+1維向量,n為特征數量的個數,+1是因為θ0),我們根據θ(j)與x(i)(例子中為3維向量,表示電影的特征)的內積來預測用戶j對電影i的評分

例子:如用戶1對應的參數向量θ(1),每個用戶都有一個不同的參數向量,現在我們想預測Alice對電影3的評價,x(3)=[1,0.99,0],假如對於這個例子,我們已經知道了θ(1)的值(後面會講到這個參數值是怎麽得到的),現在假設我們已經算出了θ(1)的值=[0,5,0]T,求θ(1)與x(3)的內積得到4.95,表示用戶1(Alice)對電影3的評價打分是4.95.

我們對每個用戶應用不同的線性回歸模型,來預測他對某部電影的評分

基於內容推薦問題的描述

技術分享

m(j)表示用戶j評價過的電影數量,為了學習參數向量θ(j)(表示用戶j的參數向量),一個線性回歸問題,選擇一個θ(j),使得預測結果即θ(j)與x(i)的內積接近於我們在訓練集中的觀測值。

即求出使代價函數最小的θ(j)的值

i:r(i,j)=1,表示對於滿足所有r(i,j)=1上的i求和,即是對用戶j打過分的所有的電影預測值與實際值之間的差的平方求和,後面是正則化項(對θ0沒有進行正則化,因為θ0表示常數項)

θ(j)是一個n+1維的向量,其中n表示電影的特征數

為了更簡單,我們將m(j)這項去掉,為一個常數,去掉它並不會影響當我的函數值取最小值時--我的θ(j)的取值

技術分享

推薦系統(recommender systems):預測電影評分--構造推薦系統的一種方法:基於內容的推薦