多臂赌博机,multi-armed bandit problem(1):

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情


感觉多臂赌博机方面的中文文献很少,偶尔碰到,记录一下,方便其它人学习。感谢原作者:http://mlyixi.byethost32.com/blog/?tag=%E5%A4%9A%E8%87%82%E8%B5%8C%E5%8D%9A%E6%9C%BA


假想一个风投他想着他的收益最大化,这时他总会面临一个两难: 何时去投资那些已经成功的公司,何时去投资那些还没有成功但具有很大潜力的公司.这里套用股市里的一句话:收益总是伴随着风险的. 一个成功的风投必须处理好这个勘探-开发两难(exploration and exploitation tradeoff): 勘探过多意味着不能获得较高的收益,而开发过多意味着可能错过更高回报的机会.

在现实生活和商业中我们都会面对这种两难,而且没有正确的答案教你怎么去做--可能的原因是我们对世界的认识不够清楚(世界太复杂,我们太年轻!!!). 但是在数学领域, 这个问题已经被研究过,被称为多臂赌博机问题(multi-armed bandit problem),也称为顺序资源分配问题(sequential resource allocation problem). 它被广泛应用于广告推荐系统,源路由和棋类游戏中.

描述

假设有KK个老虎机并排放在我们面前,我们首先给它们编号1,...i,...,K1,...i,...,K,每一轮,我们可以选择一个老虎机来按,同时记录老虎机给出的奖励. 假设各个老虎机不是完全相同的,经过多轮操作后,我们可以勘探出各个老虎机的部分统计信息,然后选择那个看起来奖励最高的老虎机. 在多臂赌博机中,我们把老虎机称为臂.

这里有两个问题:

奖励以什么方式产生

我们可以想见有很多种方式产生这种奖励
随机式(stochastic bandit): 臂ii的奖励服从某种固定的概率分布DiDi
对抗式(adversarial bandit): 赌场老板使坏,会动态调整臂的奖励,比如让你选的臂的奖励很低,但是其它未选的臂奖励变高.注意这里赌场老板不能也不会使全部臂的奖励变为0,因为这样会使我们无法得到奖励,这时我们体验到的是任何策略都是无差别的.
马尔可夫式(Markovian bandit): 臂奖励由马尔可夫链定义.

如何测量策略的好坏

简单的以总奖励作为测量策略好坏的标准是不切实际的. 所以我们定义遗憾(regret)作为策略好坏的指标,指的是我们可以达到的最理想总奖励与实际得到的总奖励.

随机式(stochastic bandit)

在本节中只讨论随机式多臂赌博机问题及UCB策略集,并假定各臂给出的奖励XiXi是归一化到[0,1][0,1]之间的随机变量,其期望用μiμi表示. 在第t轮的奖励用Xi,tXi,t表示.

同时,XiXiXjXj独立,Xi,tXi,t 和Xi,sXi,s独立.

我们把该问题数学化:

定义随机式多臂赌博机:
已知参数: 臂数KK,轮数TKT≥K
未知参数: 在[0,1]区间上的各臂分布DiDi
过程: 每轮(1)从1,...,K1,...,K中选择一个臂itit. (2)该臂独立地给出服从DitDit的奖励

同时我们需要定义策略的好坏指标--累积遗憾:

定义: 给定一个策略AA和一个动作集1,...i,...,K1,...i,...,K,在TT时间后AA的累积遗憾是最佳臂的期望奖励与AA的期望奖励之差.

在上述随机变量XiXi中,我们总可以找到一个期望最大的臂,使得:

μ=max1iKμiμ∗=max1≤i≤Kμi

同时我们可以定义

i=σ(1)i∗=σ(1)


其中σ()σ()表示一个从大到小排序的置换.

一个选择策略AA在T轮后获得的奖励定义为:

GA(T)=t=1TXit,tGA(T)=∑t=1TXit,t

所以,策略AA的累积遗憾RA(T)RA(T)为:

RA(T)=Gi(T)GA(T)RA(T)=Gi∗(T)−GA(T)

其中Gi(T)Gi∗(T)为理想策略所获得的收益,该策略表示我们已知那个期望最大的臂并总选择那个臂.

所以一个好的策略是使

E(RA(T))=E(Gi<em>(T))E(GA(T))=μ</em>TE(GA(T))E(RA(T))=E(Gi<em>(T))−E(GA(T))=μ</em>T−E(GA(T))


尽可能小.

UCB1算法

这里我们介绍一个最常见的bandit策略--UCB1算法,该算法的精神被认为是乐观地面对不确定性:我们首先猜测各臂可能给出的奖励,然后选择那个最高臂,如果实际的奖励较少,我们会尽快地降低对该臂的猜测,反之,我们就尽量多选择这个臂. 这里面的猜测,其实就是对各臂的奖励建立了一个指数,通过动态调整这个指数,我们最终将确定那个期望奖励最高的臂.

UCB1算法:
在前KK轮,每臂各选择一次,
t=K,K+1...t=K,K+1...轮:

  1. 选择指数IiIi最大的臂,其中Ii=x¯i+2logtniIi=x¯i+2log⁡tni,其中x¯ix¯i是均值,nini是臂ii当前累积被选择的次数
  2. 记录获得的奖励,并更新x¯ix¯inini

当UCB1算法被执行时,我们可以确定如下定理,其中Δi=μμiΔi=μ∗−μi:

定理: UCB1累积遗憾的期望不超过

8i:μi<μlogTΔi+(1+π2/3)(j=1KΔj)8∑i:μi<μ∗log⁡TΔi+(1+π2/3)(∑j=1KΔj)

定理的证明我就不在这里列出了,具体可以参考Finite-time Analysis of the Multiarmed Bandit Problem.

我们发现UCB1算法的累积遗憾期望是O(logT)O(log⁡T)的,这是不是就足够了呢? 当然不是,如果最坏情况下的累积遗憾过高,该算法其实是没有意义的.

UCB1最坏情况

定理: 最坏情况下的UCB1累积遗憾不超过O(KTlogT)O(KTlog⁡T)

我们通过累积遗憾期望函数分析对其进行简单的证明:
首先,我们对累积遗憾期望进行偏微分,得到

RΔi=8logTΔ2i+1+π23∂R∂Δi=8log⁡TΔi2+1+π23


让它等于0,则有Δi=8logT1+π2/3=O(logT)Δi=8log⁡T1+π2/3=O(log⁡T),但是这时是RR的一个极小值点R=O(KlogT)R=O(Klog⁡T).同时,如果我们让ΔiΔi尽可能小的话,RR将变得任意大,但是这时所有的奖励都差不多,所以些时还是极小值. 如果我们让ΔiΔi等于1的话,我们还是得到R=O(KlogT)R=O(Klog⁡T)

其实,如果我们让Δi=ΔΔi=Δ,这时,累积遗憾期望将会是ΔTΔT,代入公式可得最坏情况下的累积遗憾为O(KTlogT)O(KTlog⁡T)

NEXT

下节我会对随机式bandit进行理论上的描述和其它UCB算法的总结.


Multiarmed bandit problem老虎机问题)的UCB1解法简介 最近在看蒙特卡洛树搜索相关的东西,看到了这个Multiarmed bandit problem。把自己的理解整理分享一下。 首先说一下Multiarmed bandit problem是什么问题 Multiarmed bandit根据我看各种介绍得到的理解是这样的一种赌博工具: 1.它有个可操作的拉杆 2.操作每个拉杆所得的收益是随机的,但是每个拉杆收益的平均值(期望值)并不相同,有些高... 阅读详情

相关推荐

强化学习笔记1Multi-armed Bandits

1. 强化学习的元素 对应Sutton书的1.3节。 强化学习包括了两个基本元素 agent 和 enviroment,除此之外还包含有四个主要的子元素: . policy : 定义了机器人在每个特定时刻的选择动作的策略。它可以看做是从环境的状态集合到可采取的动作集合之间的一个映射。 . reward signal :定义了强化学习问题的目标。在每一步动作,环境都会给机器人一个数值反馈( r...

zte10096334的博客 3381

Multi Armed Bandit Algorithm

一个可以帮助排序的算法。该算法利用赌徒模型模拟排序过程,是一个非常好用的算法~

老虎机问题 (MultiArmed Bandit Problem) 原理与代码实例讲解

老虎机问题 (Multi-Armed Bandit Problem) 原理与代码实例讲解 1. 背景介绍 1.1 什么是老虎机问题? 老虎机问题(Multi-Arm

AI天才研究院 1834

冷启动中的老虎机问题(Multi-Armed Bandit,MAB)

Thompson sampling Thompson Sampling是基于Beta分布进行的,所以首先看下什么是Beta分布? Beta分布可以看作是一个概率的概率分布,当你不知道一个东西的具体概率是少时,他可以给出所有概率出现的可能性。Beta是一个非固定的公式,其表示的是一组分布(这一点和距离计算中的闵可夫斯基距离类似)。 比如: 二项分布(抛n次硬币,正面出现k次的概率) P(S=k)=...

Thinkgamer博客 6201

DRL实战 : N-Armed Bandits问题

强盗(n台老虎机)问题 在构建AlphaGo之前,先尝试一个简单的问题热热身,nnn 台老虎机(强盗问题),把对 nnn 台老虎机操作看作是 nnn 个不同的动作,即:每个动作 aaa 对应一台特定的老虎机.在每次游戏 kkk 中,玩家可以操作任意一台老虎机,这个操作即:动作 aaa,操作后玩家会获得奖励 R(k)R(k)R(k), 每台老虎机的奖励概率是固定的. 如何在这个游戏中获得更高...

机器会学习的博客 1054

赌博机multi-armed bandit problem(2):

感觉赌博机方面的中文文献很少,偶尔碰到,记录一下,方便其它人学习。感谢原作者:http://mlyixi.byethost32.com/blog/?cat=35 这一节我们来了解下赌博机问题的提出和理论基础,最后讨论下UCB系列策略.当然,这里的赌博机问题是随机式的. 随机式赌博机的问题描述就不在这里重复了,可以参考上一节 理论 问题的证明

mmc2015的专栏 7407

赌博机multi-armed bandit problem(3):

感觉赌博机方面的中文文献很少,偶尔碰到,记录一下,方便其它人学习。感谢原作者:http://mlyixi.byethost32.com/blog/?cat=35 在上两节我们讨论的UCB系列算法面对的情况是静态的,即各的分布参数不会改变,于是我们就"乐观地面对不确定性"--根据采样平均值尽快地确定那个最好的. 但是在现实世界中收益结构是更复杂的,非静态的

mmc2015的专栏 7051

强盗(multi-armed bandit)问题探究

转自:http://mlyixi.byethost32.com/blog/?p=155 04Oct 2014 赌博机系列(1) by mlyixi ⋅ Leave a Comment 假想一个风投他想着他的收益最大化,这时他总会面临一个两难: 何时去投资那些已经成功的公司,何时去投资那些还没有成功但具有很大潜力的公

white_gl的博客 1万+

强盗(multi-armed bandit)问题探究-

转自 http://mlyixi.byethost32.com/blog/?cat=35 10Dec 2014 赌博机系列(2) by mlyixi ⋅ Leave a Comment 这一节我们来了解下赌博机问题的提出和理论基础,最后讨论下UCB系列策略.当然,这里的赌博机问题是随机式的. 随机式赌博

white_gl的博客 2717

AI教育技术解析:从个性化推荐到自适应学习系统架构

个性化学习作为教育技术的核心概念,通过数据分析和机器学习算法实现定制化教学路径。其技术原理基于学习者画像构建、行为模式分析和智能推荐引擎,能够根据学生的知识水平、学习风格和进度动态调整教学内容。这种数据驱动的教育模式具有显著的技术价值,能够提升学习效率、实现精准干预,并规模化解决因材施教的难题。在教育科技、在线学习平台和企业培训等应用场景中,个性化学习系统通过协同过滤、知识图谱和自适应算法等技术,为每个学习者提供最优的学习体验。本文结合AI私校的实际案例,深入解析了推荐引擎、自然语言处理和计算机视觉等技术在

a304096740的博客 484

Multi-armed Bandits(老虎机问题)

作者:微软亚洲研究院 链接:https://www.zhihu.com/question/53381093/answer/245802834 来源:知乎 https://mp.weixin.qq.com/s?__biz=MzAwMTA3MzM4Nw==&amp;mid=2649441835&amp;idx=1&amp;sn=abf10e00dd2354a0f256620b9e1fcda9&amp...

奔流聚海 2万+

强化学习方法(一):探索-利用困境exploration exploitation,Multi-armed bandit

欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld。 技术交流QQ群:433250724,欢迎对算法、技术感兴趣的同学加入。 18年新开一个强化学习方法系列,督促自己能够再不断扩充知识并分享给更的同学。其实前面写的机器学习方法系列和深度学习方法系列,也都还没有写够,平时工作比较忙,更新很慢,但是我还是会努力更新的。今天开始记录一些强化学习的知识,这些内容以...

Bin 的专栏 2万+

从零开始强化学习一:Bandit Problem

从零开始强化学习一:Bandit Problem

gghhaagg的博客 2787

老虎机证明过程的两种解读视角

老虎据算法是一种重要的在线学习算法,有很应用场景。

Mr.Daozhi的博客 336

Exploration vs Exploitation (Multi-arm Bandit Problem

策略制定, UCB算法

qingmuluoyang的博客 329

武装强盗问题陈述

化学习汤普森抽样解决武装匪徒问题

weixin_44955407的博客 473

Multi-Armed bandit --------强化学习(含ucb python 代码)

 前言:阅尽千章泪成江,看了N人写的博客,感觉很人为让人看不懂而写的,我写的目的就是为了简单了解,入门很不深 1.什么是老虎机? 一个赌徒,要去摇老虎机,走进赌场一看,一排老虎机,外表一模一样,但是每个老虎机吐钱的概率可不一样,他不知道每个老虎机吐钱的概率分布是什么,那么每次该选择哪个老虎机可以做到最大化收益呢?这就是赌博机问题(Multi-armed bandit probl...

qq_42105426的博客 5996

强化学习基础——bandit

目录 为选择而生 为错误买单代价 经典方法 朴素Bandit算法 ε-Greedy算法 Thompson sampling算法 Thompson sampling算法流程 UCB UCB算法流程 LinUCB Context Bandit-附加信息刻画决策过程 Context Bandit如何学习 LinUCB算法流程 LinUCB代码 LinUCB with Hyb...

baymax_007的博客 3767
上一篇: full paper、short paper、poster;transaction、Conference、Workshop
下一篇: 多臂赌博机,multi-armed bandit problem(2):
mmc2015
博客等级 码龄12年 1195粉丝 341原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值