![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
《深度学习推荐系统》读书笔记
王喆 深度学习推荐系统 读书笔记
hionechance
专注于计算机视觉、推荐系统方向研究与实践,欢迎交流
展开
-
整理和记录
根据自己的理解,对书中的要点进行整理,形成自己的推荐系统架构理解及知识体系,欢迎指正。原创 2021-08-01 17:22:49 · 97 阅读 · 0 评论 -
推荐系统的评估
推荐系统的评估分为两部分:离线评估和线上评估。离线评估由于不涉及到工程部署和线上流量切分等工作,因此实施起来比较方便。离线评估的做法就是将样本划分为训练集和测试集,用训练集训练模型,用测试集评估模型效果。常用的方法是handout,交叉验证,自助法(bootstrap),是机器学习中的基本概念,这里就不展开。离线评估指标需要设计多个指标从不同的维度评价推荐系统:把推荐当做一个点击率预估的问题,常用的有准确率、精确率、召回率、F1、logloss、RMSE等;把推荐当做一个排序问题,常用的有P原创 2021-07-29 17:33:35 · 495 阅读 · 0 评论 -
推荐系统的模型离线训练和线上部署
推荐系统的离线训练大数据平台提供了训练数据,推荐系统需要将这些保存在HDFS的数据输入到模型中,进行离线训练。由于训练数据量级非常大,普通单机无法承受这种计算压力,因此,业界主流的模型训练方法为分布式并行训练方法。书中提到,当前三种主流的分布式并行训练方案分别为:Spark, Tensorflow, Parameter Server(PS).1. SparkSpark中提供了一套强大的机器学习库Spark MLlib,支持常用的机器学习模型。用书中简练的一句话概括Spark的计算过程,Stage原创 2021-07-28 19:30:43 · 2499 阅读 · 0 评论 -
推荐系统的数据流
由于推荐系统经常需要面临动辄TB甚至更大量级的数据,因此大数据平台成为了推荐系统中不可或缺的一部分,同时,大数据处理平台的性能也紧紧关系到整个推荐系统的性能。当前大数据平台有四种架构:1. 批处理以MapReduce, Spark为典型代表,待数据落盘(HDFS)后,进行批量计算。适合离线处理大批量数据,耗时小时到天不等2. 流处理以flink,spark streaming为典型代表,“时间窗口”是其关键概念,流处理方式会对时间窗口内的数据进行计算,同时支持join操作,耗时分钟级。原创 2021-07-28 17:02:55 · 649 阅读 · 0 评论 -
推荐系统之冷启动
任何推荐系统都要经历数据从无到有,从简单到丰富的过程。在某个特定场景下,对一个新用户而言,如何推荐其可能喜欢的物品,对于一个新物品而言,如何找到其受众,在推荐系统中被称为冷启动问题。书中提到,“冷启动”分为三种:1. 用户冷启动2. 物品冷启动3. 系统冷启动主流的冷启动方案1. 基于规则的冷启动基于人工制定的某些规则来实现冷启动过程。例如对新用户推荐“热门”、“最新”,对某个地方的用户推荐编排好的内容,对新物品采用相似推荐的方法。2. 丰富冷启动过程中可获得的用户特征和物品特征丰富模型原创 2021-07-28 16:04:26 · 329 阅读 · 0 评论 -
推荐系统之实时性
推荐系统的实时性1. 更快捕获/更新用户特征 -- 特征实时性2. 更快发现数据趋势 -- 模型实时性特征实时性(实时性由强到弱)1. 客户端实时特征(秒级,实时)发生在客户端session,实时计算用户特征,可达秒级2. 流处理平台(分钟级,近实时)典型的流处理平台像flink、spark streaming,均具备处理某个时间窗口内的数据流的能力,能够统计用户点击行为等特征,并写入redis,可达分钟级3. 分布式批处理平台(小时/天级,非实时)分布式批处理平台(spark,原创 2021-07-28 15:40:53 · 975 阅读 · 0 评论 -
推荐系统之召回策略
推荐系统的召回过程,书中是这样定义的:利用少量的特征和简单的模型和规则进行候选集的快速筛选,降低精排阶段的时间开销。多路召回主流的召回方式,即,使用不同的策略、特征、简单模型分别召回一部分候选集后综合到一起形成召回的候选集。基于Embedding的召回方式:Embedding生成+局部敏感哈希最近邻计算例如,使用Graph Embedding,将多路召回策略以side information的形式融合到最终的Embedding向量,实现多路召回在一个Embedding向量中的统一。这里也存在原创 2021-07-28 12:11:08 · 389 阅读 · 0 评论 -
推荐系统之特征选取与特征处理
王喆《深度学习推荐系统》中提到,推荐系统特征工程原则尽可能的让特征工程抽取出一组特征,能够保留推荐环境及用户行为过程中的所有有用信息,尽量摒弃冗余信息。推荐系统中的常用特征1. 用户行为数据 -- 隐式行为(点击、收藏)、显式行为(点赞、点踩)对用户发生过行为的物品:multi-hot 或者 Embedding加权平均2. 用户关系数据 -- 隐式(互相点赞)、显式(好友)a. 利用好友关系作为一路召回b. graph Embeddingc. 为用户添加好友属性特征d. 社会化推荐3原创 2021-07-28 11:47:49 · 1037 阅读 · 0 评论 -
推荐系统之Embedding
熟悉深度学习的同学一定对Embedding不陌生,由于神经网络通常输入的是高维稀疏向量,Embedding层可以起到降维、防止参数爆炸的同时,也可以实现稀疏向量稠密化,便于上层网络处理。然而,Embedding的作用远远不止这些,文中提到,Embedding是深度学习中的基础核心操作。Embedding经历的三大过程:处理序列样本、处理图样本、处理异构的多特征样本Embedding的优势:综合信息能力强、易于线上部署书中提到,Embedding表示的含义:向量可以表达相应对象的某些特征,同时,向原创 2021-07-27 17:45:56 · 903 阅读 · 0 评论 -
推荐系统的技术架构
推荐系统从技术架构的层面来讲,分为两大部分:数据部分和模型部分。数据部分完成的工作主要集中在数据收集、数据清洗与处理上,采用实时与离线的方式对用户、物品、场景三类数据数据处理与清洗,并以特定的格式提供给推荐系统中的使用方(文中提到的有三个:模型训练、模型预测、商业智能),可见数据的重要性,数据处理流程如果出现了问题,后面的工作可能均无法正常开展。 tips: 实时与离线数据处理架构即为当前常用的lambda架构。模型部分完成的工作分别是:模型训练、模型评估、模型部署及模型在线推断。“模型”这里,原创 2021-07-26 20:54:55 · 496 阅读 · 0 评论 -
推荐系统在互联网公司中的角色
于用户而言:推荐系统主要应用于解决信息过载,用户无法快速找到个人偏好的场景于公司而言:挖掘海量数据,提升商业指标,解决“增长”的问题文中提到,一个良性的商业模式,用户体验与商业指标应该是自洽的,例如:天猫首页的千人千面推荐和支付转化率Youtube视频观看时长因此,推荐系统要解决的基础问题即为人与信息的关系,并达成某种既定目标。具体而言,人指的是用户信息,被推荐对象指的是物品信息。另外,由于用户与物品的交互一定是发生在某个场景下的,所以也存在第三类信息,即场景信息或者上下文信息。从实现的角原创 2021-07-26 17:13:21 · 186 阅读 · 0 评论