美文网首页
推荐系统召回算法之——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(矩阵分解)

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