论文笔记|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

ITEM2VEC: NEURAL ITEM EMBEDDING FOR COLLABORATIVE FILTERING

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

深度学习环境搭建:CUDA、Anaconda、PyTorch 完整安装与验证教程

步骤操作验证命令1安装 CUDA 工具包nvcc -V2安装 Anaconda3创建 yolo 环境4安装 PyTorch5验证 GPU。

qq_37606844的博客 320

大数据工程中的多模态数据处理技术

模态”(Modality)指的是数据的表现形式文本(Text):新闻、评论、文案等;图像(Image):照片、截图、医学影像等;音频(Audio):语音、音乐、环境声音等;视频(Video):短视频、监控视频、电影等(本质是图像+音频的组合);数值/结构化数据(Numerical/Structured):用户年龄、商品价格、传感器数据等;时间序列(Time Series):股票价格、物流轨迹、心率数据等。多模态数据(Multimodal Data)是指包含两种或以上模态的数据集。

AI云原生与云计算技术学院 1269

Win11上WSL2安装Ubuntu22.04避坑指南:从镜像源到C++环境配置

本文详细介绍了在Win11系统上安装和配置WSL2及Ubuntu22.04开发环境的完整流程与避坑指南。内容涵盖从解决网络安装错误、更换国内镜像源以加速软件更新,到一站式配置C++开发工具链(包括GCC、GDB、CMake等),并提供了提升WSL2使用体验的实用技巧和故障排除方法,帮助开发者高效搭建稳定的Linux开发环境。

weixin_29306261的博客 474

快充协议全兼容!HUSB390对比测试:iPhone/小米/华为哪个充电最快?

本文深入评测了HUSB390快充协议芯片的全兼容性能,展示了其在iPhone、小米和华为设备上的极速充电表现。通过智能功率分配算法和多协议并行处理引擎,HUSB390实现了高效的动态调压和温度控制,显著提升多设备充电效率。特别适合需要同时为不同品牌设备快充的用户。

dd012的博客 1万+

安卓刷Windows太难?这款手机平板双系统刷机工具,小白也能轻松拿捏!(小白福音!手机平板专用,一键搞定安卓刷 Windows 双系统!)

安卓刷Windows太难?这款手机平板双系统刷机工具,小白也能轻松拿捏!(小白福音!手机平板专用,一键搞定安卓刷 Windows 双系统!)

XiaoqiangClub的博客 4671

OpenLayers6入门,快速搭建Vue+OpenLayers地图脚手架项目

本章针对Vue初学者,对Vue不熟悉,甚至还不会Vue的入门学生读者。本章会详细讲解从环境到环境的各个步骤,再到使用脚手架快速生成项目,以及添加地图库依赖,编写简单的高德地图显示页面的。如果已有VUE项目或者熟悉VUE的读者可以不用看本章,直接添加ol依赖到VUE项目中即可。

GIS技术方向,GIS地图技术分享(GIS入门、Openlayers教程、Leaflet教程),做最好的GIS地图开发教程。关注博主公众号:eguid 5440

【Bluetooth蓝牙开发】一、开篇词 | 打造全网最详细的Bluetooth开发教程

1、开篇词 2、蓝牙开发入门 3、蓝牙协议栈总览 4、蓝牙协议栈——物理层 5、蓝牙协议栈——链路层 6、蓝牙协议栈——传输层 7、蓝牙协议栈——L2CAP协议 8、蓝牙协议栈——ATT协议 9、蓝牙协议栈——GATT协议 10、蓝牙通信流程分析 11、蓝牙协议栈——Bluez交叉编译 12、蓝牙调试工具汇总

Donge's Blog 1万+

vue2 - 详细实现播放AMR格式音频并实现自定义播放器样式,支持amr音频文件在线地址URL播放、调用服务端API接口获取二进制文件流amr形式、用户本地上传amr文件并实现立即播放(详细代码)

vue2,amr,amr文件播放,vue播放amr音频文件以及在线url跨域问题解决,vue使用audio标签播放amr音频,amr跨域解决,amr网页解码播放,文件上传后怎么播放,vue2播放.amr语音文件,api接口形式调用获取的amr如何播放,vue中如何使用audio元素播放AMR格式的文件,进度条,vue前端如何播放AMR格式的音频文件,vue播放语音文件AMR格式,播放amr格式音频AMR录音机,h5原生audio播放amr格式的音频,VUE2使用benz-amr-recorder 实现解码、

✅ 精选推荐文章 7414

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IDEA的使用指南

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

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 论文笔记|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、付费专栏及课程。

余额充值