论文笔记|ITEM2VEC: NEURAL ITEM EMBEDDING FOR COLLABORATIVE FILTERING

基于物品到向量的词嵌入神经网络协同过滤推荐系统算法研究_Item2vec: Neural Item Embedding for Collaborative Filtering 协同过滤(CF)算法都是基于项目的,因为它们分析项目项目关系,以产生项目相似性。最近,自然语言处理领域的一些工作建议使用神经嵌入算法来学习单词的潜在表示。其中,负抽样的跳跃图(SGNS),也称为Word2Vec,被证明在各种语言任务上提供了最先进的结果。在本文中,我们证明了基于项目的CF可以在相同的神经词嵌入框架中进行强制转换。受SGNS的启发,我们描述了一种我们命名为Item2Vec的方法,该方法为潜在空间中的项目产生嵌入。即使用户信息不可用,该方法也能够推断项目到项关系。我们在大规模数据集上进行 阅读详情

前两天在朋友圈看到学弟发的一个图,巨佬学习是hash,大佬学习是遍历,我学习是无穷递归,今天才发现诚不我欺。早上决定将YouTube 16年在RecSys那篇经典的文章学习一下,结果看到Negative Sample就看不懂了,然后在知乎查了一下,又在大佬的指引下找ICML 2016的这篇文章学习一下。
推荐系统最经典的算法是基于用户相似度的推荐算法u2u,称为memory-based,和基于物品相似度的推荐算法i2i,称为model-based。而在深度学习加入后,NLP中embedding的方法在推荐系统算法中发挥了较好的效果。

word2vec

在NLP中,word2vec可以说是最知名的word embedding算法。
词向量最早采用one-hot编码,也称为1-of-N表示,即在长向量中仅有该词对应的那一维值为1,其余维度皆为0。向量的长度与词库大小相关,通常达百万级别(推荐系统中物品资料也是如此),因此向量相似度的计算复杂度十分高昂。Dristributed representation解决了one-hot的这一问题,其通过训练,将高维稀疏向量映射到低维稠密向量空间(值为float),之后再采取相应的相似度计算。但是,如何保证词向量之间的关系不变,是模型的关键所在。在NLP中,认为词的含义与其上下文信息相关,若两个词的上下文信息相似,则认定这两个词相似。
那如何用DNN训练这一模型呢?一般分为CBOW(Continuous Bag-of-Words)与Skip-Gram两种模型。其中,CBOW是输入某一词上下文中词的词向量,输出该词的词向量。设定词袋大小后,输入维度是确定的。经过隐藏层的非线性变换后,输出层(softmax层)的长度与词库的长度相同,计算每个词的softmax概率,通过反向传播优化模型参数。最终可以得任意词的one-hot编码到Dristributed representation的变换模型。
与CBOW相似,Skip-Gram模型是反着来的,即输入一个词向量,输出中选取softmax值最高的2N个值对应于与该词对应的上下文中2N个词。
这两个模型是完全可行的,但是由于庞大的词库,该模型训练的复杂度十分高,比如计算数百万个softmax值。针对这一问题,word2vec做了相应的优化。首先,word2vec也采用了CBOW和Skip-Gram的方式训练模型得到词向量,但是并没有采用简单的DNN模型。结构方面,隐藏层、输出层的神经元用霍夫曼树代替,霍夫曼树的叶子节点起到输出层神经元作用,内部节点起到隐藏层神经元作用。众所周知,将节点构建霍夫曼树后,权重高的叶子节点离根节点更近,霍夫曼编码更短。在word2vec中,左子树编码为1,右子树编码为0。
对于DNN模型的优化,word2vec有基于Hierarchical Softmax和基于Negative Sampling两种优化方式。在基于Hierarchical Softmax的模型中,输入层到隐藏层没有采用线性变换加激活函数的方式,而是对所有输入词向量求和取平均,得到一个词向量(此部分对应于CBOW中的2N个词向量拼接)。根据词库中各词在训练数据中的出现频率作为权值,建立霍夫曼树,则每个词可得到一个霍夫曼编码。假设one-hot编码长为M,则共有M-1个非叶节点,每个叶节点代表一长为M-1的参数 θ \theta θ。从根节点,每分裂一次相当于做一次二分类,左负右正,按照sigmoid函数计算是正类的概率。对于每个训练样本,按照最大似然方法,从根节点到该叶路线上所有节点处概率值乘积作为最终概率
L ( θ , x ) = l o g ∏ j = 2 ( σ ( x w T θ j − 1 w ) ) 1 − d j w ( 1 − σ ( x w T θ j − 1 w ) ) d j w L(\theta,x)=log\prod_{j=2}(\sigma(x_w^T\theta_{j-1}^w))^{1-d_j^w}(1-\sigma(x_w^T\theta_{j-1}^w))^{d_j^w} L(θ,x)=logj=2∏​(σ(xwT​θj−1w​))1−djw​(1−σ(x

推荐系统——Item2vec 一、背景 推荐系统中,传统的CF算法都是利用 item2item 关系计算商品间相似性。i2i数据在业界的推荐系统中起着非常重要的作用。传统的i2i的主要计算方法分两类,memory-based和model-based。 本文主要介绍了microsoft和airbnb两大公司如何将embedding技术应用于推荐/搜索业务。实践证明,embedding技术对于工业场景来说有着很大的价值和应用前景。 首先先了解一下word2vec,不太清楚朋友可以转补到 NLP–Word2Vec详解 二. Item Embe 阅读详情

相关推荐

(十九)从零开始学人工智能-智能推荐系统:深度学习家族

推荐系统系列之三:深度学习家族 1. MLP 来源出处: He, Xiangnan, et al. “Neural collaborative filtering.” Proceedings of the 26th international conference on world wide web. 2017. 目标函数: L=−∑(u,i)∈Ology^u,i−∑(u,j)∈O−log(1...

weixin_45552760的博客 847

达观数据推荐算法实现:协同过滤之item embedding

推荐系统本质是在用户需求不明确的情况下,解决信息过载的问题,联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢(这里的信息的含义可以非常广泛,比如咨询、电影和商品等,下文中统称为item)。达观数据相关推荐是达观推荐系统中的重要组成部分,其价值在于,在没有用户画像信息的情况下,也能给用户以好的推荐体验,比如资讯类...

csdn_Jacklu的博客 3838

推荐系统User-Item Embedding图算法

在做推荐算法任务时,在(user, item)的交互数据集中进行建模是常见的方式,本文基于GNN对User侧和Item侧进行embedding的思路,介绍3篇相关论文。这三篇文章分别来自SIGIR 2019,2020,2021。 本文主要解决传统协同过滤算法,因为缺少对user-item交互数据中的协同信息(Collaborative Signal)较好的编码方式,从而无法很好的学到Embeddi...

炼丹笔记 2185

ITEM2VEC: NEURAL ITEM EMBEDDING FOR COLLABORATIVE FILTERING

微软研究人员发表的一篇关于将word2vec模型应用到协同过滤中的Items集合中,来计算items的向量化表示的论文。

Angular 相关的知识点和项目汇总

Angular 知识点和项目汇总

weixin_45428910的博客 577

从特斯拉到蔚来:拆解主流智能汽车的车联网架构,看它们如何实现‘车、路、云’协同

本文深度解析了特斯拉、蔚来等主流智能汽车的车联网架构,详细拆解了其‘车、路、云’协同的技术实现。从车内网络、车际通信到云端协同,分析了通信技术、系统架构等关键技术选择,揭示了不同厂商如何通过差异化布局构建竞争优势。

weixin_42525289的博客 580

【中软软件测试笔试题】中国软件与技术服务股份有限公司笔试一卷

请分别写出ISO7层架构,并分别说明TCP、UDP协议分别在处于哪一层,以及TCP、 UPD协议有什么区别。 答:7 应用层 6 表示层 5 会话层 4 传输层 3网络层 2 数据链路层 1 物理层 第四层;UDP是面向无连接、不可靠数据传输协议; TCP是面向连接、可靠数据传输协议......

Yanan990830的博客 1815

Bean named‘ddlApplicationRunner‘is expected to be of type ‘org.springframework.boot.Runner‘

springboot3.1.7整合mybatisplus3.5.3.2版本报错,sringboot3.x整合myabtis报错

雾林小妖的博客 1万+

Python爬虫实战:逆向解析腾讯视频API,高效获取结构化视频信息

首先,我们定义期望获取的数据结构,这有助于数据验证和代码清晰度。python"""腾讯视频信息数据模型"""title: str = Field(..., description="视频标题")vid: str = Field(..., description="视频唯一ID")play_count: Optional[int] = Field(None, description="播放量")

2201_76125261的博客 2379

第29章:PCL PrincipalCurvatures 曲率估计

PrincipalCurvatures(主曲率估计)是一种用于计算点云表面曲率的算法。曲率描述了曲面局部的弯曲程度,是表面几何特征的重要指标。在点云处理中,估计表面的曲率对于形状分析、物体识别、表面重建等任务非常重要。主曲率是曲面上某一点的最大和最小曲率方向。通过计算点云的主曲率,我们可以获得点云中每个点的局部形状特征。通常情况下,主曲率包括两个主要参数:最大主曲率(最大曲率方向上的曲率)和最小主曲率(最小曲率方向上的曲率)。优点缺点提供了对点云表面局部形状的深入分析。

yumeiguo的博客 213

MATLAB基础应用精讲-【强化学习】Actor - Critic 算法(附python代码实现)

这种架构结合了策略梯度方法(Policy - Gradient Methods)和价值函数估计方法(Value Function Estimation Methods)的优点。在强化学习中,智能体(Agent)需要通过与环境(Environment)的交互来学习最优的行为策略,以获得最大的累积奖励(Cumulative Reward)。

qq_36130719的博客 362

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: 论文笔记|Wide & Deep Learning for Recommender Systems
下一篇: 论文笔记|Deep Neural Networks for YouTube Recommendations
Lyteins
博客等级 码龄11年 3粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值