首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于图与机器学习的协同过滤

基于图与机器学习的协同过滤
EN

Data Science用户
提问于 2015-11-04 05:18:41
回答 2查看 1.9K关注 0票数 0

使用基于协同过滤的推荐使用机器学习方法和基于图的方法的优缺点是什么?

假设我有用户购买数据(user_name、user_location、user_company_name、product_name、product_price、product_ingredients),并希望根据来自同一地点的其他用户、公司正在购买的产品、根据产品价格、成分等向用户推荐产品。

如何确定其中哪一个适合于给定的用例?我想评估Neo4j (图形数据库)和Mahout (机器学习)的协同过滤。

EN

回答 2

Data Science用户

发布于 2015-11-04 12:48:06

我只能谈论图表:

优势:

  • 使用图表,您可以很容易地找到购买或喜欢某项产品的用户购买/评级的产品,或者与其他用户具有类似“品味”的用户。根据我的经验,遍历过程足够快。
  • 密切匹配的产品很容易找到,这取决于您如何建模您的图形:例如,(userA)-[]->(basketA)-[with]->(productA)<-(basketB)-[]-(userB)。用篮子找到类似的产品在计算上很便宜。

缺点:

  • 根据您对结果排序的方式,您很容易陷入不断推荐相同产品的陷阱。用户购买了A,买了B,所以你建议B.人们购买/喜欢B.下次你运行查询时,B将继续排名第一。
  • 你的结果很少会发现新产品。你必须围绕这类产品找到明智的方法,例如在这个价格范围内寻找其他产品。
  • 如果您拥有非常大的数据集,则必须使用性能良好的分布式图形数据库(这并不像听起来那么容易,除非您愿意支付大量的钱)。

我在协作过滤方面的一些经验是,当您的数据越来越大(50GB+)时,构建一个模型需要相当长的时间(小时、天),而且您不太可能获得关于新产品的好建议。必须更新您的模型也成为一个巨大的问题。根据我的经验,对于小型用例,我倾向于使用图表。

请注意,在这两种情况下,您从来没有推荐新添加的产品,但没有购买或喜欢的人。我这么说是因为推荐的目标是帮助用户发现新产品。我写了一篇博客文章,其中我谈到了建模图,并在一些示例这里中讨论了建议,因此您可以跳过这一节,了解如何建模这类问题。

我建议您阅读Amazon关于协作过滤方法的论文,这在理论上非常简单,并且为他们带来了很好的结果。我认为您总是希望实现几种不同的方法结合在一起,以解决问题的不同部分。

祝好运。

票数 4
EN

Data Science用户

发布于 2015-11-04 14:46:15

许多基于ML的推荐技术的一个优点是它们允许您在低维空间中工作。例如,矩阵分解技术允许您以学习的潜在变量空间来查看用户或项。这使得在对模型进行了培训(这通常是非常昂贵的)之后,计算更加容易。

MovieLens推荐数据集上的一些最佳结果是由自动编码器实现。这也有利于减少问题的维度。

此外,对数据的学习表示可能代表(在自动编码器的情况下,可能是非线性的)特征的组合。导航图形的边缘很可能一次只关注一个特性。

如果您使用neo4j的想法来自于这里,那么需要记住的一点是,您正在谈论的数据不仅仅是分级/喜好数据(在协作过滤中常见),还包括内容基数据。您可能希望阅读有关混合推荐系统的文章,以利用基于内容的推荐和基于协作的过滤推荐。

票数 3
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/8705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档