推荐系统论文阅读(一)

ITEM2VEC: NEURAL ITEM EMBEDDING FOR COLLABORATIVE FILTERING

Summary

本文对NLP中的Skip-gram with Negative Sampling(SGNS)方法做了极小的修改来推断推荐系统中item-item的关系(在user信息不可利用的情况下).并且将该方法(Item2Vec)与传统的SVD方法进行了比较。

什么是Item-based similarities:
就是只考虑Item与Item之间的相似度。常见的一些推荐系统算法主要是同时学习User-Item的低维嵌入,计算item similarities 是它的一部分.

Item-based similarities 常被用于网上零售业的推荐,基于单个item,给出一串相似的item。文中举例Windows 10App Store,在每个app或游戏的页面下包括了一系列与之相似的其他apps,标题为”People also like”.

Single item ecommendations基于item similarities 有较高的Click-Through Rates(CTR)相比于user-to-item recommendations.

Item similarities 也是旨在直接从item-item 关系中学习表达的item-based CF 算法的核心。有许多情况要用到item-based CF方法。在一个大规模的数据集里,当用户的数量大大大于item数量时,只讨论item的方法的计算复杂度比同时考虑user和item的方法的复杂度低很多.

Skip-gram withe nagative sampling(SGNS)简介

SGNS方法是一种neural word embedding 方法.该方法旨在找到单词的表达(word representation——一个单词和句子中在其周围的单词们的关系)。

给定一个单词序列$(w_i)_ {i=1}^K$,都来源于一个有限的单词表W=$\{w_i\}_i^W$,Skip-gram目标函数旨在最大化下式:

其中c是上下文窗口大小(取决于$w_i$),并且$p(w_j|w_i)$是softmax函数形式:

其中$u_i∈U(\subset R^m)$并且$v_i∈V(\subset R^m)$是潜向量,它分别对应于单词$w_i$的目标表示和上下文表示.$I_W={1,…,|W|}$并且参数m由经验选择并且依据数据集的大小.

直接使用等式(2)是不切实际的由于$▽p(w_j|w_i)$的计算复杂度是单词表大小|W|的线性函数(大小是$10^5-10^6$).

Negaitive sampling用来克服上述提到的计算问题通过用下式替换上述的Softmax函数.

其中$\sigma(x)=1/1+exp(-x)$,N是参数决定每个正样例所需的负样例的个数.负样例单词$w_i$从unigram分布的3/4幂中采样.

为了克服稀有和频繁单词的不平衡问题,下列上采样步骤被提出:给定输入单词序列,我们以概率$p(discard|w)=1-\sqrt{\frac{\rho}{f(w)}}$抛弃每个单词w,其中f(w)是单词w的频率$\rho$是规定的阈值.
该过程可以加速学习过程并显着改善罕见词的表达.

最后,U和V被估计通过对目标函数(等式1)应用SGD.

Item2Vec——SGNS for item similarity

将SGNS应用到item-based CF.SGNS的用到CF数据中,一系列单词等价于item的集合.因此,后面会出现word和item交替使用.

通过将序列变成集合,空间/时间信息将丢失.我们选择丢弃这些信息,因为在本文中,我们假定一个静态环境(在这里的拥有相同集合的item被认为是相似的,不管它们的生成顺序/时间是什么样的.)

因为我们忽视了空间信息,所以我们认为每一对拥有相同集合的item是正例.这表明一个窗口大小由集合大小决定.特别地,对于一个给定的item集合,目标函数等式(1)修改如下:

另一种选择是维持等式(1)的目标函数不变,并且在运行期间随机排列每个items集合.在文中的实验中,作者发现两种选择的效果一样.

剩余的处理过程等价于前面那一节介绍的.我们称该方法为item2vec。

在该项工作中,用$u_i$表示第i项的最终的表达,并且用cos相似度来计算一对item的密切程度.其他的选项有用$v_i,相加合成$u_i+v_i$或合并$[u_i^T \v_i^T]^T$来作为最终的表达.注意:最后两个选项有时产生较好的表达.

实验结果

pic1
对item2vec(a)和SVD(b)产生的item向量用t-SNE embedding.

pic2
Table2列出了k = 8的结果。我们观察到item2vec始终优于SVD模型,其中两者之间的差距随着q的增加而不断增长。这可能意味着item2vec为不受欢迎的item产生了比由SVD生成的item更好的表示,这不足为奇,因为item2vec对热门项目进行子样本并根据其受欢迎程度对负面示例进行抽样。
pic3
pic4

conclusion

In this paper, we proposed item2vec - a neural embedding algorithm for item-based collaborative filtering. item2vec is based on SGNS with minor modifications.

-------------本文结束感谢您的阅读-------------