1. 程式人生 > >協同過濾推薦算法

協同過濾推薦算法

好的 評價指標 一點 系統 相關系數 余弦相似度 基於用戶 計算方法 相同

協同過濾是通過將用戶和其他用戶和的數據進行對比來實現推薦。

我們不利用專家所給出的重要屬性來描述物品從而計算他們之間的相似度,而是利用用戶對他們的意見來計算相似度,這就是協同過濾中所使用的方法。它不關心物品的描述屬性,而是嚴格的按照許多用戶的觀點來計算相似度。

相似度的度量一種是歐式距離,一種是皮爾遜相關系數,另一種距離計算方法就是余弦相似度。

皮爾遜相關系數的取值範圍是從-1到+1,我們通過0.5+0.5*corrcoef()這個函數計算,並且把取值範圍歸一化到0和1之間

余弦相似度是計算兩個向量夾角的余弦值。如果夾角為90度,則相似度為0;如果兩個向量的方向相同,則相似度為1.0.同皮爾遜相關系數一樣,余弦相似度的取值範圍也在-1到+1之間。因此我們也可以將它歸一化到0和1之間。

基於物品相似度計算的時間會隨物品數量的增加而增加,基於用戶的相似度計算的時間復雜度則會隨用戶數量的增加而增加。

推薦引擎系統的評價指標是稱為最小均方根誤差(RMSE)的指標,它首先計算均方誤差的平均值然後取其平方根。

推薦系統的工作過程是:給定一個用戶,系統會為此用戶返回N個最好的推薦菜。為了實現這一點,則需要我們做到:

(1)尋找用戶沒有評級的菜肴,即在用戶-五哦i你矩陣中的0值

(2)在用戶沒有評級的所有物品中,對每個物品預計一個可能的評級分數,這就是說,我們認為用戶可能會對物品的打分(這就是我們計算相似度的初衷);

(3)對這些物品的評分從高到低進行排序,返回前N個物品

協同過濾推薦算法