首页 > 编程语言 >UCB算法(帮助做出最优选择的算法)

UCB算法(帮助做出最优选择的算法)

时间:2024-09-08 21:49:20浏览次数:10  
标签:选择 奖励 算法 麦当劳 UCB 汉堡 最优

UCB(Upper Confidence Bound)算法是一种用于解决多臂老x虎机问题的启发式方法。多臂老x虎机问题是一种用以模拟现实世界决策问题的数学模型,其中“臂”代表不同的行动或选择,而“老x虎机”代表这些行动的随机结果。UCB算法的目标是在探索(exploration)和利用(exploitation)之间找到最佳平衡,以最大化累积奖励。

UCB算法的核心思想是为每个臂维护一个置信上界,这个置信上界是基于臂的历史奖励和被选择的次数计算得出的。算法在每一步选择具有最高置信上界的臂进行操作。这样,算法会倾向于选择那些既有较高期望奖励又较少被探索的臂。

UCB算法的关键步骤包括:

1. 初始化:为每个臂设置初始的估计奖励和计数器。

2. 选择:对于每个臂,计算其UCB值。UCB值通常由以下公式给出:

其中,t 是当前的回合数, ni是第 i 臂被选择的次数,估计奖励是第  i 臂的平均奖励估计。

3. 更新:选择具有最高UCB值的臂,并观察其结果。

4. 重复:重复步骤2和3,直到达到某个终止条件,如达到最大回合数或达到特定的性能标准。

UCB算法的优点是它不需要对奖励分布的先验知识,并且可以适应性地调整探索和利用的平衡。UCB算法在理论和实践中都得到了广泛的研究和应用,特别是在在线推荐系统、广告投放、临床试验设计等领域。


 

假如说你需要吃饭,你可以选择麦当劳,肯德基和汉堡王

你前三次分别尝试了肯德基,汉堡王和麦当劳。

你点的套餐是其中一种牛肉汉堡的套餐。你觉得汉堡王最好吃,那么你第4次选择了汉堡王,你尝试了别的套餐,汉堡王没有给你和上次一样好的感受,那么汉堡王的估计奖励就降低了,汉堡王的UCB参数也降低了,而麦当劳和肯德基的UCB参数随着回合数的增大,以及因为没有被选择次数的增加而增加了。直到可能麦当劳的UCB参数变大,你尝试了麦当劳,麦当劳给你的感觉依然很好,那么你尝试麦当劳的次数会增大,麦当劳的乐观加分会变小,但是由于麦当劳的估计奖励非常稳定的高,慢慢的就让平均估计奖励趋于了真值。最终你发现麦当劳是最优选择。

 

标签:选择,奖励,算法,麦当劳,UCB,汉堡,最优
From: https://www.cnblogs.com/tompaper7-/p/18403553

相关文章

  • 代码随想录算法训练营,9月7日 | 150. 逆波兰表达式求值,239. 滑动窗口最大值,347.前 K 个
    150.逆波兰表达式求值题目链接:150.逆波兰表达式求值文档讲解︰代码随想录(programmercarl.com)视频讲解︰逆波兰表达式求值日期:2024-09-07想法:用栈解决,遇到运算符取前两个数字计算(表达式总是成立的,不用做额外的判定)Java代码如下:classSolution{publicintevalRPN(Stri......
  • 《动手学深度学习》笔记4——线性回归 + 基础优化算法
    李沐老师:线性回归是机器学习最基础的一个模型,也是我们理解之后所有深度学习模型的基础,所以我们从线性回归开始1.线性回归由于是案例引入,没有很难的知识点,咱直接贴上李沐老师的PPT:1.1线性模型--单层神经网络李沐老师:神经网络起源于神经科学,但现在深度学习的发展......
  • 文心一言 VS 讯飞星火 VS chatgpt (342)-- 算法导论23.2 1题
    一、对于同一个输入图,Kruskal算法返回的最小生成树可以不同。这种不同来源于对边进行排序时,对权重相同的边进行的不同处理。证明:对于图G的每棵最小生成树T,都存在一种办法来对G的边进行排序,使得Kruskal算法所返回的最小生成树就是T。如果要写代码,请用go语言。文心一言:证明为了证明对......
  • 算法编程题(Day01)
    1.雀魂启动!小包最近迷上了一款叫做雀魂的麻将游戏,但是这个游戏规则太复杂,小包玩了几个月了还是输多赢少。于是生气的小包根据游戏简化了一下规则发明了一种新的麻将,只留下一种花色,并且去除了一些特殊和牌方式(例如七对子等),具体的规则如下:总共有36张牌,每张牌是1~9。每个数字......
  • 图论篇--代码随想录算法训练营第五十三天打卡| 110. 字符串接龙,105.有向图的完全可达
    110.字符串接龙题目链接:110.字符串接龙题目描述:字典strList中从字符串beginStr和endStr的转换序列是一个按下述规格形成的序列: 序列中第一个字符串是beginStr。序列中最后一个字符串是endStr。 每次转换只能改变一个字符。 转换过程中的中间字符串必须是字典......
  • 深入解析多智能体强化学习算法的训练效率
    深入解析多智能体强化学习算法的训练效率在多智能体强化学习(MARL)领域,不同算法的训练效率和最终性能差异显著。本文将深入分析几种主流MARL算法的训练特性,探讨影响其效率的关键因素。1.算法概览我们将讨论以下几种典型的MARL算法:VDN(ValueDecompositionNetworks)QM......
  • 算法题之水壶问题
    水壶问题有两个水壶,容量分别为 x 和 y 升。水的供应是无限的。确定是否有可能使用这两个壶准确得到 target 升。你可以:装满任意一个水壶清空任意一个水壶将水从一个水壶倒入另一个水壶,直到接水壶已满,或倒水壶已空。示例1: 输入:x=3,y=5,target=4输出:tru......
  • 各排序算法及其时间复杂度比较
    排序算法及其时间复杂度比较在C语言中,排序算法是常见的算法之一,用于将一组数据按照一定顺序排列。下面我将简要介绍几种常见排序算法的时间复杂度,并给出每种排序算法的C语言代码示例。1.插入排序(InsertionSort)时间复杂度:平均和最坏情况:O(n^2)最好情况:O(n)(当输入数组已经排......
  • Java 面试题:Java的垃圾收集算法 --xunznux
    文章目录标记算法可达性分析算法标记算法的基本流程:标记算法的特点:标记算法的局限性:标记算法的优化:结论:1.标记-清除算法(Mark-Sweep)基本原理:优点:缺点:2.复制算法(Copying)核心思想基本原理:优点:缺点:3.标记-整理算法(Mark-Compact)基本原理:优点:缺点:4.分代收集算法(Genera......
  • 算法-动态规划-其他
    1.打家劫舍(LeetCode)你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警......