推薦系統學習——基於概率分析的方法
用途:預測使用者對物品評分
輸入:所有使用者對所有物品的評分矩陣
輸出:使用者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、計算複雜度高,在小規模或評分資料稀疏的場景下效果不好。
參考:
《推薦系統》 蔣凡譯