【问题标题】:Recommender Algorithm推荐算法
【发布时间】:2012-08-06 02:51:06
【问题描述】:
我需要为网站整合一个推荐算法。我想出了一个非常简单的方法来实现这一点,但想知道是否有人可以向我指出任何文献或其他可以帮助我更好地了解其他示例是如何组合在一起的。
我已经了解了 Apache Mahout 中的协作过滤、聚类和分类等功能,但我不知道机器学习如何融入所有这些功能。我可以看到如何为上述内容制作算法(除了机器学习),但想知道是否有人知道可以添加到组合中的其他任何东西。
另外,您认为 Recommender 的目的是什么,它如何发挥最佳作用?有人愿意分享定义吗?
谢谢!
【问题讨论】:
-
-
-
您想告诉我们更多关于您正在解决的问题吗?我认为根据您拥有的数据类型,可以添加很多内容。一般来说,协同过滤在你想根据别人做过的事情提出建议的地方非常好。然后还有基于内容的过滤。你可以用他们两个来做一个混合算法en.wikipedia.org/wiki/…
-
标签:
algorithm
machine-learning
recommendation-engine
【解决方案1】:
an article 讨论了将不同算法组合在一起并创建推荐器的不同可能性。作者分析了 37 个不同的系统及其参考文献,并将它们分类为一个包含 8 个基本维度的列表。
尽管该论文已于 2003 年发表,并且其中的一些示例现在不可用,但它仍然可以作为研究人员构建自己的推荐系统的一个很好的起点。
我想分享一下 Robin Burk 在his paper 中对推荐系统的定义:
任何产生个人推荐作为输出的系统,或具有以个性化方式引导用户在大量可能选项中找到有趣或有用的对象的效果。
【解决方案2】:
推荐系统是人工智能(特别是数据挖掘)中的一个主题,旨在向用户推荐新项目。这些项目可以是任何类型的,例如书籍、旅行、音乐等。
它主要由一个算法组成,该算法将尝试提取以前数据的一些知识(如用户偏好)以建议新的可购买项目。
它被 Netflix 和亚马逊广泛使用。当你看到“用户也喜欢这个”这句话时,很有可能是推荐系统在背后支持。
聚类和其他类似算法是用于改进推荐系统的方法。例如,您可能希望在应用特定推荐系统之前按相似度对用户进行分组,以获得更好的结果。为此,您可以使用 K-最近邻。
这两篇文章可能会帮助您更好地理解该主题:
格雷格·林登、布伦特·史密斯和杰里米·约克。 Amazon.com 推荐:逐项
协同过滤。
罗宾·伯克。混合推荐系统:调查和实验。用户建模
和用户适应的交互。
【解决方案3】:
现在有一个关于推荐系统的优秀 Coursera 课程,由该领域的先驱之一明尼苏达大学的 Joeseph Konstan 教授。这是免费的。相当不错,涵盖了推荐系统的基本分类,包括:
- Rating Systems
- Content Based Filters
- Collaborative Systems (User-user and Item-item)
- Dimensionality Reduction (SVD, its meaning, and how to compute it)
- Hybrid Systems
SVD 完全属于 ML,我发现这是我在任何地方看到的最连贯和最直观的呈现方式 - 我见过一些。
它还展示了如何使用 Lenskit(一个学术推荐系统工具包)来创建真实世界的系统。
显然我喜欢这门课程,虽然我希望它们涵盖贝叶斯方法。