推荐系统经典技术:矩阵分解

2017 年 10 月 10 日 机器学习研究会

在2007年,Netflix公布了一项推荐算法的比赛,根据用户对电影的评分历史,预测用户对没有看过的电影的评分。如果有队伍能在测评指标上超过Netflix官方的推荐系统——“Cinematch” 10%以上,将会被奖励100万美元。最终,在2009年,一支名为“BellKor's Pragmatic Chaos”的队伍以超过“Cinematch” 10.06%的成绩获得全部奖金。在Netflix比赛的推动下,矩阵分解方法大放异彩,许多队伍采用矩阵分解的方法都取得了不错的效果。今天我们将介绍推荐系统中的经典算法——矩阵分解 。


矩阵分解算法主要作用在用户-物品评分矩阵上,其主要思路是将评分矩阵分解成两个低维的矩阵,分别用来刻画用户和物品的特征,再由这两个低维矩阵的内积来重建用户对未评分物品的评分。在通常情况下,评分矩阵有两种类型:Explicit Feedback 和 Implicit Feedback。


Explicit Feedback



用户显式地用评分表达对物品的喜欢或不喜欢。如在豆瓣电影中,用户可以用5星表达自己对电影的喜爱,也可以用1星表达对电影的不喜爱。在文章Matrix Factorization Techniques for Recommender Systems[1] 中指出,最基本的处理Explicit Feedback的模型可以表达为:

其中,R是已知的用户对物品的评分,X是用户的latent factor,Y是物品的latent factor,lambda是正则化系数。更复杂的加入了用户和物品偏置项的模型可以表达为:

以上两种模型均可通过SGD (stochastic gradient descent) 或ALS (altering least square) 来求解。


可以参考LibRec中的 BiasedMFRecommender.java


Implicit Feedback



用户对物品的喜好可以通过用户在物品上的行为侧面反映。如在Point-of-Interest推荐中,用户在某个地点的check-in次数可以侧面反映用户对这个地点的喜爱程度。大多数推荐系统是处理implicit feedback的,因为用户的行为比用户的偏好要更容易观察得到。当然在这样的数据中噪声也更大,不容易推测出用户的喜好。


在论文Collaborative Filtering for Implicit Feedback Datasets [2] 中叙述的weighted alternating least squares模型是一种非常经典地处理implicit feedback的方法。这个方法与上述处理explicit feedback最大的不同之处是,这种方法将所有的用户与物品的交互都视为positive sample,用户与物品交互的次数反映了用户这个物品感兴趣的程度 (confidence)。这个模型可以被表示为:

其中P是一个二值化的矩阵,用来表达用户是否和物品有交互。C是confidence矩阵,由用户和物品的交互次数矩阵得到,次数越多相应的值越大,用来表达用户对物品的感兴趣程度。


转自:LibRec智能推荐


完整内容请点击“阅读原文”

登录查看更多
10

相关内容

在线性代数的数学学科中,矩阵分解或矩阵分解是将一个矩阵分解成一个矩阵的乘积。有许多不同的矩阵分解;每种方法都适用于特定的一类问题。
最新《深度学习自动驾驶》技术综述论文,28页pdf
专知会员服务
153+阅读 · 2020年6月14日
【经典书】贝叶斯编程,378页pdf,Bayesian Programming
专知会员服务
244+阅读 · 2020年5月18日
近期必读的6篇顶会WWW2020【推荐系统】相关论文-Part3
专知会员服务
57+阅读 · 2020年4月14日
近期必读的6篇AI顶会WWW2020【推荐系统】相关论文
专知会员服务
56+阅读 · 2020年2月25日
专知会员服务
85+阅读 · 2020年1月20日
【新书】Python中的经典计算机科学问题,224页pdf
专知会员服务
143+阅读 · 2019年12月28日
推荐系统之矩阵分解家族
图与推荐
13+阅读 · 2020年3月28日
基于深度交叉特征的推荐系统
微信AI
9+阅读 · 2019年2月1日
推荐系统中的矩阵分解技术
AINLP
9+阅读 · 2018年12月24日
【推荐系统】详解基于内容的推荐算法
产业智能官
23+阅读 · 2018年1月11日
【推荐系统】融合 MF 和 RNN 的电影推荐系统
产业智能官
23+阅读 · 2018年1月4日
推荐系统机器学习算法概览
论智
7+阅读 · 2017年12月14日
详解个性化推荐五大最常用算法
量子位
4+阅读 · 2017年7月8日
Arxiv
8+阅读 · 2019年5月20日
Arxiv
10+阅读 · 2019年2月19日
Arxiv
6+阅读 · 2018年3月28日
Arxiv
5+阅读 · 2017年11月13日
VIP会员
相关VIP内容
最新《深度学习自动驾驶》技术综述论文,28页pdf
专知会员服务
153+阅读 · 2020年6月14日
【经典书】贝叶斯编程,378页pdf,Bayesian Programming
专知会员服务
244+阅读 · 2020年5月18日
近期必读的6篇顶会WWW2020【推荐系统】相关论文-Part3
专知会员服务
57+阅读 · 2020年4月14日
近期必读的6篇AI顶会WWW2020【推荐系统】相关论文
专知会员服务
56+阅读 · 2020年2月25日
专知会员服务
85+阅读 · 2020年1月20日
【新书】Python中的经典计算机科学问题,224页pdf
专知会员服务
143+阅读 · 2019年12月28日
相关资讯
推荐系统之矩阵分解家族
图与推荐
13+阅读 · 2020年3月28日
基于深度交叉特征的推荐系统
微信AI
9+阅读 · 2019年2月1日
推荐系统中的矩阵分解技术
AINLP
9+阅读 · 2018年12月24日
【推荐系统】详解基于内容的推荐算法
产业智能官
23+阅读 · 2018年1月11日
【推荐系统】融合 MF 和 RNN 的电影推荐系统
产业智能官
23+阅读 · 2018年1月4日
推荐系统机器学习算法概览
论智
7+阅读 · 2017年12月14日
详解个性化推荐五大最常用算法
量子位
4+阅读 · 2017年7月8日
Top
微信扫码咨询专知VIP会员