推荐系统学习——基于概率分析的方法

用途:预测用户对物品评分

输入:所有用户对所有物品的评分矩阵

输出:用户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、计算复杂度高,在小规模或评分数据稀疏的场景下效果不好。

参考:

《推荐系统》 蒋凡译

猜你喜欢

转载自blog.csdn.net/guangyacyb/article/details/85947758