论文|item2vec论文中值得细细品味的8个经典tricks和thinks

搜索与推荐Wiki 搜索与推荐Wiki     2022-10-21     245

关键词:

万物皆可Embedding系列会结合论文和实践经验进行介绍,前期主要集中在论文中,后期会加入实践经验和案例,目前已更新:

后续会持续更新Embedding相关的文章,欢迎持续关注「搜索与推荐Wiki


Item2vec:论文《Item2Vec:Neural Item Embedding for Collaborative Filtering》

来自于微软2016年发表在RecSys上的,因为word2vec和item2vec是在做推荐系统过程中比较常用的两个算法,所以该部分先介绍item2vec,然后再展开其他xxx2vec。

Item2vec其本质就是Word2vec中的skip-gram+Negative sampling(简称为SGNS),关于什么是SGNS可以参考之前介绍的word2vec篇幅的内容。

下面陈列一些从论文中可以学习到的经典的tricks

1、为什么选择的是SGNS而不是其它的组合

Item2vec为什么采用Skp-Gram + Negative Sampling这种组合呢?因为效果好,而在很多文章中也提到了SGNS这种组合下的实际业务提升要好一些(但并不能一刀切,只是说大多数业务场景下SGNS的效果好,但还是要视具体的情况而定)

2、实验场景的选择

对于这种item相似的算法,如何选择合适的实验场景呢?Item2vec论文中提到的是使用Windows10 App Store的「看了又看」推荐场景,即某个App的相似App推荐场景,这种场景下,对Item相似类算法进行是很合适的。

但是比如把item sim items加入到典型的「recall -> rank」场景中,其实达到的效果并没有那么好,但不能说不合适,这取决于截断的数目,即每个item取多少相似的item。因为在召回中并不会区分 item之间的顺序,比如top100,把100个item全部加到召回池中,并不会区分这100个item之间的顺序,这就会在一定程度上丢失掉这种相似的信息,极端情况下,假设我们的item总数为1000个,而召回时将item的相似item1000全部加入到召回池中,这种极端情况下就失去了个性化的意义。

因此选择一个合适的业务实验场景去评估我们的算法是极其重要的,否则得出的结论也没有什么说服力!

3、负采样不代表是均匀的随机负采样

均匀的随机负采样就代表采样时对所有的负样本采样的概率是一样的,但其实这是不符合实际的数据分布概率的。

因此论文中也使用到了一种非均匀的随机负采样技术,其表达式为:
p ( d i s c a r d | w ) = 1 − ρ f ( w ) p(discard | w) = 1- \\sqrt \\frac\\rhof(w) p(discardw)=1f(w)ρ
其中:

  • f ( w ) f(w) f(w) 表示的是 i t e m   w item \\,w itemw的频次
  • ρ \\rho ρ 表示是人为设定的参数,是一个经验值(论文中针对App Store数据集的设定值是 1 0 − 3 10^-3 103,音乐数据集设定值是 1 0 − 5 10^-5 105

4、Item2vec基于SGNS的改进点

其改进点为修改window size为set的长度,即从原来的定长变成了变长,其它的保持不变。

Item2vec丢失了集合中的时间和空间信息。

5、Item2vec的等效表达方法

论文中特意指出采用保持word2vec的SGNS不变,仅将set集合中的item进行随机的排序可以达到和Item2vec同样的效果,相关的实验也对此进行了佐证。

因此在很大程度上方面了 Item2vec的等效表达,即采样Word2vec的算法代码同意可以得到Item2vec中的Item的embedding表示。

6、基于Item Embedding计算相似性的实验思路

a)聚类数据可视化

依据embedding进行item聚类,并在二维空间中进行数据展示,观察效果。比如论文中使用的t-SNE进行可视化,如下图所示,(a) 为基于Item2vec产出的item embedding进行的聚类可视化,(b)为基于SVD产出的item vector进行的聚类可视化,肉眼可见(a)要比(b)的效果好很多。

b)top N item的类型一致性检验

首先基于KNN选取每个item的相似items,top N个,然后根据类型一致性检验统计top N中的一致性占比,继而进行对比分析。

在进行类型一致性检验时,这里选择了一些比较受欢迎的item,论文中关于「受欢迎」和「不受欢迎」的item定义方法为:如果一个item被用户交互次数少于15,则被认为是不受欢迎的。

实验结果如下图所示:

7、聚类可视化的分析和带给我的思考(精华)

在上边提到了使用聚类可视化进行item2vec的效果表达,论文中指出上图(a)中那些同色的簇类中被其它颜色簇类污染的item中,有很多是标签打错或者类型交叉引起的。

那么这里是否可以通过可视化和分析对作品的标签或者其它属性进行反馈和修正呢?比如说上标签打错的item反馈给运营,让运营进行评估和修正,然后继续使用类似的方法进行评估,再反馈修正,以此达到一个良性的循环,从而解决运营打标签,人工再校验的复杂流程和容易出错的问题。

欢迎留言探讨!

8、实验参数的学习

论文中提到了了Item2vec进行实验时的参数值,这也为我们在实际业务中进行相关尝试,提供了初始的、经验上的模型参数值。

  • 迭代次数:20
  • 负采样数:1:15
  • embedding维度:App数据集为40,Music数据集为100
  • 人工设定值 ρ \\rho ρ:App数据集为 1 0 − 3 10^-3 103,Music数据集为 1 0 − 5 10^-5 105

OK,以上就是从Item2vec论文中学习到的知识,希望对你有帮助!


【技术服务】详情点击查看: https://mp.weixin.qq.com/s/PtX9ukKRBmazAWARprGIAg


扫一扫关注「搜索与推荐Wiki」!号主「专注于搜索和推荐系统,以系列分享为主,持续打造精品内容!

论文|deepwalk的算法原理代码实现和应用说明(代码片段)

...万物皆可Vector之Word2vec:2个模型、2个优化及实战使用Item2vec中值得细细品味的8个经典tricks和thi 查看详情

论文|doc2vec的算法原理代码实现及应用启发(代码片段)

...万物皆可Vector之Word2vec:2个模型、2个优化及实战使用Item2vec中值得细细品味的8个经典tricks和thi 查看详情

论文|sentence2vec&glove算法原理推导与实​现

...万物皆可Vector之Word2vec:2个模型、2个优化及实战使用Item2vec中值得细细品味的8个经典tricks和thi 查看详情

论文|sentence2vec&glove算法原理推导与实​现

...万物皆可Vector之Word2vec:2个模型、2个优化及实战使用Item2vec中值得细细品味的8个经典tricks和thi 查看详情

论文|万物皆可vector之word2vec:2个模型2个优化及实战使用

...万物皆可Vector之Word2vec:2个模型、2个优化及实战使用Item2vec中值得细细品味的8个经典tricks和thi 查看详情

论文|deepwalk的算法原理代码实现和应用说明(代码片段)

...万物皆可Vector之Word2vec:2个模型、2个优化及实战使用Item2vec中值得细细品味的8个经典tricks和thinksSentence2Vec&GloVe算法原理、推导与实现Doc2vec的算法原理、代码实现及应用启发DeepWalk的算法原理、代码实现和应用说明后续会... 查看详情

一些值得细细品味的书籍

一,内功机器学习《贝叶斯思维:统计建模的Python学习法》密码学/数学《程序员密码学》《现代密码学–原理与协议》《思考的乐趣–Matrix67的数学笔记》计算机体系机构《深入理解计算机系统》 二,外功c/c++《EffectiveC... 查看详情

论文|doc2vec的算法原理代码实现及应用启发(代码片段)

...万物皆可Vector之Word2vec:2个模型、2个优化及实战使用Item2vec中值得细细品味的8个经典tricks和thinksDoc2vec的算法原理、代码实现及应用启发后续会持续更新Embedding相关的文章,欢迎持续关注「搜索与推荐Wiki」Doc2vec是Mikolov201... 查看详情

中国象棋《棋经论》及象棋布局歌诀,值得研究细细品味

中国象棋《棋经论》及象棋布局歌诀,值得研究、细细品味象棋博弈高手 2018-09-0520:38:29 《棋经论》夫弈棋者,要专心、绝虑,静算待敌,坦然无喜怒挂怀。大抵一局之中,千变万化。如车前马后,发炮逐卒;如电掣雷,... 查看详情

dnn论文分享-item2vec:neuralitemembeddingforcollaborativefiltering

前置点评:这篇文章比较朴素,创新性不高,基本是参照了google的word2vec方法,应用到推荐场景的i2i相似度计算中,但实际效果看还有有提升的。主要做法是把item视为word,用户的行为序列视为一个集合,item间的共现为正样本,... 查看详情

kddtop10论文:这些经典论文都在工业界有落地

本文将介绍KDD会议历年引用和落地性比较强的10篇论文,这些经典论文都在工业界有落地,非常值得学习。XGBoost:AScalableTreeBoostingSystemTianqiChen,CarlosGuestrin论文提出命名为XGBoost的可扩展端到端树提升系统,它被Kaggle和工... 查看详情

经典论文解读yolo目标检测

...和位置;它是通过归回的方式计算和优化边界框和类别。论文地址:Yo 查看详情

cvpr2022有什么值得关注的论文?

CVPR2022有什么值得关注的论文?知乎上的,值得一看! 查看详情

science论文:诺奖经济学家的经典决策模型,被ai挑战

在2019年DOTA2的顶级赛事TI8的正赛完成之后,OpenAI的人工智能战队与TI8的冠军OG举行了一场表演赛,在英雄阵容限定17个,部分道具和功能禁用的前提下,OpenAI以2:0完胜了OG,尤其值得一提的是第二场比赛仅... 查看详情

经典论文解读yolov3目标检测

前言YOLO是一种目标检测方法,它的输入是整张图片,输出是n个物体的检测信息,可以识别出图中的物体的类别和位置。YOLOv3相对v2版本,准确度和速度差不多,但对小目标检测更好。v3版本主要的改进是使用Darknet-53主干网络提... 查看详情

经典论文解读yolov2目标检测

前言YOLO是一种目标检测方法,它的输入是整张图片,输出是n个物体的检测信息,可以识别出图中的物体的类别和位置。YOLOv2相对v1版本,更准确,速度更快,识别对象更多。v2版本主要的改进是采用先验框AnchorBoxes、聚类提取先... 查看详情

分布式系统领域有哪些经典论文

...布式系统从上个世纪80年代就开始有了不少出色的研究和论文,我在这里只列举最近15年范围以内我觉得有重大影响意义的15篇论文(15within15)。1.TheGoogleFileSystem:这是分布式文件系 查看详情

经典论文解读yolov3目标检测

前言YOLO是一种目标检测方法,它的输入是整张图片,输出是n个物体的检测信息,可以识别出图中的物体的类别和位置。YOLOv3相对v2版本,准确度和速度差不多,但对小目标检测更好。v3版本主要的改进是使用Da... 查看详情