关闭

推荐系统_LFM和基于邻域(如UserCF、ItemCF)的方法的比较

1514人阅读 评论(0) 收藏 举报
分类:

        LFM是一种基于机器学习的方法,具有比较好的理论基础。这个方法和基于邻域的方法(比如UserCF、ItemCF)相比,各有优缺点。下面将从不同的方面对比LFM和基于邻域的方法。

       理论基础     LFM具有比较好的理论基础,他是一种学习方法,通过优化一个设定的指标建立最优的模型。基于邻域的方法更多是一种基于统计的方法,并没有学习过程。

       离线计算的空间复杂度      基于邻域的方法需要维护一张离线的相关表。在离线计算相关表的过程中,如果用户/物品数很多,将会占用很大的内存。假如有M个用户和N个物品,在计算相关表的过程中,我们可能会获得一张比较稠密的临时相关表(尽管最终我们队每个物品只保留K个最相关的物品,但在计算过程中稠密的相关表是不可避免的),LFM则节省了大量的内存。

       离线计算的时间复杂度       一般情况下,LFM的时间复杂度要稍微高于UserCF和ItemCF,这主要是因为该算法需要多次迭代。但总体上,这两种算法在时间复杂度上面没有本质的差别。

       在线实时推荐     UserCF和ItemCF在线服务算法需要将相关表缓存在内存中,然后可以在线进行实时的预测。以ItemCF算法为例,一旦用户喜欢了新的物品,就可以通过查询内存中的相关表将和该物品相似的其他物品推荐给用户。因此,一旦用户有了新的行为,而且该行为被实时地记录到后台的数据库系统中,他的推荐列表就会发生变化。而从LFM的预测公式可以看到,LFM在给用户生成推荐列表时,需要计算用户对所有物品的兴趣权重,然后排名,返回全中最大的N个物品。那么,在物品数很多时,这一过程的时间复杂度非常高,因此,LFM不太适合用户物品数非常庞大的系统。另一方面,LFM在生成一个用户推荐列表时速度太慢,因此不鞥呢在线实时计算,而需要离线将所有用户的推荐结果事先计算好存储在数据库中。因此,LFM不鞥呢进行在线试试推荐,也就是说,当用户有了新的行为后,他的推荐列表不会发生变化。

       推荐解释   ItemCF算法支持很好的推荐解释,它可以利用用户的历史行为解释推荐结果。但LFM无法提供这样的解释,它计算出的隐类虽然在语义上却是代表了一类兴趣和物品,却很难用自然语言描述并生成解释展示给用户。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:32450次
    • 积分:525
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:0篇
    • 译文:0篇
    • 评论:6条
    最新评论
  • 面试

    u011263983: @haungzhuwei:还没有毕业啊,还有一年。本科学的是网络工程,研究生学的大数据,主要偏向于大...

  • 面试

    haungzhuwei: 楼主,你是刚大学毕业出来找工作的吗?而且是本科自学机器方面的知识?

  • 面试

    u011263983: 58面试:自我介绍。hadoop中mapreduce的架构,项目介绍,这个问的比较细,怎么设计的(h...

  • 面试

    u011263983: 网易面试(网易云音乐-大数据开发 2017.8.28)1面1,自我介绍2,介绍一下hadoop3,介...

  • 面试

    u011263983: 绿盟 7:LR和SVM的区别?答:1:损失函数不同2:SVM有约束,LR没有3:SVM仅仅考虑支持向...

  • 面试

    u011263983: 绿盟一面:1:说说你了解的机器学习算法?线性回归,逻辑回归,svm,感知机,决策树,随机森林,聚类:...