两个卡方分布之和_推荐基础算法之矩阵分解PFM

3bdc0a75bd839e7bc364afd527526f4f.png

推荐基础算法之矩阵分解PFM

PFM被称为概率因子模型(Probabilistic Factor Model)或泊松因子模型(Poission factor model)。PFM本质上和概率矩阵分解(PMF)思想是一样的,但也有一些不同。其中对于观测数据的假设是用泊松分布代替了PMF中的高斯分布、对于用户和物品潜在特征矩阵用Gamma分布代替Gaussian分布。此外,PFM主要是用来解决频率数据的,这点与PMF解决评分数据不太相同。总之这样做的好处由以下几点:

  • 1.对于频数数据,Ganmma分布比Gaussian分布更合适
  • 2.Gamma分布比较适合模拟非负数据,而Gaussian分布两者都可以
  • 3.Gamma分布已经被证明在处理文本分析中的文本潜在向量上很有效,而文本与单词直接的关系可以看作是频率矩阵

这篇文章主要介绍两个主要的泊松因子模型PFM和CPFM。

Probabilistic Factor Model

PFM中主要基于两点假设:

  • 1.观测元素服从期望为
    的泊松分布
  • 2.用户潜在特征矩阵U和物品潜在特征矩阵V服从一个Gamma先验分布

下面是PFM概率图模型,其中F是一个mxn的观测矩阵,它的元素

表示用户i对物品j的访问频数。Y是期望矩阵,每一个观测元素
服从一个期望为
的Poisson分布。矩阵
,d是潜在空间维度,U中元素
和V中元素
都服从Gamma先验分布。

56f0f23dfa3e842e3dccae4fbb584dda.png

因此F中的每个观测值

产生过程如下:
  • 1.根据Gamma分布为用户潜在特征向量中的每个元素赋值,
  • 2.根据Gamma分布为物品潜在特征向量中的每个元素赋值,
  • 3.计算用户u和物品j的交互频数的期望值,
  • 4.根据泊松分布与期望值
    ,生成观测值

1. 由于假设2,我们可得用户潜在特征矩阵

和物品潜在特征矩阵
的先验分布分别为:

其中,

,
.

2. 由于假设1, 在给定Y,F的Poisson概率分布如下:

3. 在给定用户观测矩阵F、用户潜在矩阵和物品潜在矩阵的先验分布,由贝叶斯公式可知用户和物品的特征矩阵的后验分布如下:

即可得:

对等式两遍同时取

,由于取
不会改变函数凹凸性,极值点位置不变,并能将乘积变换成求和形式,因此这种方法在求解优化时经常会被用到。

(1)、对于

取ln如下:

(2)、对于

取ln如下:

(3)、对于

取ln和
类似。

最大化上式log的后验概率等价于最小化目标函数L(U,V;F):

采用GD来进行优化。直到收敛或达到最大迭代次数。其过程如下:

1.求解损失函数的负梯度

2.根据乘法更新规则来更新变量

上式中的学习率设置与以往不同,采用Lee和Seund的论文中类似设置方式:

。同样最终得到矩阵
,然后对评分矩阵中的空白的评分通过
来计算预测评分。

Collective Probabilistic Factor Model

很多时候,我们会得到多个数据源,而这些数据源对于捕获用户的偏好又有很大的提升。因此CPFM将融合多种数据源来提升推荐的性能。

下面是CPMF的概率图模型,其中

是一个mxp维的矩阵,它里面的每个元素
代表的是用户关于另外一个相关物品的操作,如文章中的用户i对l的查询次数。X是期望矩阵,
也同样服从期望为
的泊松分布。X可以被分解为U和Z,在Z中的每个元素
表示的是l与潜在话题k的关系。
定义和PFM中一样。

a7b74ef641f1121028e0f34fc74c6523.png

1. 由于假设2,类似

,可得
的先验分布为:

2. 由于假设1, 在给定X,Y,

的Poisson概率分布如下:

其中,

3. 在给定用户观测矩阵

、用户潜在矩阵、物品潜在矩阵和物品查询矩阵的先验分布,由贝叶斯公式可知其后验分布如下:

即可得:

给定

下,最大化上式log的后验概率等价于最小化目标函数

采用GD来进行优化。直到收敛或达到最大迭代次数。其过程如下:

1.求解损失函数的负梯度

2.根据乘法更新规则来更新变量

对于两个数据源,设置一个平滑参数

来调解两个数据源的重要性,因此对
的更新被改成:

CPFM具有可拓展性,可以很容易集合多个背景知识来提升。

参考文献

Probabilistic Factor Models for Web Site Recommendation

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值