推荐系统
文章平均质量分 92
主要讲讲推荐系统架构及大数据相关知识
蜜桃上的小叮当
最近更新spark方面知识,记得关注
展开
-
推荐系统经典模型YouTubeDNN代码
上一篇讲到过YouTubeDNN论文部分内容,但是没有代码部分。最近网上教学视频里看到一段关于YouTubeDNN召回算法的代码,现在我分享一下给大家参考看一下,并附上一些我对代码的理解。代码中提到的离散特征和变长特征该如何选择?答:首先我们要理解一下什么事离散特征,什么是变长特征?离散特征:是指具有有限取值或离散类别的特征,例如性别、国家、城市等(用户画像信息)。对于离散特征,可以使用embedding来将其映射到低维连续向量空间中。这使得模型能够学习离散特征之间的相关性和交互关系。原创 2024-02-29 22:37:33 · 957 阅读 · 0 评论 -
推荐系统经典模型YouTubeDNN
我们可以把召回模型的结构分为三层。输入层:输入层总共有四种特征。用户看过视频的 Embedding(embedded video watches)用户搜索的关键词的 Embedding 向量(embedded search tokens)用户所在的地理位置的特征(geographic embedding)适用于冷启动用户基本特征(example age, gender)原创 2024-02-23 17:32:48 · 1319 阅读 · 0 评论 -
基于Embedding召回和DSSM双塔模型
基于embedding的召回是从内容文本信息和用户查询的角度出发,利用预训练的词向量模型或深度学习模型,将文本信息转换成向量进行表示,通过计算两个向量之间的距离或者相似度来推荐内容。这种方式主要考虑商品文本信息的语义信息,使推荐的内容更加精准。Embedding召回主要的优缺点扩展性强:基于 Embedding 的召回算法可以学习大规模物品或用户的向量表示,因此对于超大规模推荐系统也可以进行有效召回。表达能力强。原创 2024-02-22 18:50:22 · 828 阅读 · 0 评论 -
推荐系统强化学习DRN
文章目录强化学习的基本概念强化学习推荐系统框架强化学习推荐模型的特点深度强化学习推荐模型中的DQNDRN的学习过程DRN竞争梯度下降算法强化学习的基本概念强化学习的基本概念就是一个智能体通过与环境进行交互,不断学习强化自己的智力,来指导自己的下一步行动,以取得最大化的预期利益。强化学习框架的六大要素智能体(Agent):强化学习的主体也就是作出决定的“大脑”;环境(Environment):智能体所在的环境,智能体交互的对象;行动(Action):由智能体做出的行动;奖励(Rewar原创 2022-04-24 16:11:01 · 2068 阅读 · 0 评论 -
推荐系统模型训练中的注意力机制
文章目录注意力机制深度兴趣网络DIN兴趣进化序列模型DIEN注意力机制注意力机制来源于人类天生的“选择性注意”的习惯,我们使用注意力机制就是要让机器也有用和人类一样的选择性注意的习惯。注意力机制对我们构建推荐模型的价值非常大,比如在构建新闻类推荐模型模型,根据用户已经看过的新闻做推荐。那我们在分析用户已浏览新闻的时候,需要根据用户的注意力不同给予不同的权重。因为用户很可能都没有注意到正文最后的几段,如果你分析内容的时候把最后几段跟标题、首段一视同仁,那肯定就把最重要的信息给淹没了。深度兴趣网络D原创 2022-04-19 18:03:32 · 1666 阅读 · 0 评论 -
推荐系统模型训练DeepFM算法
文章目录深度学习模型需要加强处理特征交叉的能力传统的机器学习模型FM深度学习模型DeepFM特征交叉新方法:元素积操作DeepFM的TensorFlow实现深度学习模型需要加强处理特征交叉的能力传统的Embedding MLP和Wide&Deep模型都没有针对性的处理特征交叉问题。虽然MLP有拟合任意函数的能力,但这是建立在MLP有任意多层网络,以及任意多个神经元的前提下的。因为在训练资源有限,调参时间有限的现实情况下,MLP对于特征交叉的处理其实还比较低效。MLP是通过concatenat原创 2022-04-15 17:57:50 · 1156 阅读 · 0 评论 -
推荐系统协同过滤升级版NeuralCF
文章目录协同过滤与NeuralCFNeuralCF模型的结构NeuralCF双塔模型协同过滤与NeuralCF协同过滤是推荐算法中最经典的,但是随着技术的发展,协同过滤相比深度学习模型的弊端就日益显现出来了,因为它是通过直接利用非常稀疏的共现矩阵进行预测的,所以模型的泛化能力非常弱,遇到历史行为非常少的用户,就没法产生准确的推荐结果了。虽然可以通过矩阵分解算法可以提高泛化能力。但是矩阵分解中的计算主要是以内积的方式对用户及物品向量进行交叉计算,所以拟合能力较弱。2017 年,新加坡国立的研究者就使用原创 2022-04-14 17:56:13 · 685 阅读 · 0 评论 -
推荐系统Wide&Deep模型
文章目录Wide&Deep模型的结构Wide&Deep模型结构图模型的记忆能力模型的泛化能力Wide&Deep模型的应用场景Wide&Deep模型的TensorFlow实现Wide&Deep模型的结构Wide&Deep模型结构图Wide&Deep是Google提出的在业界有着巨大影响力的推荐模型。模型结构图如下:上图的左侧为Wide部分,它的结构简单,就是把输入层直接连接到输出层,中间没有做任何处理。上图右侧为Deep部分,它的结构稍复杂原创 2022-04-12 15:29:21 · 917 阅读 · 0 评论 -
推荐系统如何用TensorFlow实现经典的深度学习模型(Embedding+MLP)
文章目录Embedding+MLP模型的结构最经典的模型Deep CrossingEmbedding+MLP模型的实战特征选择和模型设计基于TensorFlow的模型实现Embedding+MLP模型的结构MLP(Multilayer Perceptron)是多层感知机的缩写。感知机是神经元的另外一种叫法,所以多层感知机就是多层神经网络。最经典的模型Deep Crossing微软在2016年提出的深度学习模型Deep Crossing,将其应用于广告推荐这个业务场景。它是一个经典的Embedd原创 2022-04-07 17:53:31 · 1571 阅读 · 0 评论 -
推荐系统模型特征及训练样本处理
文章目录Spark处理特征和样本优势物品和用户特征最终的训练样本Spark处理特征和样本优势既然选择用Tensorflow框架进行模型训练,为什么不用Tensorflow处理特征和样本呢?答:Spark的专长就是数据处理,而Tensorflow不擅长分布式的并行数据处理,在并行数据处理能力上远不及成百上千节点的Spark的。在面对海量数据的时候,利用Spark进行数据清洗、数据预处理、特征提取的话,可以为Tensorflow减轻负担。物品和用户特征MovieLens数据集中,可供我们提取特征的原创 2022-03-30 16:43:49 · 3992 阅读 · 2 评论 -
推荐系统深度学习推荐模型整体脉络
文章目录深度学习对推荐系统的影响深度学习模型的强拟合能力深度学习模型结构的灵活性深度学习推荐模型的演化深度学习对推荐系统的影响深度学习给推荐系统带来了革命性的影响,能够显著提升推荐系统的效果,原因主要有两点,一是深度学习极大地增强了推荐模型的拟合能力,二是深度学习模型可以利用模型结构模拟用户兴趣的变迁、用户注意力机制等不同的用户行为过程。深度学习模型的强拟合能力如上图在矩阵分解模型的结构中,用户One-hot向量和物品One-hot向量分居两侧,它们会先通过隐向量层转换成用户和物品隐向量,原创 2022-03-28 17:54:15 · 1124 阅读 · 0 评论 -
推荐系统最经典的推荐模型协同过滤
文章目录协同过滤算法的基本原理计算用户相似度用户评分的预测矩阵分解算法的原理矩阵分解算法的Spark实现协同过滤算法的基本原理协同过滤就是协同大家的反馈、评价和意见一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息。举个例子如下图图a是四种商品,图b是用户物品的有向图,绿色为赞,红色为踩。图c是生成的物品用户行为矩阵,我们需要推测用户X对于电视机这个商品的评价。图d是用户b,c与X行为对于其他物品行为相似的用户,标记成绿色。图e是根据用户b,c对于电视机是踩,推断出用户X对于电视机原创 2022-03-28 15:26:33 · 1848 阅读 · 0 评论 -
推荐系统Sparrow Recsys如何实现电影相似功能推荐
文章目录Sparrow Recsys技术架构图数据和模型部分线上服务部分前端展示相似似电影推荐的结果和初步分析Sparrow Recsys技术架构图数据和模型部分选用 Item2Vec、Deep Walk等不同的 Embedding 方法,来生成物品Embedding向量。考虑到大数据条件下,数据处理与训练的一致性,在Sparrow Recsys中,我们会采用 Spark 进行数据处理,同时选择Spark MLlib进行Embedding的训练。对于一些比较复杂的Embedding方案,比如特征原创 2022-03-28 10:52:43 · 1573 阅读 · 0 评论 -
推荐系统离线模型如何上线
文章目录业界的主流模型方法预存推荐结果或Embedding结果业界的主流模型方法预存推荐结果或Embedding结果最简单直接的模型服务方法就是在离线环境下生成对每个用户的推荐结果,然后将结果预存到以Redis为代表的线上数据库中,这样线上环境直接取出预存数据推荐给用户。优点:无需模型线上推断过程,线下训练平台与线上服务平台完全解耦。可以选择线下任何机器学习工具进行模型训练;线上过程没有复杂的计算,推荐结果延迟性低。缺点:需要存储User、Item应用场景组合推荐结果,用户物品规模量上来之后,会原创 2022-03-27 00:38:57 · 681 阅读 · 0 评论 -
推荐系统局部敏感哈希解决Embedding最近邻搜索问题
文章目录快速Embedding最近邻搜索问题聚类、索引搜索最近邻聚类搜索最近邻快速Embedding最近邻搜索问题在深度学习推荐系统中,我们经常会使用Embedding方法对用户-物品进行向量化。在训练物品和用户的Embedding向量时,如果二者的 Embedding在同一个向量空间内,我们就可以通过内积、余弦、欧式距离等相似度计算方法,来计算它们之间的相似度,从而通过用户-物品相似度进行个性化推荐,或者通过物品-物品相似度进行相似物品查找。假设用户-物品的Embedding都在一个k维的Embe原创 2022-03-24 14:44:44 · 1561 阅读 · 0 评论 -
推荐系统召回层如何筛选不相关的物品
文章目录召回层和排序层的特点单路召回策略多路召回策略基于Embedding的召回策略召回层总结召回层和排序层的特点召回层处于推荐系统的线上服务模块之中,推荐服务器从数据库或内存中拿到所有候选物品集合后,会依次经过召回层→排序层→再排序层(补充算法层),才能够产生用户最终看到的推荐列表。召回层月排序层总结图:召回层应该满足特点:候选集规模大(百万级)、模型复杂度低、所用特征少、处理速度快、排序精度低。排序层应该满足特点:候选集规模小(几百级)、模型复杂度高、所用特征多、处理速度慢、排序精度高。要原创 2022-03-10 15:17:52 · 221 阅读 · 0 评论 -
Redis解决推荐系统特征的存储问题
文章目录推荐系统存储模块的设计原则Netflix推荐系统存储介绍Netflix分级存储核心思想总结Sparrow Recsys存储实践基于Sparrow Recsys的存储系统方案Redis基础知识Sparrow Recsys 中的Redis实践推荐系统存储模块的设计原则Netflix推荐系统存储介绍以Netflix为例,Netflix推荐系统架构图如下所示,Netflix 采用了非常经典的 Offline、Nearline、Online 三层推荐系统架构。红色标注的地方就是最核心的数据库部分,分别原创 2022-03-09 17:10:55 · 1175 阅读 · 0 评论 -
推荐系统如何提高线上高并发推荐服务
文章目录推荐系统线上服务功能有什么高并发推荐服务的整体架构有什么负载均衡缓存推荐服务降级机制推荐系统线上服务框架Jetty推荐系统线上服务功能有什么推荐系统架构图红色区域为线上服务,线上服务模块的功能非常繁杂,它不仅需要跟离线训练好的模型打交道,将离线模型上线,在线进行模型服务;还需要跟数据库打交道,把候选物品和离线处理好的特征载入到服务器上。线上服务器内部的逻辑层也复杂,不仅包含了一些经典的过程,比如召回层和排序层,还包括一些业务逻辑:推荐结果多样性,流行度等补充策略,甚至还有线上AB测试相关原创 2022-03-08 18:12:48 · 368 阅读 · 0 评论 -
推荐系统如何用spark训练得到Embedding向量
文章目录Item2Vec序列数据的处理模型训练随机游走的Graph Embedding算法数据准备随机游走采样过程Item2Vec序列数据的处理Item2Vec是要处理的是类似文本句子、观影序列之类的序列数据。而在Item2Vec训练之前,还需要先为它准备好训练用的序列数据。在 MovieLens数据集中,有一张叫rating的数据表,里面包含了用户对看过电影的评分和评分的时间。观影序列自然就可以通过处理rating得到了。rating.csv文件中也包含userId、movieId、rating原创 2022-03-04 17:45:14 · 2459 阅读 · 0 评论 -
推荐系统图结构Graph Embedding技术
文章目录Deep Walk算法Deep Walk执行过程Deep Walk算法流程Node2Vec算法同质性与结构性Node2Vec中的BFS与DFSEmbedding在推荐系统的特征工程中的应用直接应用预训练应用End2End应用Deep Walk算法Deep Walk算法基于随机游走的Graph Embedding方法,它的主要思想是在由物品组成的图结构上进行随机游走,产生大量物品序列,然后将这些物品序列作为训练样本输入Word2Vec进行训练,最终得到物品的 Embedding。因此,Deep原创 2022-03-02 17:52:10 · 765 阅读 · 0 评论 -
特征工程Embedding技术
文章目录Embedding概念经典Embedding方法Word2VecWord2Vec介绍Word2Vec如何生成样本Word2Vec 模型的结构Word2Vec如何提取词向量Item2VecEmbedding概念什么是embedding?Embedding 就是用一个数值向量“表示”一个对象(Object)的方法,我这里说的对象可以是一个词、一件物品、一部电影等等。一件物品能被向量表示,是因为这个向量跟其他物品向量之间的距离反映了这些物品的相似性。更进一步来说,两个向量之间的距离向量甚至能够反原创 2022-02-21 17:46:34 · 2551 阅读 · 0 评论 -
如何用Spark解决特征处理问题
文章目录Spark介绍什么是SparkSpark架构Spark工作过程类别型特征处理One-hot独热编码数值型特征处理归一化与分桶Spark介绍什么是SparkSpark 是一个分布式计算平台。所谓分布式,指的是计算节点之间不共享内存,需要通过网络通信的方式交换数据。Spark 最典型的应用方式就是建立在大量廉价的计算节点上,这些节点可以是廉价主机,也可以是虚拟的 Docker Container(Docker 容器)。Spark架构Spark架构图Spark 程序由 Manager原创 2022-02-15 00:11:53 · 1101 阅读 · 0 评论 -
推荐系统中的特征工程
文章目录特征工程介绍特征工程的原则特征工程介绍推荐系统就是利用用户信息、物品信息、场景信息这三大部分有价值数据,通过构建推荐模型得出推荐列表的工程系统。而特征工程就是利用工程手段从用户信息、物品信息、场景信息中提取特征的过程。推荐系统特征其实是对某个行为过程相关信息的抽象表达。因为一个行为过程必须转换成某种数学形式才能被机器学习模型所学习,为了完成这种转换,就必须将这些行为过程中的信息以特征的形式抽取出来。计算机只能识别一些数字信息,是没法识别行为相关信息的。这个也是为什么要去做特征工程的一个重点。原创 2022-02-14 22:50:44 · 692 阅读 · 0 评论 -
推荐系统评估与冷启动
文章目录推荐系统评估推荐系统探索与利用问题推荐系统评估方法推荐系统冷启动推荐系统评估好的推荐系统可以实现用户、内容提供方、服务提供方三者共赢。如下图所示:显式反馈与隐式反馈显式反馈的主要表现为对于书籍电影的评分、是否喜欢此推荐。用户的准确性高、数量少、获取成本较高;隐式反馈主要表现为对于视频播放、点击、下载,物品的购买、加入购物车。用户的准确性低、数量多、获取成本较低。而推荐系统更看重隐式反馈。常用的评估指标准确性:评分预测:RMSE、MAE算法TopN推荐:召回率、精准原创 2021-07-06 00:08:46 · 151 阅读 · 0 评论 -
推荐系统的介绍与设计
文章目录推荐系统推荐系统的介绍推荐系统的作用推荐系统的工作原理推荐系统推荐系统的介绍没有明确需求的用户访问了我们的服务, 且服务的物品对用户构成了信息过载, 系统通过一定的规则对物品进行排序,并将排在前面的物品展示给用户,这样的系统就是推荐系统。推荐系统所解决的根本问题就是:在“信息过载”的情况下,用户如何高效获取感兴趣的信息。推荐系统的作用高效连接用户和物品, 发现长尾商品。留住用户和内容生产者, 实现商业目标。推荐系统的工作原理社会化推荐 向好友咨询, 让好友给自己推荐物品原创 2021-07-02 00:22:10 · 644 阅读 · 6 评论