第9章 用TensorFlow构建推荐系统

推荐系统(recommender system)是基于用户与系统的历史交互信息,为用户提供个性化建议的一类算法。经典的例子是,亚马逊公司和其他电子商务网站上“买了物品X的用户也买了物品Y”的推荐。

过去几年,推荐系统显现出重要的意义:在线网站的推荐(recommendation)做得越好,收益可能就越多。这个意义越来越明显。这也是为什么今天的网站几乎都有个性化推荐模块。

在本章中,我们将用TensorFlow构建推荐系统。

本章主要包括如下内容:

  • 推荐系统基础;
  • 推荐系统的矩阵分解;
  • 基于循环神经网络的高级推荐系统。

学完本章,你将了解为训练推荐系统而准备数据的方法,能用TensorFlow构建自己的模型,并能对这些模型进行简单的评估。

推荐系统的任务是获取所有可能选项的列表,并根据具体用户的偏好对列表进行排序以形成有序列表。这个有序列表就是一个个性化的排序列表,即推荐

例如,一个购物网站会设计一个推荐区域,可供用户在其中看到相关物品并决定是否购买;售卖音乐会的门票的网站会推荐有趣的表演;在线音乐播放器会推荐用户可能喜欢的歌曲;在线课程的网站会推荐与用户已完成课程类似的课程,如图9-1所示。

推荐通常会基于历史数据[用户过去的交易历史、页面(或物品)访问历史以及单击操作]进行。因此,推荐系统会利用历史数据和机器学习从用户行为中提取模式,并基于此给出最优推荐。

企业对于尽可能给出最优推荐很感兴趣,这通常会改善用户的体验,而企业也会因此获得更多的收入。如果我们向用户推荐一个他以前从未注意到的物品,而用户也购买了它,那么这意味着我们不仅让用户满意了,还卖出了一个可能滞销的物品。

图9-1

本章旨在用TensorFlow实现推荐系统。我们首先会介绍经典算法,然后继续尝试基于RNN和LSTM的复杂模型。对于每一个模型,我们会先给出简要介绍,然后在TensorFlow中实现该模型。 ...

Get TensorFlow深度学习项目实战 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.