推荐系统基础

devtools/2025/3/16 14:24:07/

推荐系统基础

推荐系统基本概念

推荐系统的目标就是从物品的数据库中选出几十个物品推给用户

算法工程师:对模型,特征,策略,系统做改进提升各种指标

转化流程

不同的产品的转化流程不同,小红书推荐系统的转化流程如下:

image-20250313082041986

消费测指标

-这些指标反映用户对推荐是否满意,属于短期指标

image-20250313081831106

北极星指标

衡量推荐系统好坏最重要的指标

若消费测指标与北极星指标有冲突,以北极星指标为准;激励发布通常是由冷启动来负责,详见后面笔记

image-20250313083002929

实验流程

image-20250313083415194

推荐系统的链路

image-20250313083834301

召回:从物品的数据库中快速取回一些物品。比如小红书由上亿篇笔记,当用户刷新小红书时系统会调用几十条召回通道,每条召回通道取回几十到上百条笔记,然后去重去掉用户不喜欢的作者,笔记,话题等,最后一共取回几千篇笔记

粗排:用规模较小的机器学习/深度学习模型给几千篇笔记逐一进行打分,按照分数进行排序,保留分数最高的几百篇笔记(粗排,精排比较类似,唯一的区别精排模型更大用的特征更多)

精排:用大规模的深度神经网络(现在用tranformer比较多)给几百篇笔记重新打分,打分后不需要做排序直接进入重排。

精排的分数反映用户对笔记的兴趣(精排打分更可靠,但计算量也更大,这就是为什么先用粗排做筛选再用精排,这样做可以很好平衡计算量和准确性),在精排后可以做阶段也可以不做截断直接重排

重排:根据精排分数和多样性分数进行随机抽样得到几十篇笔记,然后根据规则将相似内容打散并插入广告和运营内容(重排最重要的功能是做多样性抽样

召回

image-20250313085419672

排序

image-20250313085912227

粗排,精排

二者比较类似,唯一的区别精排模型更大用的特征更多的深度学习模型

image-20250313090301648

重排

image-20250313091053367

抽样:依据精排分数大小和多样性进行抽样

打散:用规则打散相似内容。不能把内容过于相似的笔记排在相邻的位置上(不能给NBA球迷首页5个内容全推NBA,避免同质化,排第一的是NBA内容那接下来几个位置就不放NBA的内容,相似的笔记会往后挪)

人为干涉:插入广告,运行推荐内容,根据生态要求调整排序

总结

image-20250313091002409

AB测试

AB测试基本概念

什么时候需要进行AB测试?当团对实现了一种新的算法,在离线数据中跑出来的结果是正向的,考虑将算法进行上线给用户使用,在上线之前我们需要进行 AB对照实验,来观察新算法在线上实际运行的效果。

image-20250315222152420

如何设计AB测试? 随机分组 + 对照

image-20250315222604482

image-20250315222636259

分层实验

为什么要用分层实验,直接就按上文中直接分10个桶不好吗? 上述将所有用户分成10个桶,每个桶占10%,这样的桶的数量有限,而大公司中需要流量来做实验的团队很多,会出现流量不够用的情况,这个时候就需要用到分层实验

image-20250315222913414

image-20250315222955114

如何分层?

image-20250315223038716

同层互斥

image-20250315223101013

不同层正交

image-20250315223115936

互斥和正交

image-20250315223137297

Holdout机制

holdout桶用于考察⼀个部门(⽐如推荐系统)在⼀段时间内对业务指标总体的提升。比如将10%的用户作用到holdout桶,holdout桶是干净的对照组,任何这段时间内新加的算法都不能在上面。

image-20250315223219056

image-20250315223311812

image-20250315223323957

实验推全&反转实验

有的指标(点击、交互)⽴刻受到新策略影响,有的指标(留存)有滞后性,需要长期观测。

实验观测到显著收益后尽快推全新策略。⽬的是腾出桶供其他实验使⽤,或需要基于新策略做后续的开发。

推全实验:在90%用户上新建一层,该层与其他层正交

若推全层中有需要长期观测的指标,则⽤反转实验解决上述⽭盾,既可以尽快推全,也可以长期观测实验指标。

反转实验:在推全的新层中开⼀个旧策略的桶,长期观测实验指标。

image-20250315224639447

AB测试总结

image-20250315224837657


http://www.ppmy.cn/devtools/167582.html

相关文章

银河麒麟V10SP3Server中离线安装Docker引擎与docker-compose

银河麒麟V10SP3Server中离线安装Docker引擎与docker-compose 文章目录 银河麒麟V10SP3Server中离线安装Docker引擎与docker-compose1. 系统信息1. 查看系统信息2. 查看处理器架构 2. Docker离线安装包下载3. 安装docker引擎1. 解压2. 解压后文件目录查看3. 移动解压后docker中的…

文件包含与下载漏洞

一、漏洞概述 1. 定义 文件包含:通过动态变量加载外部文件作为代码执行,常见于PHP的include()、require()等函数。 文件下载:通过程序接口直接获取服务器文件内容,若未校验文件路径,可导致敏感文件泄露。 2. 危害…

oracle 中创建 socket客户端 监听数据库变动,返回数据给服务端!!!

目录 socket客户端Java代码 函数触发器1、触发器2、 函数3、 java 代码1、socket 5-1 socket 服务端 socket客户端Java代码 函数触发器 (当数据库数据变动是触发socket客户端代码,将信息发送到服务端)应用场景 ---- 第三方往中间库导入数据&…

大模型AI多智能体系统(Multi-Agent Systems, MAS)技术介绍

一、多智能体系统的定义与核心概念 多智能体系统(MAS)是由多个具备自主决策能力的智能体(Agent)组成的分布式系统。每个智能体能够感知环境、执行动作,并通过协作或竞争实现个体或集体目标。其核心特征包括: 自主性:智能体无需外部指令即可独立决策(如MetaGPT中的角色…

Java中类和对象

类和对象 面向对象的认识类的定义和使用1 类的定义2 类的创建3 类的实例化 构造方法1 构造方法的概念2 构造方法的注意事项 this关键字 面向对象的认识 前言 何为面向对象何为面向过程呢?,C语言是最经典的面向过程的语言,但是C语言虽然可以解决一定的问…

设计模式之美

UML建模 统一建模语言(UML)是用来设计软件的可视化建模语言。它的语言特点是简单 统一 图形化 能表达软件设计中的动态与静态信息。 UML的分类 动态结构图: 类图 对象图 组件图 部署图 动态行为图: 状态图 活动图 时序图 协作…

20250315在windows10下开热点步骤

20250315在windows10下开热点步骤 2025/3/15 16:05 百度:win10 开热点 DESKTOP-2D4GDGB 4175 13572468 win10怎么打开移动热点 播报文章 原创|浏览:3402|更新:2023-07-20 13:42 win10怎么打开移动热点1win10怎么打开移动热点2win10怎么打开移…

Certbot实现SSL免费证书自动续签(CentOS 7 + nginx/apache)

在 CentOS 上,你可以使用 Let’s Encrypt 提供的 Certbot 工具来申请和自动续约免费的 SSL 证书。 1. 安装 Certbot CentOS 7 安装 EPEL 和 Certbot yum install -y epel-release yum install -y certbot python3-certbot-nginx如果使用的是 Apache: …