Keras深度学习实战——推荐系统数据编码
0. 前言
在《自编码器详解》中,我们介绍了数据编码的必要性,同时以图像编码为例实现了自编码器 (AutoEncoder
) 及其多种变体。推荐系统是利用客户和商品信息,根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。在本节中,我们将在电影评价相关的数据集中对用户和电影进行编码。
1. 推荐系统数据编码的必要性
为了了解推荐系统中数据编码的必要性,我们考虑对用户进行电影推荐的应用场景。与文本分析类似,如果我们要对每部电影/用户进行独热编码,由于有成千上万部电影,则最终将为每部电影提供一个数千维的向量编码。
根据用户的观看习惯以较低的维度对用户进行编码,从而可以根据电影的相似性对电影进行分组,这将帮助我们挖掘用户更可能需要观看的电影。类似的思想也可以应用于电子商务推荐系统,以及向超市中的顾客推荐产品。
2. 推荐系统数据编码
在本文中,我们主要考虑对用户进行电影推荐的应用场景,在此类数据库中可能有数以百万计的用户和有成千上万的电影,我们无法对数据进行独热编码。在这种情况下,数据编码便会派上用场。推荐系统编码中使用的最流行的技术之一是矩阵分解。接下来,我们将了解其工作原理并为用户和电影生成嵌入。
2.1 在推荐系统中对用户和电影进行编码
对用户和电影进行编码的原理如下:在考虑用户对不同电影的偏好方面,如果两个用户喜欢的电影相似,则表示两个用户编码向量应该同样是相似的,按照同样的