关闭

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

1843人阅读 评论(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
查看评论

推荐系统之隐语义模型(LFM)

一 基本概念 LFM(latent factor model)隐语义模型,这也是在推荐系统中应用相当普遍的一种模型。那这种模型跟ItemCF或UserCF有什么不同呢?这里可以做一个对比: 对于UserCF,我们可以先计算和目标用户兴趣相似的用户,之后再根据计算出来的用户喜欢的物品给目标用户推荐物...
  • sinat_33741547
  • sinat_33741547
  • 2016-10-30 23:58
  • 6019

使用LFM(Latent factor model)隐语义模型进行Top-N推荐

原文地址:http://blog.csdn.net/harryhuang1990/article/details/9924377 最近在拜读项亮博士的《推荐系统实践》,系统的学习一下推荐系统的相关知识。今天学习了其中的隐语义模型在Top-N推荐中的应用,在此做一个总结。 隐语义模型LFM和L...
  • litoupu
  • litoupu
  • 2013-11-25 14:37
  • 25334

LFM推荐的例子和代码

参考自邹博的博客! LFM:将评分矩阵分解为 item-feature 和 user-feature矩阵,feature数量事先人工确定,但是这两个矩阵参数未知,首先随机选取参数,再以此梯度下降迭代即可得到。 import pandas as pd import numpy as npdef l...
  • sadfasdgaaaasdfa
  • sadfasdgaaaasdfa
  • 2016-04-02 20:23
  • 1118

机器学习->推荐系统->LFM

LFM(latent factor model)隐语义模型核心思想是通过隐含特征联系用户兴趣和物品。 相比USerCF算法(基于类似用户进行推荐)和ItemCF(基于类似物品进行推荐)算法;我们还可以直接对物品和用户的兴趣分类。对应某个用户先得到他的兴趣分类,确定他喜欢哪一类的物品,再在这个类里挑...
  • Mr_tyting
  • Mr_tyting
  • 2017-03-14 10:13
  • 881

使用LFM(Latent factor model)隐语义模型进行Top-N推荐

最近在拜读项亮博士的《推荐系统实践》,系统的学习一下推荐系统的相关知识。今天学习了其中的隐语义模型在Top-N推荐中的应用,在此做一个总结。 隐语义模型LFM和LSI,LDA,Topic Model其实都属于隐含语义分析技术,是一类概念,他们在本质上是相通的,都是找出潜在的主题或分类。这些技术一开...
  • HarryHuang1990
  • HarryHuang1990
  • 2013-08-12 14:30
  • 23513

隐语义模型(LFM)

该算法最早在文本领域被提出,用于找到文本的隐含语义。核心思想是通过隐含特征(latent  factor)联系用户兴趣和物品(item)。是基于机器学习的方法。找出潜在的主题和分类。基于用户的行为对item进行自动聚类,划分到不同类别/主题,即用户的兴趣。 算法实例:假设用户A喜欢的音乐...
  • u014570574
  • u014570574
  • 2016-05-20 10:25
  • 1823

[机器学习]协同过滤,LFM(隐语义)算法

本文内容属于 Andrew Ng的《机器学习》公开课笔记,大部分截图均来自Andrew Ng的课件 对于本节所讲的算法,Andrew Ng称为 Collaborative filtering(协同过滤),或者low rank matrix factorization(xx矩阵分解),向亮博士《推...
  • aFeiOnePiece
  • aFeiOnePiece
  • 2015-08-15 01:53
  • 2768

隐语义模型LFM

隐语义模型LFM和LSI,LDA,Topic Model其实都属于隐含语义分析技术,是一类概念,他们在本质上是相通的,都是找出潜在的主题或分类。这些技术一开始都是在文本挖掘领域中提出来的,近些年它们也被不断应用到其他领域中,并得到了不错的应用效果。比如,在推荐系统中它能够基于用户的行为对item进行...
  • oucpowerman
  • oucpowerman
  • 2015-11-12 21:03
  • 1996

机器学习->推荐系统->itemCF算法

上一讲讲到userCF算法,该算法是根据用户之间相似度,来给目标用户推荐与他们相似用户产生过行为的物品。该算法在某些应用场景并不适用。首先随着网站用户数目越来越大,计算用户兴趣相似矩阵越来越困难,运算时间复杂度和空间复杂度和用户增长近似于平方关系。其次,基于用户的协同过滤很难对推荐结果作出解释。由此...
  • Mr_tyting
  • Mr_tyting
  • 2017-03-13 11:16
  • 617

重叠社区发现-LFM算法

#coding=utf-8 from numpy import * #文件读取 def LoadAdjacentMatrixData(filename,vertices): Adjmartrix = [[0 for col in range(vertices)] for row in ran...
  • qjc937044867
  • qjc937044867
  • 2016-05-01 13:13
  • 3186
    个人资料
    • 访问:36776次
    • 积分:573
    • 等级:
    • 排名:千里之外
    • 原创: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,感知机,决策树,随机森林,聚类:...