1. 程式人生 > >推薦系統學習——基於概率分析的方法

推薦系統學習——基於概率分析的方法

用途:預測使用者對物品評分

輸入:所有使用者對所有物品的評分矩陣

輸出:使用者A對物品I的評分

預測使用者A對物品I的所有可能評分的概率,然後選出概率最大的評分作為輸出

  物品1 物品2 物品3 物品4 物品5
Alice 1 3 3 2
使用者1 2 4 2 2 4
使用者2 1 3 3
5 1
使用者3 4 5 2 3 3
使用者4 1 1 5 2 1

如圖,要預測Alice對物品5的評分,需要計算條件概率P(物品5=1|X),在這裡X是Alice對其他物品的評分:X=(item1=1,item2=3,item3=3,item4=2)。

簡單方法:樸素貝葉斯

這裡要計算的是P(Y|X),由貝葉斯理論,P(Y|X)=P(X|Y)*P(Y)/P(X)。

P(X)=P(item1=1,item2=3,item3=3,item4=2)對於Alice而言是常量,可省略;

P(Y)為P(item5評分)的概率,這裡P(item5=1)=2/4,P(item5=3)=1/4,P(item5=4)=1/4

P(X|Y),假設使用者對不同物品的評分之間相互獨立,則有:

,d 為屬性個數,就是X涉及的物品個數。

從評分表計算P(Y):

P(item5=1) = 2/4(物品5的評分有兩個1)

P(item5=2) = 0

P(item5=3) = 1/4

P(item5=4) = 1/4

計算P(X|Y):

P(X|item5 = 1) = P(item1=1|item5=1)*P(item2=3|item5=1)*P(item3=3|item5=1)*P(item4=2|item5=1) 

=2/2*1/2*1/2*1/2 = 0.125

依次可得:P(X|item5 = 2) = 0,P(X|item5 = 3) = 0,P(X|item5 = 4) = 0

從以上結果,使用者Alice對物品5評分為1的概率:P(item5=1|X)的概率最高,所以估計結果是Alice最可能給物品5打1分。

方法缺陷

1、計算P(X|Y)時有可能會計算出概率值為0,可採用m估值和laplace平滑來處理概率。

2、計算複雜度高,在小規模或評分資料稀疏的場景下效果不好。

 

參考:

《推薦系統》 蔣凡譯