随机多臂赌博机 (Stochastic Multi-armed Bandits):置信上界算法 (Upper Confidence Bound)

2023-05-16

前言

如果你对这篇文章感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。

本篇文章介绍一种针对「Stochastic Multi-armed Bandits (MAB)」问题的算法,即「Upper Confidence Bound (UCB)」,其通过估计摇臂的奖励区间,实现了探索与利用之间的平衡。


Stochastic Multi-armed Bandits

假设现在有一个赌博机,其上共有 K K K 个选项,即 K K K 个摇臂,玩家每轮只能选择拉动一个摇臂,每次拉动后,会得到一个奖励,MAB 关心的问题为「如何最大化玩家的收益」。

想要解决上述问题,必须要细化整个问题的设置。

在 Stochastic MAB(随机的 MAB)中,每一个摇臂在各轮中的奖励是独立同分布的,即摇臂 i i i 在各轮中的奖励均从分布 P i P_i Pi 中采样得到,将第 i i i 个摇臂的奖励均值记为 μ i \mu_i μi

假设一共有 T T T 轮,玩家每轮选择摇臂 i t i_t it,则我们希望设计一个算法来最小化下述遗憾 (regret):
regret = T max ⁡ i ∈ [ K ] μ i − ∑ t = 1 T μ i t . \text{regret}=T\max_{i\in [K]} \mu_i-\sum_{t=1}^T\mu_{i_t}. regret=Ti[K]maxμit=1Tμit.

除上述介绍的 Stochastic MAB 外,MAB 问题还有下述多种类型:

  • Adversarial MAB(对抗的 MAB):环境会发生变化,即每个摇臂的分布会发生变化;
    • Oblivious Adversary Setting(健忘的):分布的变化会被事先定义好,不会随玩家的选择发生变化(算法 Exp3 在此场景取得 O ( T ) O(\sqrt T) O(T ) 遗憾界);
    • Nonoblivious Adversary Setting(非健忘的):摇臂第 t t t 轮的分布可以依赖于玩家前 t − 1 t-1 t1 轮的选择;
  • Contextual MAB:每个摇臂在每一轮的奖励和该轮玩家的特征(即 context)有关,常出现于在线广告推送场景中;
  • Nonstationary Stochastic MAB:可以视作 Stochastic 与 Adversarial 之间的折中,即每个摇臂的分布依然会发生变化,但相邻轮之间,分布的期望值变化量,会被 Variation Budget V T ≥ 0 V_T\geq 0 VT0 约束住( μ i t \mu_i^{t} μit 表示第 i i i 个摇臂在第 t t t 轮时的期望奖励):
    ∑ t = 1 T − 1 sup ⁡ i ∈ [ K ] ∣ μ i t + 1 − μ i t ∣ ≤ V T . \sum_{t=1}^{T-1}\sup_{i\in[K]}\left|\mu_i^{t+1}-\mu_i^t\right|\leq V_T. t=1T1i[K]sup μit+1μit VT.

Upper Confidence Bound

在 Stochastic MAB 中,玩家需要对「探索」与「利用」两方面进行权衡,其中「探索」指尝试更多的摇臂,而「利用」则为选择可能有更多收益的摇臂。

为解决「探索」和「利用」的折中,Upper Confidence Bound (UCB) 算法得到了提出,其思想是「为每一个摇臂 i i i 维持一个置信上界 μ ^ i \hat{\mu}_i μ^i,使其高概率满足均值 μ i ≤ μ ^ i \mu_i\leq \hat{\mu}_i μiμ^i,随后算法每次选择具有最大置信上界 μ ^ i \hat{\mu}_i μ^i 的摇臂,进而自动实现探索和利用之间的折中」。

考虑 Chernoff-Hoeffding Bound,即:

  • 假设摇臂 i i i 共摇了 n i n_i ni 次,对应 n i n_i ni 个独立随机变量 x t ∈ [ 0 , 1 ] x_t\in [0,1] xt[0,1] t ∈ [ n i ] t\in[n_i] t[ni],令 μ ˉ i = 1 n i ∑ t = 1 n i x t \bar{\mu}_i=\frac{1}{n_i}\sum_{t=1}^{n_i} x_t μˉi=ni1t=1nixt,则有:
    P ( ∣ μ ˉ i − μ i ∣ ≤ ϵ ) ≥ 1 − 2 e − 2 n i ϵ 2 . P(\left|\bar{\mu}_i-\mu_i \right|\leq \epsilon)\geq 1-2e^{-2n_i\epsilon^2}. P(μˉiμiϵ)12e2niϵ2.

ϵ = 2 ln ⁡ α / n i \epsilon=\sqrt{2\ln \alpha / n_i} ϵ=2lnα/ni 时,可以得到:
P ( ∣ μ ˉ i − μ i ∣ ≤ 2 ln ⁡ α n i ) ≥ 1 − 2 α 4 , P\left(\left|\bar{\mu}_i-\mu_i \right|\leq \sqrt{\frac{2\ln \alpha}{n_i}}\right)\geq 1-\frac{2}{\alpha^4}, P(μˉiμini2lnα )1α42,

即以至少 1 − 2 α − 4 1-2\alpha^{-4} 12α4 的概率有 μ i ∈ [ μ ˉ i − 2 ln ⁡ α / n i , μ ˉ i + 2 ln ⁡ α / n i ] \mu_i\in [\bar{\mu}_i-\sqrt{2\ln \alpha / n_i}, \bar{\mu}_i+\sqrt{2\ln \alpha / n_i}] μi[μˉi2lnα/ni ,μˉi+2lnα/ni ],因此将置信上界定义为:
μ ^ i = μ ˉ i + 2 ln ⁡ α n i . \hat{\mu}_i=\bar{\mu}_i+\sqrt{\frac{2\ln \alpha}{n_i}}. μ^i=μˉi+ni2lnα .

由此可知,置信上界由样本均值 μ ˉ i \bar{\mu}_i μˉi 与区间宽度 2 ln ⁡ α / n i \sqrt{2\ln \alpha / n_i} 2lnα/ni 组成,其中样本均值为过去的经验,对应着利用;区间宽度为经验的不确定性,对应着探索。因此每一轮根据置信上界来选择摇臂,即可自动实现探索和利用之间的折中。

对于 Stochastic MAB 问题,UCB 算法在期望意义上的遗憾界为 O ( K log ⁡ T ) O(K\log T) O(KlogT)


参考资料

  • 周志华,王魏,高尉,张利军. (2020). 机器学习理论导引. 机械工业出版社, 北京.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

随机多臂赌博机 (Stochastic Multi-armed Bandits):置信上界算法 (Upper Confidence Bound) 的相关文章

随机推荐

  • WARNING: pip is being invoked by an old script wrapper.

  • Keil 添加库文件(xxx.h)路径

  • 时间复杂度中的log(n)底数到底是多少?

    其实这里的底数对于研究程序运行效率不重要 xff0c 写代码时要考虑的是数据规模n对程序运行效率的影响 xff0c 常数部分则忽略 xff0c 同样的 xff0c 如果不同时间复杂度的倍数关系为常数 xff0c 那也可以近似认为两者为同一量
  • ubuntu1804(树莓派)使用AV接口播放音频问题

    2条消息 在运行ubuntu 18 04的树莓派上播放声音 Qrpucp的博客 CSDN博客 config txt还需加入 audio pwm mode 61 2
  • 在Modelsim内编辑testbench并重新仿真

    方法同样适用于编辑 v文件
  • 【SSH连接阿里云服务器失败解决办法】

    SSH连接阿里云服务器失败解决办法 1 添加安全组规则 找到要修改的实例 点击实例名 xff0c 进入实例详情界面 xff0c 点击 配置安全组规则 点击配置规则 添加一条如下图所示的入方向端口22 测试连接是否成功 xff0c 若不成功
  • sklearn实战-----6.聚类算法K-Means

    1 概述 1 1 无监督学习与聚类算法 在过去的五周之内 xff0c 我们学习了决策树 xff0c 随机森林 xff0c 逻辑回归 xff0c 他们虽然有着不同的功能 xff0c 但却都属于 有监督学习 的一部分 xff0c 即是说 xff
  • 过于神奇的 ChatGPT

    实在好奇究竟用的什么数据集 xff0c 居然能得到下述问答 xff1a 最后又扣回了第一个问题 按照你的要求直接给出答案 xff0c 确实很强 xff01
  • 优质 CS 读博 (PhD) 经验贴汇总

    前言 如果你对这篇文章感兴趣 xff0c 可以点击 访客必读 指引页 一文囊括主页内所有高质量博客 xff0c 查看完整博客分类与对应链接 Advice for early stage Ph D students 读博的核心是在研究上取得进
  • 推荐系统中的协同过滤算法

    前言 如果你对这篇文章感兴趣 xff0c 可以点击 访客必读 指引页 一文囊括主页内所有高质量博客 xff0c 查看完整博客分类与对应链接 概述 协同过滤是一种推荐算法 xff0c 其通常建模为 m m m 个用户 xff0c n
  • 哈希函数的学习算法整理

    前言 如果你对这篇文章感兴趣 xff0c 可以点击 访客必读 指引页 一文囊括主页内所有高质量博客 xff0c 查看完整博客分类与对应链接 概述 哈希函数学习的两个步骤 xff1a 转为二进制编码 xff1a 可以先降维成实数 xff0c
  • O(1) 的离散概率分布采样方法 - Alias Method

    前言 如果你对这篇文章感兴趣 xff0c 可以点击 访客必读 指引页 一文囊括主页内所有高质量博客 xff0c 查看完整博客分类与对应链接 Alias Method 给定一个离散概率分布 p 61 0 3
  • 变分推断 (Variational Inference) 解析

    前言 如果你对这篇文章感兴趣 xff0c 可以点击 访客必读 指引页 一文囊括主页内所有高质量博客 xff0c 查看完整博客分类与对应链接 变分推断 在贝叶斯方法中 xff0c 针对含有隐变量的学习和推理 xff0c 通常有两类方式 xff
  • 通过ssh连接aws(亚马逊 云服务器 实例)

    一 Windows用户 windows可以使用PuTTY 和xshell xff0c 本文使用xshell xff08 1 xff09 第一步 xff1a 配置服务器信息 打开xshell xff0c 新建连接 xff0c 在菜单 连接 填
  • Spring报错解决一览

    Spring错误持续更新贴 问题一 springcloud OAuth2 0配置的时候报错 Method springSecurityFilterChain in org springframework security config an
  • k-Medoids 聚类系列算法:PAM, CLARA, CLARANS, Trimed, BanditPAM

    前言 如果你对这篇文章感兴趣 xff0c 可以点击 访客必读 指引页 一文囊括主页内所有高质量博客 xff0c 查看完整博客分类与对应链接 k k k Means 作为一种经典聚类算法 xff0c 相信大家都比较熟悉 xff0c 其将簇中所
  • 软聚类算法:模糊聚类 (Fuzzy Clustering)

    前言 如果你对这篇文章感兴趣 xff0c 可以点击 访客必读 指引页 一文囊括主页内所有高质量博客 xff0c 查看完整博客分类与对应链接 在介绍模糊聚类之前 xff0c 我们先简单地列举一下聚类算法的常见分类 xff1a 硬聚类 Hard
  • 层次聚类:BIRCH 聚类、Lance–Williams equation、BETULA 聚类

    前言 如果你对这篇文章感兴趣 xff0c 可以点击 访客必读 指引页 一文囊括主页内所有高质量博客 xff0c 查看完整博客分类与对应链接 BIRCH 聚类 BIRCH Balanced Iterative Reducing and Clu
  • 演化算法:乌鸦搜索算法 (Crow Search Algorithm)

    前言 如果你对这篇文章感兴趣 xff0c 可以点击 访客必读 指引页 一文囊括主页内所有高质量博客 xff0c 查看完整博客分类与对应链接 在机器学习中 xff0c 我们所要优化的问题很多时候难以求导 xff0c 因此通常会采用一些演化算法
  • 随机多臂赌博机 (Stochastic Multi-armed Bandits):置信上界算法 (Upper Confidence Bound)

    前言 如果你对这篇文章感兴趣 xff0c 可以点击 访客必读 指引页 一文囊括主页内所有高质量博客 xff0c 查看完整博客分类与对应链接 本篇文章介绍一种针对 Stochastic Multi armed Bandits MAB 问题的算