5.3 ‘User-free’ Model-based Approaches
在本章的开头,我们区分了基于Memory的推荐方法和基于Model 的推荐方法。粗略地说,基于Memory的方法使用用户和商品交互历史记录;基于Model 的方法通常将这些历史提取为用户和商品的低维向量表示。
在实践中,二者的边界比较模糊。下面我们研究两个模型, 他们学习如何用低维表示商品, 但是没有试图去表示用户。在推理时,预测是根据与用户交互历史中的商品进行的,用户本身并不与任何参数相关联。
出于几个原因,此类模型比较受欢迎。首先,避免用户项,直接利用交互历史可以使模型更容易部署:当用户和商品的交互数据更新以后, 模型不必更新。其次,当用户交互稀疏时,这种方法可能更有优势,这意味着我们可以拟合复杂的商品表示 。最后,当我们在第 7 章探索序列方法时,我们会发现用户的历史记录中可能有一些重要的信息(例如物品被消费的顺序),这些信息不会被用户表示的方法所捕获,此时基于无用户算法的模型会更加有效。
这章我们简单的看一些方法:
-
NK11 Sparse Linear Methods (SLIM):
每个用户都与一个线性模型相关联,对他们过去与商品的交互进行加权;用稀疏诱导正则化器处理大量模型参数。 -
K13 Factored Item Similarity Models (FISM): 将潜在 factor model 中代表用户的项替掉, 新使用的是交互历史中商品的表示的平均值。
5.3.1 Sparse Linear Methods (SLIM)
替换掉用户项 的一个最简单的办法就是用一个二元向量记录这个用户和商品的交互, 如果用户和商品 交互过, 对应的位置就是1, 否则就是0。 可以想象, 该向量长度应该就是商品的数量,为了预测用户 和商品的关系,我们可以对 个产品对应的参数建模:
image.png这里 是一个稀疏向量, 代表了该用户和所有商品的交互。 代表了商品 和所有商品的相似度。
(5.34)比较难以求解, 因为一般商品数量都很多,这会导致两个向量的维度都很高(上百万维). (Slim: Sparse linear methods for top-n recommender systems. In: International Conference on Data Mining, 2011) 提出了一个方法:由于用户只和少量的商品有过交互,如果只对用户交互过的商品进行建模, 那么模型就会小很多:
image.png其中 是一个维度为 的矩阵, 存储了每两个物品之间的相似度。
从概念上说, SLIM 方法非常类似我们在第四章讨论的方法:利用商品的相似度和用户对部分商品的评分, 使用加权平均值作为用户对某个商品的评价的预测。 SLIM 不过是用矩阵 来表示物品之间的相似度。
代表了商品之间的相似度, 可以想象, 每个网站的商品会非常多, 可能上亿或者十亿。 那么 就会是一个非常大的矩阵, 如果 是一个高密度矩阵(0元素的密度比较小), 那么会给计算带来很大的压力。 为了得到一个尽可能稀疏的 我们可以求助 Regulization, 这里我们同时利用 和 。 对于 5.35 的, 给出的 Clost Fucntion 如下:
image.png- 只是一种矩阵形式的速记,表示利用5.35 的方法计算的所有的 (u, i) 的值。
- 约束1: : 所有 的参数必须是正数
- 约束2: : 只计算商品和其他商品的相似度
- : 一阶范数惩罚项,
- : 二阶范数惩罚项,
( Slim: Sparse linear methods for top-n recommender systems. In: International Conference on Data Mining, 2011) 讨论了 SLIM 的各种优点
- 比其他推荐系统的inference的时间,就是说它可以在最快的时间内给出结果。
- 长尾性能更好: 有些算法(Latent factor approaches) 的参数会被一些热门商品主导,因而在一些冷商品上表现不好。 而SLIM 对于一些长尾商品, 依然保持了很好的性能。
5.3.2 Factored Item Similarity Models (FISM)
( FISM: Factored item similarity models for top-n recommender systems, 2013)在 latent factor 模型中(利用 5.10), 使用一个代表用户和商品的交互的聚合向量来替换用户项 。
image.png替换了 以后,形式为:
image.png- : 和用户 发生了关系的物品集合
- : average user actions [作者也没有给出解释,想知道详情可能得看原始论文]
项承担了 的功能。 由于同时存在 和 , 这意味着, 对于每个商品, 这个模型都要生产2组 latent factor。
( FISM: Factored item similarity models for top-n recommender systems, 2013) 中使用了各种 (5.37) 的变形式来进行评价预测和排序。 文中提到, 这个FISM 对于稀疏数据集特别适用。 传统 latent factor model,很难为只有少量交互的用户有意义地拟合 ;而如果交互历史更密集,才可以通过对商品项进行平均来合理估计用户偏好。事实上,Kabbur 等人的实验。 (2013) 表明,FISM 优势与数据集稀疏性密切相关。
5.3.3 其他方法
本章到目前为止,只介绍了2种 User Free 的方法, 在剩下的章节中我们还会接触一些更加复杂的User Free 方法。它们会涉及深度学习,序列 和文本。 这里我们先简单看一下:
AutoRec
AutoRec 是以 autoencoder 为基础的推荐系统(autoencoder-based recommendation model)( Autorec: Autoencoders meet collaborative filtering. 2015). 从原理上说,它和 FISM 很像: 也是利用用户和商品的交互历史来表示用户本事。主要区别在于: autoencoder 框架允许使用各种非线性的运算。
Item2vec
(fastfm: A library for factorization machines, 2016) 收到了NLP 中 word2vec 的启发。 word2vec 从训练数据中找到每个 word 的向量化表示方法。 而Item2vec 则是利用用户和物品的交互数据,寻找每个Item 的向量化表示方法。
Sequential models
大部分基于 NLP 的序列模型(会在第七章讨论)都是 user-free 的。 类似item2vec, 这类模型都吸取了 NLP 的设计思想。 他们把商品看成 NLP 中的 'token', 利用模型预测下一个可能出现的token。 整个模型中并不会出现用户的概念, 实际上"用户" 的概念是作为模型的隐藏特征来处理的。
网友评论