美文网首页
推荐系统召回算法之——LFM(矩阵分解)

推荐系统召回算法之——LFM(矩阵分解)

作者: 易码当先 | 来源:发表于2020-06-08 10:06 被阅读0次

目录

1、LFM算法原理

2、LFM数学原理

3、应用场景

4、python实现

5、总结


算法原理:LFM(later factor model)是一种基于矩阵分解的召回算法,输入UI点展矩阵,输出是P和Q两个矩阵。


建模公式:

p(u,i) = p_{u}^Tq_{i} =\sum_{f=1}^F   p_{uf} q_{if}  

损失函数求解:

梯度下降法求解L2平方损失

LFM与Item CF比较:

理论基础:LFM采用平方损失函数进行最小化求解,特征是隐特征,由模型习得;ItemCF基于公式计算,缺少学习过程,因此两者理论基础上前者更充分。

离线空间时间复杂度:ItemCF 空间复杂度是item的平方,LFM空间复杂度是user*F(隐因子数)+item*F。后者空间复杂度更低;时间复杂度处于一个数量级。

在线推荐与推荐解释:LFM根据模型产出的user向量*item向量离线计算出用户喜爱列表,取toplike存入redis,如果item数量多,则计算时间复杂度高;ItemCF离线计算通常只计算某个类别下的item sim列表,然后取topk,离线存储供在线推荐。实时响应方面,用户有新行为时LFM不能对用户实时行为进行模型重新训练和感知,后者重新计算item sim列表时间复杂度更低,响应更灵活。


应用场景:

计算用户的toplike:计算user对item的喜爱度得分取top,完成用户喜爱度列表。

计算物品的topsim:对item矩阵离线计算相似度,完成在线item点击实时推荐。

计算item的topic:使用聚类算法,完成item按簇分类。


Python实现:https://github.com/SolodanceMagicq/RecommendSys/tree/master/LFM


总结:LFM是传统机器学习中基于矩阵分解的思想,将UI矩阵分解为User和Item两个矩阵,然后利用余弦相似度等距离公式,计算用户对物品的喜好得分。与ItemCF相比有较强的理论基础,缺点是计算时间复杂度高(梯度下降法求解损失函数)

相关文章

  • 推荐系统召回算法之——LFM(矩阵分解)

    目录 1、LFM算法原理 2、LFM数学原理 3、应用场景 4、python实现 5、总结 算法原理:LFM(la...

  • 1.推荐算法串讲

    推荐算法 1、 基于内容的推荐 2、 基于近邻的推荐(协同过滤) 3、 基于矩阵分解的隐语义模型(LFM,FM,F...

  • 推荐系统召回之LFM算法详解(一)

    一 个性化找回 召回:从item中选取一部分作为候选集1)不同的用户喜欢不同的item2)部分作为候选集,降低系...

  • 推荐冷启动召回模型DropoutNet深度解析与改进

    为什么需要冷启动 通常推荐系统通过协同过滤、矩阵分解或是深度学习模型来生成推荐候选集,这些召回算法一般都依赖于用户...

  • 矩阵分解与FM

    1. 矩阵分解 1.1 隐语义模型LFM(latent factor model) 协同过滤算法的特点就是完全没有...

  • 推荐系统9:MF推荐

    1.LFM推荐 思路和ALS算法类似,区别在于,ALS利用坐标下降法,LFM利用梯度下降法假设: 评分矩阵??,?...

  • 隐语义模型与推荐算法

    隐语义模型与推荐算法 标签:推荐算法 LFM(latent factor model)隐语义模型,这也是在推荐系统...

  • 矩阵分解

    矩阵分解 前记 矩阵分解在推荐系统里面应该说是最经典、最有代表性的算法了。除了基础 举证分解方法,后面衍生出了各种...

  • 推荐算法之矩阵分解

    https://www.cnblogs.com/bonelee/p/7126144.html

  • LFM——潜在因素模型

    推荐系统(2)—LFM(Latent Factor Model)模型 推荐系统学习笔记之三 LFM (Latent...

网友评论

      本文标题:推荐系统召回算法之——LFM(矩阵分解)

      本文链接:https://www.haomeiwen.com/subject/aogbfhtx.html