机器学习和生物信息学实验室联盟

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2627|回复: 0
打印 上一主题 下一主题

基于分层泊松分解的可扩展推荐算法

[复制链接]
跳转到指定楼层
楼主
发表于 2016-8-2 16:15:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Heryuying 于 2016-8-3 09:36 编辑

论文标题:Scalable Recommendation with Hierarchical Poisson Factorization

论文作者:Prem Gopalan, Jake M.Hofman, David M.Blei

主要工作:本文提出了一个新型泊松分解模型(HPF,Hierarchical Poisson Factorization),采用泊松分布计算用户和商品的隐变量,复杂的后验分布值则由mean-field平均场变分推断近似代替,经实验证明,HPF相对于经典的矩阵分解算法推荐性能得到显著提升,同时数据更易于大规模扩展。

泊松推荐
    泊松分布只接受非负数据作为输入,具有较强的处理稀疏矩阵的能力,文中采取的分层结构也可以更大程度上发掘用户和物品的多样性。与传统的非负矩阵分解(NMF,Nonnegative Matrix Factorization)不同的是,对于一个满足泊松分布的系数矩阵,泊松分解在非负矩阵分解的基础上,通过调整系数的手段,使得分解后得到的两个矩阵都满足Gamma分布。其模型如下图:
   
                                          

    本文认为,用户的行为数据yui满足用户兴趣θu和物品特征βi的泊松分布,而θu和βi又分别由用户活跃度ξu和物品流行度ηi决定。即
      
   
    后验概率值确定后,通过泊松参数的期望计算出用户对未产生过行为的商品的评价,

                                       

HPF模型特性
    1.HPF处理稀疏分解因子的效果更好。当形状参数较小时,大多数权重会逼近0从而简化了模型。
    2.HPF可以尽可能发掘到长尾用户和物品。用户活跃度和物品流行度都满足长尾分布,即大多数用户都倾向于较低的活跃度,只有少部分商品很热门。为了验证这一点,本文在Netflix数据集上进行实验,结果如下:

                                      

    其中,方块表示观测到的PPC值(Posterior predictive check),可以看到,当用户活跃度较低时,HPF相比于MF更加接近真实观测分布,性能提升明显。
    3.HPF对0值进行降权。我们知道,当yui>0,即用户消费了某商品时,肯定能得出用户对该商品感兴趣的结论;但是当yui=0,即用户未评价过该商品并一定表示用户不感兴趣,很有可能是用户还没机会消费。在传统基于高斯分布的MF算法中,对消费过和未消费过的商品赋予相同权重,这会导致特征提取的偏差,所以HPF对未产生行为的商品进行降权以获取更准确的用户兴趣特征。
    4.计算速度更快。在损失函数中,将missing ratings设为0,不需要在优化时考虑,大大加快了运算速度。

变分推断方法
    采用HPF做推荐的核心在于解决后验推断问题。和大多数贝叶斯模型一样,直接计算后验分布是非常困难的,泊松分解采用变分推断(Variational inference)作为优化目标函数的方法,其根本思想就是用一个简单分布q通过不断调节系数,来近似形式复杂、不易计算的后验分布p。
通常采用Kullback-Liebler(KL)距离来度量两个分布的相似度,KL距离越小,表示二者越接近。已知:

   

    当近似分布q(Z)=p(Z|X)时,KL(q||p)为0,于是可以通过求L(q)的最大值间接将KL(q||p)最小化。
    此外,在模型中加入隐变量因子k,对观测量增加k个隐变量z,根据mean-field理论,假设各个变量之间相互独立,则联合概率公式表示为:

   

    将以上结果带入计算,得到用于泊松分解的变分推断算法如下图所示:

                                      

    根据上述算法训练Gamma参数a,a’,b’,c,c’,d’求出隐藏变量,得到最终的用户评分矩阵。

实验结果
    数据集:采集自文章类数据源Mendeley和New York Times,音乐类数据源Echo Nest以及电影类数据源Netflix。
    Baselines:非负矩阵分解(NMF,Non-negative Matrix Factorization),文档主题生成模型(LDA,Latent Dirichlet Allocation),概率矩阵分解(MF,Probabilistic Matrix Factorization),协同过滤(CliMF,Collaborative Less-is-More Filtering)。下图是HPF和几种competing methods推荐结果的平均准确率和top@20时的平均召回率对比。

   

    考虑用户活跃度的影响,几种算法的平均准确率和召回率如下:

   

    实验结果说明,和其他常规算法相比,HPF模型在不同种类的数据集上的推荐效果存在明显提升,同时能应对活跃度较低的“长尾”用户。

总结与讨论
    HPF算法是一种鲁棒性强且预测精度高的推荐模型,可以与贝叶斯非参数模型结合进行扩展以适应多维度的隐藏特征。其中一种改进方法是将置信权(confidence-weighting)引入HPF,降权效果超越泊松分解。

论文原文请参考:










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

机器学习和生物信息学实验室联盟  

GMT+8, 2024-5-19 14:33 , Processed in 0.065164 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表