1 前言
我们浏览在各个平台时会发现"为你推荐"功能。比如YouTube推荐爱看的视频,音乐软件为你提供你可能喜欢的音乐等。其实这一功能的背后涉及的原理就是人工智能的推荐系统。今天我们将介绍TensorFlow推荐系统模型的库——TensorFlow Recommenders(TFRS)[1]。
对TensorFlow感兴趣的朋友们,还可以回顾我们之前相关的文章:
2 推荐原理
这里我们用电影推荐的例子来讲解推荐系统的原理。
对于现有的四个用户和五部类型不同的电影,首先,我们需要创建用户画像和定义电影类别,这一步是为了区分数据,将现实特征转化为可计算的变量。对于现有的用户数据和电影数据,我们如何给用户D推荐她可能喜欢的电影呢?

如下图所示,这里我们为用户和电影两个变量各自创建两个维度的矩阵。对于用户,我们将定义是否偏爱儿童电影(-1表示很喜欢儿童电影,1则相反)和是否偏爱火爆电影(1表示很喜欢火爆电影,-1相反);对于电影,这里定义是否是儿童电影(-1表示儿童电影,1则表示非儿童电影)和是否是火爆电影(1表示火爆电影,-1则反然)。
可以看出,用户A很喜欢看儿童且火爆的电影,这就是基于两个维度的User Embedding;而《怪物史莱克》在这里被定义为儿童且火爆的电影,这一过程就是Movie Embedding。值得一提的是,在搭建模型时,Embedding的维度不只是二维的,往往是多维的矩阵来表示变量。

接下来,用矩阵分解进行协同过滤计算预测的反馈矩阵。如下图所示,U代表用户矩阵,V代表电影候选条目的矩阵,计算的A值就是预测的反馈值。所以协同过滤就是依据用户和候选条目之间的相似度来进行推荐。

在使用矩阵分解进行协同过滤时,为了减少目标函数的预测误差,官方解释使用随机梯度下降Stochastic Gradient Descent(SGD)或加权交替最小平方算法Weighted Alternating Least Squares(WALS)两种方式。
值得一提的是,WALS是专门解决推荐系统而创建的新算法,与前者不同,
TensorFlow推荐系统入门教程

本文介绍了TensorFlow推荐系统模型库TensorFlow Recommenders(TFRS),通过电影推荐的示例解析推荐原理,包括矩阵分解和协同过滤。还展示了源码实现,包括信息检索阶段的查询和候选模型,并提供了训练和评估模型的步骤。最后鼓励读者尝试将这些模型应用到实际项目中。
最低0.47元/天 解锁文章
1732

被折叠的 条评论
为什么被折叠?



