推荐系统学习之路

news2025/1/12 8:04:58

基本概念:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一、基本流程 b站王树森老师课程笔记
召回(retrieval):快速从海量数据中取回几千个用户可能感兴趣的物品。
方法:
协同过滤
相似度计算:
余弦,
杰卡德
在这里插入图片描述
矩阵分解:
将一个稀疏的用户评分矩阵MxN分解为MxK KxN,分解出来的K就是隐语义特征
BiasSVD方法
jieba是中文分词包
hanlp情感分析工具包
关注的作者…

粗排:用小规模的模型的神经网络给召回的物品打分,然后做截断,选出分数最高的几百个物品。
精排:用大规模神经网络给粗排选中的几百个物品打分,可以做截断,也可以不做截断。
重拍:对精排结果做多样性抽样,得到几十个物品,然后用规则调整物品的排序。
方法:MMR、DPP

AB测试
推荐系统算法工程师的日常工作就是改进模型和策略,目标是提升推荐系统的业务指标。所有对模型和策略的改进,都需要经过线上 AB 测试,用实验数据来验证模型和策略是否有效。
1.对用户进行随机分桶 用哈希函数映射到一个整数范围中
分层实验:(同层互斥,不同层正交)
在每一个阶段可以单独使用100%的全部用户,即同一层中某一用户不能受两种召回实验
Holdout :保留10%的用户﹐完全不受实验影响﹐可以考察整个部门对业务指标的贡献。
实验推全∶新建一个推全层﹐与其他层正交。
反转实验︰在新的推全层上﹐保留一个小的反转桶﹐使用旧策略·长期观测新旧策略的diff o

一、召回
在这里插入图片描述

协同压缩算法
基于用户的
在这里插入图片描述
log为了缩小最热门和最冷门的差距

基于物品的:
同时喜欢物品1,2的人÷喜欢物品1和物品2人的总和

Swing:
额外考虑重合的用户是否来自一个小圈子。
·同时喜欢两个物品的用户记作集合V 。
·对于V中的用户u1和u2,重合度记作overlap(u1,u2)
·两个用户重合度大,则可能来自一个小圈子,放在公式分母上来降低权重。
在这里插入图片描述
矩阵补充模型【5.8】
双塔模型:也叫 DSSM,是推荐系统中最重要的召回通道,没有之一
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
后期融合是召回
前期融合是粗排或精排
在这里插入图片描述
不能拿最后曝光用户没有点击的当做召回模型训练的负样本,因为这个推荐已经非常精确了
可以将这个当做排序的负样本,用来训练用户非常感兴趣样本和一般感兴趣样本的区别
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
双塔模型有缺点:
·推荐系统的头部效应严重∶
·少部分物品占据大部分点击。·大部分物品的点击次数不高。
·高点击物品的表征学得好﹐长尾物品的表征学得不好。
·自监督学习∶做data augmentation,更好地学习长尾物品的向量表征。

其余召回方式:
GeoHash:对经纬度的编码,地图上一个长方形区域,相当于同城召回
作者召回
有交互的作者
相似作者召回
缓存召回

二、排序
依据排序模型对点击率、点赞率、收藏率、转发率的预估分数,然后进行加权融合的总分数进行排序

多目标模型
在这里插入图片描述
对负样本进行随机降采样,来消除样本的不平衡,但是因为负样本比真实时少了特别多,模型对点击率的预估会偏大,因此要对预测出来的值进行校准
在这里插入图片描述
MMOE

八、比赛实战-新闻推荐

1.分析理解过程
在这里插入图片描述

1.1题目理解
1.2数据集理解

2.召回阶段
计算新闻相似度时,因为很多新闻没有被访问到,所以出现了很多0。因此采用循环访问每个人的新闻列表计算相似度。
3.特征工程
对召回得到的候选文章通过特征工程再次筛选达到一个比较精确的推荐结果.
因为召回时使用的模型比较简单且用户特征较少,仅使用了新闻之间的相似度;所以得出的候选文章不够精确。
因此对得出结果加上题目所给其余特征构造一个有监督的学习(每一个候选结果的label可以通过train_clieck_log的已知最后一次结果来构建)。
上一步结束后训练集仅有召回的特征,因此我们采用以下思路构造特征

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/502063.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022年宜昌市网络搭建与应用竞赛样题(三)

网络搭建与应用竞赛样题(三) 技能要求 (总分1000分) 竞赛说明 一、竞赛内容分布 “网络搭建与应用”竞赛共分三个部分,其中: 第一部分:网络搭建及安全部署项目(500分&#xff0…

Docker笔记(二)

一、Docker 复杂安装1.1、mysql 主从复制1.2、Redis1.2.1、Redis存储大量数据解决方案1.2.2、Redis 集群搭建1.2.3、数据读写存储1.2.4、容错切换转移1.2.5、主从扩容案例1.2.6、主从缩容案例 二、Dockerfile2.1、是什么?2.2、保留字指令2.3、案例 三、虚悬镜像3.1、…

Jetson Orin 平台MAX9296+森云SG5-IMX490C-GMSL2 RGGB(无ISP)驱动调试

1.前期调试说明 开发套件: AGX Orin 32GB模块 版本: JetPack 5.0.2 使用1台SG5-IMX490C-GMSL2-Hxxx IMX490 RGGB x4相机(无ISP), 通过max9296 GMSL2 LINKA接入到Orin CSI端口4 v4l2-ctl -d /dev/video0 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=5 [ 1282…

Django框架之视图概述和URL配置

概述 视图方法,简称视图,它可以接收一个Web request对象并向客户端返回一个Web response对象。response可以是任何对象,如HTML文档、重定向、404异常、XML文档甚至一张图片。在视图方法中可以进行任意的业务逻辑处理,例如查询数据…

运算符重载(全局函数与类的成员函数分别解析)

运算符重载(全局函数) 比如说对于小于号和大于号,如果说是内置类型的话,可以直接进行比较,因为内置类型是祖师爷定义的,那祖师爷肯定知道比方说int类型怎么比,double类型怎么比,因为…

STL之search()算法

我们之前介绍的find()算法以及find_if()算法都帮助我们查找判断某一个value是否被包含在序列中,并返回它第一次出现时所处的位置,假如我想找到某一段满足条件的子区间,应该怎么做呢?C标准库又为我们提供了哪些算法呢? …

2023年4月《中国数据库行业分析报告》正式发布(含精彩内容概览)

为了帮助大家及时了解中国数据库行业发展现状、梳理当前数据库市场环境和产品生态等情况,从2022年4月起,墨天轮社区行业分析研究团队出品将持续每月为大家推出最新《中国数据库行业分析报告》,持续传播数据技术知识、努力促进技术创新与行业生…

C语言课设项目-51单片机-红外通信

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 一. 什么是红外线 二. 红外线系统的组成 三. 红外发射管 四. 红外遥控器发射 五. 红外线接收 六.数…

还能这么玩?清华给 ChatGPT 做逆向,发现了 ChatGPT 的进化轨迹!

作者 |小戏、Python 立足一个 ChatGPT,现在对大模型的研究简直是百花齐发百家争鸣,用 ChatGPT 做化学实验、给 ChatGPT 做心理测试、诱导 ChatGPT 越狱泄漏隐私、让几个 ChatGPT 形成一个小社会等等不胜枚举。 而最近,清华的研究团队又在大模…

深度学习01-tensorflow开发环境搭建

文章目录 简介运行硬件cuda和cuddntensorflow安装。安装Anaconda创建python环境安装tensorflow-gpupycharm配置配置conda环境配置juypternotebook 安装cuda安装cudnn 简介 TensorFlow是一种端到端开源机器学习平台,它提供了一个全面而灵活的生态系统,包…

unity进阶学习笔记:有限状态机

一般来说,每一个游戏物体会有多种状态,每一个状态会对应一个特定动画。如一个游戏角色可能有静止状态,移动状态,攻击状态。每一个状态里都有对应的动画。如果我们只是简单使用一个个if语句判断玩家进行哪个控制来切换动画会让程序…

一文打尽目标检测NMS(2): 效率提升篇

文章来自于:曲終人不散丶知乎, 连接:https://zhuanlan.zhihu.com/p/157900024, 本文仅用于学术分享,如有侵权,前联系后台做删文处理。 在笔者上一篇文章《一文打尽目标检测NMS——精度提升篇》中&#xff0…

博客系统后端设计(三) - 实现获取博客列表页功能

文章目录 实现获取博客列表页功能1. 约定前后端交互接口2. 实现后端代码3. 实现前端代码4. 测试代码5. 涉及到的两个 Bug 实现获取博客列表页功能 当前的博客列表上的数据都是写死的,符合逻辑的做法是,通过数据库读取数据后显示到页面上。 此处就需要打…

【Linux】2.2 环境基础开发工具使用——vim

文章目录 什么是 vimvim 的基本操作vim 指令集Normal mode 指令集插入模式复制粘贴撤销剪切光标移动删除 last line mode 指令集列出行号跳到文件中的某一行查找字符保存文件 vim 的配置 什么是 vim Linux editor —— vim ——多模式的编辑器每种模式有差异,模式之…

人工智能洗稿-免费自媒体洗稿工具

文字洗稿 文字洗稿是指通过修改、重组、删除、替换等手段对文本进行优化、清理和调整,以达到改善文章质量、增加独特性和提高可读性的目的。文字洗稿是自媒体行业的一个重要需求,尤其是在批量撰写文章或需要大量修改文本的情况下。文字洗稿分为自动洗稿…

记一次springboot项目漏洞挖掘

前言 前段时间的比赛将该cms作为了题目考察,这个cms的洞也被大佬们吃的差不多了,自己也就借此机会来浅浅测试下这个cms残余漏洞,并记录下这一整个流程,谨以此记给小白师傅们分享下思路,有错误的地方还望大佬们请以指正…

云办公时代,企业如何保护数据资产安全?

云办公是一种基于云计算技术的办公方式,它将传统的办公软件和数据存储方式转移到了云端服务器上。用户可以通过互联网访问各种办公应用程序和数据,实现远程协作、移动化办公和信息共享等功能。 常见的云办公应用包括文档处理、电子邮件、日历、在线会议、…

ABAP 锁对象

需求场景 最近收到用户反馈,发现同一个托运单生成了两个不同的服务订单以及根据同一个送货单生成了两个托运单,经过排查,发现原因都是由同样的问题导致的,多窗口或者多用户同时对一条数据操作,就会出现这种现象。这个…

Learning C++ No.19【搜索二叉树实战】

引言: 北京时间:2023/5/2/9:18,五一放假第四天,昨天本来想要发奋图强将该篇博客写完,但是摆烂了一天,导致已经好几天没有码字,敲代码了,此时难受的感觉涌上心头,但是摆烂…

DNF类游戏动作实现(C语言)

没有接触制作小游戏前,感觉做游戏很不可思议,游戏里的人物是怎么移动的,怎么攻击,释放技能。。。。。。现在逐渐了解到之后,发现2d游戏人物的动作更多是图片的拼接,动作是否精细,由这个动作的帧…