【学习笔记】读项亮的《推荐系统实践》_第二章利用用户行为数据_下

2.5 隐语义模型

LFM(latent factor model)。表示一类模型,有很多经典的模型,如:LSI、pLSA、LDA和topic model等。


2.5.1 基础算法

作者首先讲了一下LFM应用在推荐系统中的初衷,也是LFM的优势:面对商品分类的时候,人工编辑给出的类别有很多缺点,如不好解决一物多类问题、不好设定物品与类别的权重、主观性因素太强等等。LFM由于其模型本身,能够有效地避免上述问题。

LFM在显性反馈数据(评分数据)上取得了良好的精度。在隐形反馈数据上,需要面临的问题是如何选择负样本,作者有两点建议:(1)对每个用户,保证正负样本数目相似;(2)采集负样本的时候,尽量选取物品本身很热门,但是用户没有行为的物品——这更说明了用户“不喜欢”这类物品。

LFM训练出来的是两个概率:(1)用户和隐含类别的概率关系;(2)物品和隐含类别的概率关系。

LFM用随机梯度下降法(stochastic gradient descent)来训练,训练算法相对成熟,不表。

作者以movielens数据集中的电影为例,列出了隐含类别中概率比较高的物品,可以看出LFM对物品的聚类效果不错。

LFM在训练过程中的参数有四个:(1)隐含类别个数;(2)学习速率;(3)正则化参数(防止过拟合);(4)正负样本比例。实践证明,参数(4)对模型的性能影响最大。参数(4)控制了推荐算法挖掘长尾物品的能力——负样本比例越高,准确率、召回率越高,但是覆盖率越低。


2.5.2 基于LFM的实际系统的例子

讲了yahoo人用LFM在推荐系统的例子。

用LFM来预测用户点击概率。其是就是计算“用户--物品”之间的关联概率,然后按照概率排序,取topN。

yahoo人用LFM来推荐新闻。不过LFM训练时间较长,不能满足新闻的实时性。yahoo人改进了LFM,个人感觉这种改进融合了很多经典思路。首先,加入实时的在线计算模型,与离线计算模型的结果进行插值合并。第二,离线计算模型是歌剧用户和物品的几个小时的行为计算得到的,计算时间相对较长。第三,在线计算模型,根据物品的属性,实时直接生成了物品与隐类别之间的概率关系,并以此为LFM的向量,与长时间离线计算得到的用户与隐类别之间的概率关系进行相乘,得到在线的LFM模型概率。


2.5.3 LFM和基于邻域的算法的比较

1. UserCF和ItemCF的空间复杂度较大。

2. 离线计算时间两者相当,LFM会更加费时,但是没有质的差别。

3. LFM给用户推荐列表结果比较慢,不适合实时系统。如果应用在实时系统,也是先用别的方法给用户一个小的结果集合,然后LFM再优化排序。

4. ItemCF有很好的推荐理由,UserCF和LFM则没有。


2.6 基于图的模型

2.6.1 用户行为数据的二分图表示

推荐系统其实就是搞清楚用户和物品之间的关系。而这两者之间可以用二分图来表示。推荐的任务就是,对于用户节点U和他没有拥有的物品节点集合Set(items),计算集合中每一个元素与用户节点U之间的关联程度。计算方式可以采用图的算法。

2.6.2 基于图的推荐算法

设计算法的时候,有几个因素需要考虑:(1)顶点之间的路径数目;(2)顶点之间的路径长度;(3)路径经过了哪些顶点。

随机游走算法,PersonalRank算法,具体算法见书中描述。感觉和pagerank、Hits算法等类似。什么东西转化成了图,都可以“随机游走”。

该算法的时间复杂度非常高。优化方法:(1)减少迭代次数,会影响精度,不过从实践中检验,影响不会太大;(2)从矩阵论出发,重新设计算法。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值