冷启问题目前常见解决方案

news2024/11/25 0:23:17

1、冷启动的基本方式

随机冷启

个性化冷启

2、冷启动解决问题

冷启动保量

冷启动保量,保证每个item曝光的次数一样,实时统计已曝光的次数和要曝光的次数

冷启动结束过滤,如果需曝光的量越大,且越接近冷启结束时间,得分越高,被曝光的概率越大

爬坡保量

实时统计曝光、点击、ctr;ctr越高,曝光越少,得分越高;类似于bandit

3、冷启动实现算法

3.1、MAB问题介绍

MAB(Multi-Arm-Bandit)是多臂赌博机问题,是RL(强化学习)的一种。主要解决的是EE(exploit and explore)问题,exploit表示利用已有的确定兴趣,explore表示探索未知的兴趣。

MAB问题:有K个老虎机,总共摇T次,怎样使T次后的总收益最大的问题。

3.2、冷启问题解决算法

epsilon-Greedy贪婪算法

以epsilon的概率选择探索新的策略、以(1-epsilon)选择利用的操作

epsilon-Greedy-softmax贪婪算法

完全随机选择一个item 进行exploit会导致选的一个非常差的item,利用softmax函数决策选择一个回报率最大的item。

ucb算法

根据下列公式每个臂都摇一次

t表示当前实验的总次数,表示该臂被选中的次数,第二项是explore,优先选择历史被选中次数少的臂。

4、多臂赌博机的应用

多臂老虎机是指,每个老虎机盈利概率不一样,每次摇臂有k种选择。为实现t次摇臂获取最大的收益率

 

星际比赛游戏

在星际争霸比赛中,很多bot都会针对特定的对手设置一些初始策略,在每一轮游戏结束之后,并会记录基于此初始策略的游戏结果,新一轮比赛开始前,bot会根据与对手比赛的历史记录,试图选择一个最优的初始策略来击败对方,以Overkill为例,Overkill中开局策略有三种(TwelveHatchMuta,TenHatchMuta, NinePoolling)。Overkill每局结束以后均会记录当前局所采用开局策略的结果,比如Overkill与cpac对战六局,记录结果如下

cpac|TenHatchMuta|0|

cpac|NinePoolling|1|

capa|TwelveHatchMuta|1|

cpac|NinePoolling|1|

cpac|TwelveHatchMuta|1|

cpac|NinePoolling|1|

"0"表示对应开局策略cpac赢,“1”表示Overkill赢。

5、参考文献

专治选择困难症——bandit算法 - 知乎 (传统冷启方法)

UCB算法原理及其在星际争霸比赛中的应用 - 知乎 (冷启问题的应用)

大数定律与中心极限定理 (中心极限定理)

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

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

相关文章

3.2 数据的表现形式及其运算

3.2.1 常量和变量 在计算机高级语言中,数据有两种表现形式:常量和变量。 1.常量 在程序运行过程中,其值不能被改变的量称为常量。如例3.1程序中的5,9,32和例3.2程序中的1000,0.0036,0.0225,0.0198是常量。数值常量就是数学中的常数。 常用的…

三、前端监控之Sentry的介绍

Sentry介绍 Sentry是一个开源的实时事件日志记录和聚合平台。它专门用于监视错误和提取执行适当的事后操作所需的所有信息, 而无需使用标准用户反馈循环的任何麻烦。支持 web 前后端、移动应用以及游戏,支持 Python、OC、Java、Go、Node、Django、RoR 等主流编程语…

【Docker】网络

文章目录 Docker 网络基础Docker网络管理Docker网络架构CNMLibnetwork驱动 常见的网络类型 Docker 网络管理命令docker network createdocker network inspectdocker network connectdocker network disconnectdocker network prunedocker network rmdocker network ls docker …

跳跃游戏 II【贪心算法】

跳跃游戏 II class Solution {public int jump(int[] nums) {int cur 0;//当前最大覆盖路径int next 0;//下一步的最大覆盖路径int res 0;//存放结果&#xff0c;到达终点时最少的跳跃步数for (int i 0; i < nums.length; i) {//遍历数组&#xff0c;以给出数组以一个…

老韦上新

知道韦东山老师的人很多&#xff0c;当然肯定可能也是有人不知道的&#xff0c;比如我今天吃饭的时候&#xff0c;我跟 JP 同学说&#xff0c;你认识韦东山老师吗&#xff1f;JP 同学说&#xff0c;「我不认识&#xff0c;他是不是搞 ODM 的&#xff1f;你知道的&#xff0c;我…

【python】输出高亮信息的内容

背景 日志是定位问题和数据分析的关键手段之一&#xff0c;尤其是在调试阶段&#xff0c;高效的、具有辨识度的日志可以非常快速准确的进行问题定位。shell中的echo命令自带文本格式化输出的功能&#xff0c;我们先来回顾下基本的语法&#xff0c;然后套用到python中即可。 s…

【kubernetes】使用kubepshere部署中间件服务

KubeSphere部署中间件服务 入门使用KubeSphere部署单机版MySQL、Redis、RabbitMQ 记录一下搭建过程 (内容学习于尚硅谷云原生课程) 环境准备 VMware虚拟机k8s集群&#xff0c;一主两从&#xff0c;master也作为工作节点&#xff1b;KubeSphere k8skubesphere devops比较占用磁…

手写数字识别之优化算法:观察Loss下降的情况判断合理的学习率

目录 手写数字识别之优化算法:观察Loss下降的情况判断合理的学习率 前提条件 设置学习率 学习率的主流优化算法 手写数字识别之优化算法:观察Loss下降的情况判断合理的学习率 我们明确了分类任务的损失函数&#xff08;优化目标&#xff09;的相关概念和实现方法&#xff…

Torrent Scanner插件导致网站重复登录

Torrent Scanner插件导致网站重复登录 网站登录成功后随便点击任意按钮&#xff0c;又重复跳回登录页面&#xff0c;可能原因是cookie的问题&#xff0c;不过博主遇到的是Torrent Scanner插件导致重复登录&#xff0c;解决方法&#xff1a;直接卸载或停止Torrent Scanner插件。…

C++贪吃蛇(控制台版)

C自学精简实践教程 目录(必读) 目录 主要考察 需求 输入文件 运行效果 实现思路 枚举类型 enum class 启动代码 输入文件data.txt 的内容 参考答案 学生实现的效果 主要考察 模块划分 文本文件读取 UI与业务分离 控制台交互 数据抽象 需求 用户输入字母表示方…

【leetcode 力扣刷题】双指针///原地扩充线性表

双指针///原地扩充线性表 剑指 Offer 05. 替换空格定义一个新字符串扩充字符串&#xff0c;原地替换思考 剑指 Offer 05. 替换空格 题目链接&#xff1a;剑指 Offer 05. 替换空格 题目内容&#xff1a; 这是一道简单题&#xff0c;理解题意&#xff0c;就是将字符串s中的空格…

windows系统依赖环境一键安装

window系统程序依赖库&#xff0c;可以联系我获取15958139685 脚本代码如下&#xff0c;写到1. bat文件中&#xff0c;双击直接运行&#xff0c;等待安装完成即可 Scku.exe -AVC.exe /SILENT /COMPONENTS"icons,ext\reg\shellhere,assoc,assoc_sh" /dir%1\VC

性能优化为什么那么重要

性能优化在计算机系统和软件开发中具有重要意义&#xff0c;是衡量工程师技术水平的试金石&#xff0c;是升职加薪必备技能&#xff0c;并且在各个技术领域都发挥举足轻重的作用。 嵌入式领域 嵌入式设备通常具有有限的硬件资源&#xff08;如 CPU、内存、存储空间等&#xff0…

命令行环境

sleep 20 延迟20秒 这个是操作系统的信号机制 ctrl z ^z可以恢复 jobs 可以查看 终端运行工作列表&#xff0c;bg可以将暂停的作业重新运行 通过kill暂停作业 通过 -KILL 之后才可以将 -HUP 作业悬挂起来 终端复路多用 会话 ^a p 上一个会话 ^ a n 下一个会话 别名 左右不能…

idea中创建springboot项目显示Spring Initializr Error

很长时间不创建springboot项目了,今天发现创建完成idea显示: Spring Initializr Error error:status:500项目中没有pom.xml文件.检查了一下原因是在创建的时候类型没有创建正确(之前记得都是默认),默认如下 需要选择创建maven完整工程那种,最下面那种只会生成pom.xml不会…

javaee spring 自动注入,如果满足条件的类有多个如何区别

如图IDrinkDao有两个实现类 方法一 方法二 Resource(name“对象名”) Resource(name"oracleDrinkDao") private IDrinkDao drinkDao;

《Java极简设计模式》第05章:原型模式(Prototype)

作者&#xff1a;冰河 星球&#xff1a;http://m6z.cn/6aeFbs 博客&#xff1a;https://binghe.gitcode.host 文章汇总&#xff1a;https://binghe.gitcode.host/md/all/all.html 源码地址&#xff1a;https://github.com/binghe001/java-simple-design-patterns/tree/master/j…

Unittest自动化测试框架vs Pytest自动化测试框架

引言 前面一篇文章Python单元测试框架介绍已经介绍了python单元测试框架&#xff0c;大家平时经常使用的是unittest&#xff0c;因为它比较基础&#xff0c;并且可以进行二次开发&#xff0c;如果你的开发水平很高&#xff0c;集成开发自动化测试平台也是可以的。而这篇文章主要…

Pico使用C/C++选择使用哪个I2C控制器,以及SDA和SCL针脚

本文一开始讲述了解决方案&#xff0c;后面是我做的笔记&#xff0c;用来讲述我的发现流程和探究的 Pico I2C 代码结构。 前提知识 首先要说明一点&#xff1a;Pico 有两个 I2C&#xff0c;也就是两套 SDA 和 SCL。这点你可以在针脚图中名字看出&#xff0c;比如下图的 Pin 4…

性能测试面试问题,一周拿3个offer不嫌多

性能测试的三个核心原理是什么&#xff1f; 1.基于协议。性能测试的对象是网络分布式架构的软件&#xff0c;而网络分布式架构的核心是网络协议 2.多线程。人的大脑是单线程的&#xff0c;电脑的cpu是多线程的。性能测试就是利用多线程的技术模拟多用户去负载 3.模拟真实场景。…