协同过滤

协同过滤(英语:Collaborative Filtering),简单来说是利用某兴趣相投、拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人通过合作的机制给予信息相当程度的回应(如评分)并记录下来以达到过滤的目的进而帮助别人筛选信息,回应不一定局限于特别感兴趣的,特别不感兴趣信息的纪录也相当重要。协同过滤又可分为评比(rating)或者群体过滤(social filtering)。其后成为电子商务当中很重要的一环,即根据某顾客以往的购买行为以及从具有相似购买行为的顾客群的购买行为去推荐这个顾客其“可能喜欢的品项”,也就是借由社区的喜好提供个人化的信息、商品等的推荐服务。除了推荐之外,近年来也发展出数学运算让系统自动计算喜好的强弱进而去芜存菁使得过滤的内容更有依据,也许不是百分之百完全准确,但由于加入了强弱的评比让这个概念的应用更为广泛,除了电子商务之外尚有信息检索领域、网络个人影音柜、个人书架等的应用等。

来源:维基百科
简介

协作过滤(CF)是一种流行的推荐算法,其基于系统中其他用户的评分或行为进行预测和推荐。 这种方法背后的基本假设是,通过选择和汇总其他用户的意见,以便对活跃用户的偏好提供合理的预测。 直观上,他们认为,如果用户对某些项目的质量或相关性达成一致,那么他们可能会就其他项目达成一致意见 -如果一组用户喜欢与Mary相同的内容,那么Mary很可能喜欢他们喜欢的东西,即便她还没有看到。

协同过滤系统的信息域由表达了他们的喜好的用户组成,这种用户偏好通过评分来表示,并经常表示为(用户,项目,评分)三元组。 这些评分可以采取多种形式,取决于所讨论的系统。 一些系统使用实数或整数评级量表,例如0-5星,而其他系统使用二元或三元(喜欢/不喜欢)量表。一元评级(例如已购买)在电子商务部署中特别常见。 在讨论一元评级时,我们将使用已购买来表示某个项目位于用户的历史记录中,即使是对于诸如网页查看等非商业设置。

所有包含评分的三元组的集合形成了被称为评级矩阵的稀疏矩阵。下表显示了电影推荐系统中三个用户和四部电影的示例评分矩阵;标记为''的单元格表示未知值(用户尚未评级该电影)。 在描述推荐系统(包括协同过滤系统)的使用和评估时,我们通常关注两个任务。 第一个是预测任务:给定一个用户和一个项目,用户对该项目的喜好程度如何? 如果评分矩阵可以被看作是来自完整用户项目偏好矩阵的值的抽样,则此推荐器的预测任务等同于矩阵缺失值问题。

A

B

C

D

E

1

Batman Begins

Alice in Wonderland

Dumb and Dumber

Equilibrium

2

UserA

4

3

5

3

UserB

5

4

4

UserC

5

4

2

第二项任务是推荐任务:给予用户,根据用户的需要生成n个项目的最佳排名列表。 但这个推荐清单并不能保证n项推荐列表包含具有估计得最高偏好的n个项目,因为预测偏好可能不是用于生成推荐列表的唯一标准。

可以想象,写作过滤需要对用户和商品的相似性进行衡量,从而得出推荐决策。

[描述来源:Ekstrand, M. D.; Riedl, J. T. Konstan, J. A. (2010). Collaborative Filtering Recommender Systems. Foundations and Trends in Human–Computer Interaction. 4(2): 81–173.]

发展历史

描述

首次在商业系统中使用协同过滤技术的公司应当是Netflix,他们取得了很好的效果,随后许多公司也纷纷采用了这一技术。如在亚马逊网站上,他们使用推荐算法为每位顾客个性化网上商店。他们在发表的论文中提出了项目到项目协同过滤(item-to-item collaborative filtering),并与常见的方法——传统协同过滤(traditional collaborative filtering),聚类模型(cluster models)和基于搜索的方法(search-based methods——进行了比较。他们算法的在线计算规模与客户数量和产品目录中的项目数量无关,并能实时生成建议,也可以扩展到海量数据集,生成高质量的建议。

2001Badrul Sarwar, George Karypis, Joseph Konstan, John Riedl对不同的基于项目的推荐生成算法(item-based recommendation generation algorithms)进行了比较,主要从计算项目相似度的技术和随后应当使用的推荐生成模型两方面进行比较。他们以k-近邻方法为基准,比较结果显示基于项目的算法比基于用户的算法(user-based algorithm)表现更好,同时能提供比最好的基于用户的算法更好的推荐结果。2004Herlocker Joseph KonstanTerveenJohn Riedl回顾了评估协作过滤推荐系统的关键决策:被评估的用户任务,正在使用的分析方法和数据集的类型,测量预测质量的方式,质量以外的预测属性评估以及 整个系统的基于用户的评估。 除了使用先前研究人员使用的评估策略进行评估外,他们还提供了实证结果。

近年来,随着神经网络的发展,不少研究也将神经网络与协同过滤结合了起来,其中大多数方法都在尝试使用一些深度神经网络代替矩阵分解。2017He等人使用深度学习开发了一个通用框架对用户-条目交互矩阵进行直接建模——而非只对辅助数据应用深度学习。该研究提出的方法完全取代了基于矩阵分解,或矩阵分解作为通用模型特例用于生成用户和条目隐藏特征的方法。该研究提出的通用模型与业内最佳矩阵分解方法(如 eALS BPR)和基础基准(如 ItemPop ItemKNN)在 MovieLens Pinterest数据集上进行了比较。该方法在两个数据集上的表现均较上述方法有了提高。V. BoginaT. Kuflik则提出了一个 RNN模型以结合停留时间(用户花在某个推荐条目上的时间),因此该模型可以提升基于会话的推荐系统在电子商务数据集(Yoochoose)上的推荐准确度。

实际上,协同过滤的应用领域不止推荐系统。2007年,K. Dabov, A. Foi等学者提出了一种基于增强稀疏表示的变换域图像去噪新策略。通过减少噪音,协同过滤甚至可以揭示分组区块共享的细节,同时还保留了每个区块的基本独特功能。实验结果表明,这种算法当时在峰值信噪比和主观视觉质量方面实现了最先进的去噪性能。

主要事件

A

B

C

1

年份

事件

相关论文/Reference

2

2001

Badrul Sarwar, George Karypis, Joseph Konstan, John Riedl对不同的基于项目的推荐生成算法(t item-based recommendation generation algorithms)进行了比较

Sarwar, B.; Karypis, G.; Konstan, J. Riedl, J. (2001). Item-Based Collaborative Filtering Recommendation Algorithms. Proceedings of the 10th international conference on World Wide Web. pp 285-295.

3

2003

亚马逊提出项目到项目协同过滤(item-to-item collaborative filtering

Linden, G.; Smith, B. and York, J.(2003). Amazon.com recommendations: item-to-item collaborative filtering.IEEE Internet Computing.7(1): 76-80.

4

2007

Herlocker Joseph KonstanTerveenJohn Riedl回顾了评估协作过滤推荐系统的关键决策

Dabov, K.; Foi, A.; Katkovnik V.; and Egiazarian, K. (2007). Image Denoising by Sparse 3-D Transform-Domain Collaborative Filtering. IEEE Transactions on Image Processing. 16(8): 2080-2095.

5

2017

He等人使用深度学习开发了一个通用框架对用户-条目交互矩阵进行直接建模——而非只对辅助数据应用深度学习

He, X.; Liao, L.; Zhang, H.; Nie, L.; Hu, X.; and Chua, T. -S.(2017). Neural Collaborative Filtering. Proceedings of the 26th International Conference on World Wide Web - WWW ’17, pp. 173–182.

6

2017

V. BoginaT. Kuflik提出了一个 RNN模型以结合停留时间(用户花在某个推荐条目上的时间),因此该模型可以提升基于会话的推荐系统在电子商务数据集(Yoochoose)上的推荐准确度

Bogina, V.; Kuflik, T. (2017). Incorporating dwell time in session-based recommendations with recurrent Neural networks. CEUR Workshop Proceedings. 1922: 57–59.

3. 发展分析

瓶颈

协同过滤主要面临的挑战有以下几个:

  1. 数据的稀疏性
  2. 海量数据所带来的规模挑战
  3. 同义词对推荐系统性能的影响
  4. 那些意见不一致的用户或与任何一群人不一致的用户(灰羊,gray sheep)很难从协同过滤中受益
  5. 用户提供恶意评价而对协同过滤系统带来的偏差

未来发展方向

目前将深度学习与协同过滤推荐系统结合的研究仍然是一个热点,主要发展方向可能有以下几个:

  1. 在其他领域创造公开数据集,例如学术作者-文章数据集、在线零售数据集、包含用户-推荐条目的交互信息以及有关用户、推荐条目丰富元数据的数据集;
  2. 构建把用户包含在内的测试台,评估推荐系统在近真实环境中的性能改进;
  3. 进行元分析,在同样的基准上对比所有的深度学习模型;

By Yuanyuan Li

相关人物
Joseph Konstan
Joseph Konstan
约翰·T·里德
约翰·T·里德
乔治·卡里皮斯
乔治·卡里皮斯
Badrul Sarwar
Badrul Sarwar
洛伦·特维恩
洛伦·特维恩
Loren Terveen是美国计算机科学家,也是计算机协会SIGCHI专业组的主席。 Terveen是明尼苏达大学GroupLens研究所的计算机科学与工程教授,并研究人机交互。
简介
相关人物