![](https://img-blog.csdnimg.cn/b1b4946083d047dfb6ec05ba7b827d7e.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
推荐系统
文章平均质量分 90
推荐系统基础及高阶知识汇总
Harrytsz
这个作者很懒,什么都没留下…
展开
-
NeuralCF 推荐模型
文章目录一、导包二、读取数据三、特征编码处理四、使用具名元组为特征进行处理五、构建模型5.1 输入层5.2 Embedding层5.3 GML5.4 MLP5.5 输出层5.6 构建模型六、运转模型绘制网络结构图下图为 NeutralCF 的模型结构图,总共两个分支,第一个分支为GML,第二个为MLP,GML 通路将两个特征的 Embedding 向量进行内积操作,MLP 将两个特征的 Embedding 的向量进行拼接,然后使用多层感知机进行传播,然后将两个通路输出的向量进行拼接,导入全连接层(输出层)转载 2022-05-12 10:57:27 · 363 阅读 · 0 评论 -
久别重逢话双塔
久别重逢话双塔转载至: https://zhuanlan.zhihu.com/p/428396126正文开始之前,先声明两点:双塔是“召回”+“粗排”的绝对主力模型。但是要让双塔在召回、粗排中发挥作用,带来收益,只改进双塔结构是远远不够的。如何采样以减少“样本选择偏差”、如何保证上下游目标一致性、如何在双塔中实现多任务间的信息转移…,都是非常重要的课题。但是受篇幅限制,本文只聚集于双塔模型结构上的改进。双塔分离:成也萧何,败也萧何双塔的模型结构很简单。训练的时候将用户侧的信息喂入一个DNN转载 2022-03-04 09:08:26 · 324 阅读 · 0 评论 -
2021-11-04
一、前言 最近由于需要做一个topK推荐的项目,所以调研了一下,发现youtubeNet好像大家的评价不错,想实现一下,以此博客记录一下 二、YoutubeNet基本框架 Youtube是国外的大型视频网站,用户多达几亿,每秒上传的视频长度多达几个小时。对于这样一个大型视频网站,它的推荐系统面临以下几个问题: 1、体量大:包括用户和视频集都十分巨大,如何从上百亿的视频中为上亿用户推荐他们所感兴趣的视频? 2、新鲜度:youtube视频集是一个动态的视频库,每秒上传的视频多达几个小时,如何平衡好新视转载 2021-11-04 16:55:21 · 170 阅读 · 0 评论 -
AI 推荐模型
该仓库尝试整理推荐系统领域的一些经典算法模型,主要包括传统的推荐算法模型和深度学习模型, 并尝试用浅显易懂的语言把每个模型或者算法解释清楚!此次整理依然是通过CSDN博客+GitHub的形式进行输出, CSDN主要整理算法的原理或者是经典paper的解读, 而GitHub上主要是模型的复现和实践,模型的复现这块不限于Pytorch框架或者TensorFlow框架, 下面很多模型是使用了两种框架,Pytorch使用了经典的那种建模风格, 而TensorFlow使用了Deepctr的函数式API的那种建模风格。原创 2021-10-21 23:00:01 · 1040 阅读 · 0 评论 -
浅析Faiss在推荐系统中的应用及原理
之前在业务中应用了许多Faiss,也看了几篇关于Faiss的论文,简单记录下Faiss的一些属性和应用。Faiss是Facebook的AI团队开源的一套用于做聚类或者相似性搜索的软件库,底层是用C++实现。Faiss因为超级优越的性能,被广泛应用于推荐相关的业务当中。接下来分Faiss在推荐业务应用和Faiss的基本原理两部分进行介绍。1Faiss在推荐业务中的应用在我的认知里,基本上50%以上的手机APP的推荐业务会应用到Faiss服务,可见应用之广。那Faiss究竟是在哪个模块使用呢,通过下方这个图原创 2021-10-09 09:20:25 · 377 阅读 · 0 评论 -
RecSys 2019:对in-batch负采样进行bias校正的Google双塔模型
文章目录 1.总览2.考虑到bias的softmax损失修正3.如何计算batch内item的采样概率?4.其他的一些tricks梳理4.1 Embedding标准化4.2 softmax增强 5.代码 论文链接:Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations 1.总览 目前,业界的推荐系统可以分成Retrieval和Ranking两个阶段,Retrieval需要从百万级以.原创 2021-10-07 10:23:45 · 402 阅读 · 0 评论 -
【AAAI2020】阿里DMR:融合Matching思想的深度排序模型
文章目录 1.模型特征和整体结构2. I2I和U2I网络2.1 I2I2.2 U2I 3. 一些细节和思考3.1 哪些结果concat到一起送入DNN中?3.2 关于item embedding3.3 关于模型架构的可移植性 论文链接:Deep Match to Rank Model for Personalized Click-Through Rate Prediction 推荐系统中 CTR 预估的重要性不言而喻,其中个性化是提升 CTR 模型效果的关键。对于CTR模型来说,个性化是转载 2021-10-07 10:18:05 · 288 阅读 · 0 评论 -
推荐系统中的用户兴趣建模(四):用户长期兴趣——超长序列的建模方法
前面说到的几个模型序列的长度都不会太长,也即考虑的是用户的短期兴趣,例如DIN 和 DIEN 保留的历史行为长度都小于 100。但有实验表明,增加序列的长度能取得效果的提升: 从上图中可以发现,当用户行为序列长度增加到1000时,AUC会有1.5%的提升,这种幅度的提升在CTR预估任务当中是非常显著的提升了。但存在的问题是:随着用户历史行为特征序列长度越来越长,将其应用于线上系统变得越来越困难,因为线上系统(CTR预估)通常对耗时要求比较高(需要在一定时间内返回结果),系统的线上延迟和存储开销会随着用户.转载 2021-10-07 10:07:52 · 814 阅读 · 0 评论 -
推荐系统中的用户兴趣建模(三):跨sessions间的用户兴趣建模网络——DSIN
第三篇介绍电商推荐场景下一个非常有意思的做法,跨sessions间的用户兴趣建模网络——DSIN(IJCAI 2019)。 在前面两篇中,无论是DIN还是DIEN还是BST或BERT4REC,建模的主体都是整个用户行为序列,这忽略了序列内在的结构:序列由sessions组成,其中sessions是发生时间内独立的用户行为。paper指出用户行为在每个会话中都是高度同构的,但跨会话是异构的。 如何理解呢?以某用户行为序列为例,如下图所示。用户通常在一个会话中有一个明确的独特意图,而她的兴趣可以急剧变化当她开始转载 2021-10-07 10:02:28 · 215 阅读 · 0 评论 -
推荐系统中的用户兴趣建模(二):NLP方法的迁移
前面说到的DIN提供了用户兴趣建模的一个很好的思路,本身算法是基于对实际业务的理解,而DIN本身却是一个很简单的模型,这也为后续的很多优化提供了一个基线。归根到底,用户兴趣建模还是属于序列建模,所以,nlp中的很多序列学习方法可以无缝衔接到这里来,比如LSTM,GRU,Transformer,Bert等,这里介绍几个较为出名的工作。(笔者认同奥科姆剃刀原则,如果DIN本身达到的效果足够好,大可不必将序列建模工作做的过于复杂,因为这还需要团队具有很强的工程能力,以及模型用到的建模方式并不会适用所有的业务场景.转载 2021-10-07 09:55:39 · 210 阅读 · 0 评论 -
推荐系统中的用户兴趣建模(一):经典之作DIN及query attention框架
1.用户兴趣建模 随着深度学习的普及,Embedding&MLP的范式成为了排序模型经典范式,成为各个业务模型Base model的首选。 在排序模型中通常的特征类型有user profile 、item feature、context feature,user behavior feature, 其中第一类特征是静态的,很粗粒度的刻画了不同用户,第二、三类特征对于不同用户是相同的,只有第四类特征即用户兴趣,是实时更新的且”千人千面“,所以通常说的个性化也是通过这个特征来进行表达的,即用户兴趣.转载 2021-10-07 09:53:27 · 328 阅读 · 0 评论 -
推荐系统中的用户兴趣建模(五):召回阶段的用户多兴趣建模
众所周知,业界的推荐系统是一个漏斗状的级联结构,大体可分为召回和排序两个阶段,召回阶段我们根据用户的兴趣从海量的商品中去检索出相关候选 Item,满足推荐相关性和多样性需求。而排序阶段,依据用户兴趣会对候选集进行打分排序截取TopN Item,最终给用户产生推荐。 前面的一些文章的方法基本上都用于ranking阶段,即使是最简单的DIN模型,如果其用于召回阶段也是极其耗时的。而传统的matching阶段的用户embedding: 协同过滤的隐向量。缺点:sparsity problem, 计算资源耗费大转载 2021-10-07 09:47:34 · 392 阅读 · 0 评论 -
阿里DIEN整体代码结构
目录[论文解读] 阿里DIEN整体代码结构0x00 摘要0x01 文件简介0x02 总体架构0x03 总体代码0x04 模型基类4.1 基本逻辑4.2 模块分析4.2.1 构建变量4.2.2 构建embedding4.2.3 拼接embedding0x05 Model_DIN_V2_Gru_Vec_attGru_Neg5.1 第一层 ‘rnn_1’5.1.1 GRU5.1.2 辅助损失5.1.3 mask的作用Padding MaskSequence原创 2021-09-19 23:54:22 · 774 阅读 · 0 评论