贝叶斯学习自动机

problem

在强化学习中,有一个经典的问题是双臂老虎机问题(two-armed bandit),agent需要每次摇动老虎机中的一个臂,每次摇动会获得一个奖励(reward)或者一个惩罚(penalty)。对于每个老虎机来说,奖励/惩罚服从伯努利分布(Bernoulli process),获得奖励的概率为ri,获得惩罚的概率为1 - ri,其中ri对于agent来说是未知的。agent的目标是,通过实验,学习到最优的选择,使获得的回报(return)最大。

solution

在提及贝叶斯自动机之前,首先说一下Beta分布,它是贝叶斯自动机的核心。

Beta distribution

Beta分布可视为一个概率的概率分布,当我们不知道一个时间发生的具体概率时,它能够给出这个事件所有可能发生的概率的可能性大小。
Beta分布是一种连续型概率密度分布,其分布函数如下:
在这里插入图片描述
其中,
在这里插入图片描述
Beta分布的期望为:
在这里插入图片描述
Beta分布的方差为:
在这里插入图片描述
由于Beta分布是概率密度分布,我们可以通过积分,得到它的概率分布函数:
在这里插入图片描述
贝叶斯推断:我们称各种假设为先验分布,先验分布加上实验数据后,得到后验分布。其中,一般用Beta分布作为先验分布。
共轭先验:对于伯努利分布,用Beta分布作为先验分布,通过贝叶斯推断后得到的后验分布依然时Beta分布的特性。
Beta分布与二项分布的关系
进行n次实验,出现实验成功的概率p服从一个显眼概率密度分布Beta( α \alpha α, β \beta β),实验出现了k次成功,那么实验成功后概率p的后验概率为Beta( α \alpha α + k, β \beta β + n - k)。
如何理解Beta( α \alpha α, β \beta β)中的 α \alpha α,和 β \beta β呢?
α \alpha α可看作是实验成功的次数, β \beta β为实验失败的次数(具体可查找Beta分布的推导过程)

Bayesian learning automaton

贝叶斯自动机的核心是Beta分布,Beta分布的概率密度函数(probability density function)和累积分布函数(cumulative distribution function)如下:
在这里插入图片描述
在这里插入图片描述

algorithm

BLA的状态为两个贝叶斯概率密度函数的参数,分别代表两个臂。BLA推断后做出选择arm1或arm2的选择,返回给老虎机,老虎机则根据自身的伯努利分布给出该步选择是获得奖励还是惩罚。奖励/惩罚返回给BLA进行学习。不断迭代,直至选出最优的一个arm。
在这里插入图片描述
算法如下:
在这里插入图片描述

  1. 初始化参数,将 α \alpha α1 β \beta β1 α \alpha α2 β \beta β2在第一轮时设置为1,表示无信息先验,两个arm选择概率是相同的。
  2. 对于迭代的N轮,在每轮中,画出arm1和arm2的Beta分布,在Beta分布上随机选择x1, x2。
  3. 比较x1和x2,若x1大于x2,那么选择arm1,得到对应的奖励或惩罚。
  4. 若得到奖励,更新 α \alpha% α(即成功次数加一);若得到惩罚,更新 β \beta β(即惩罚次数加一)。

定义p1N为选择arm1的概率,即P(X1N > X2N | infoN)。 infoN为第N轮的参数信息。

example

给定arm1获得奖励的概率r1为 0.9,arm2获得奖励的概率r2为0.6,均服从伯努利分布。
初始化: α \alpha α1 = β \beta β1 = α \alpha α2 = β \beta β2 = 1, agent选择arm1的概率为0.5。
step1: 画出图像选择,得到随机变量x2 > x1, 选择arm2并获得了惩罚,更新选择两个arm的Beta分布,估计arm2获得奖励的概率下降,agent选择arm1的概率变成2/3。此时的Beta分布如下:
在这里插入图片描述
step2:再次画出图像选择,得到随机变量x2 > x1, 选择arm2并获得了奖励,更新选择两个arm的Beta分布,估计arm2获得奖励的概率下降,agent选择arm1的概率变成0.5。此时的Beta分布如下:
在这里插入图片描述
step3:第三次选择中,x1 > x2,选择arm1并获得了奖励,更新选择两个arm的Beta分布,估计arm1获得奖励的概率上升,agent选择arm1的概率变成0.7。此时的Beta分布如下:
在这里插入图片描述

step10:经过10轮迭代,agent选择arm1的概率变成0.95。Beta分布如下:
在这里插入图片描述

step100:经过100轮迭代,gent选择arm1的概率变成0.98。
最后agent学习到了选择arm1是最优的。

result analysis

  1. BLA是可以自动更正学习的
    假设有这样一个场景,agent在学习过程中,出现了对r1的估计值小于r2的估计值,那么agent会倾向于选择arm2,尽管r1的真实值大于r2。而BLA对于这样的场景是能够自动更正,使得agent向选择arm1作为最优的方向前进。
  2. BLA只会收敛到最优的arm
    当N趋近于无穷时,选择arm1的概率也会接近1(当r1 > r2)
    【具体的证明参见原文,参考文献第一个】

————————————————————————————
参考文献or资料:
【1】 O. -C. Granmo, “A Bayesian Learning Automaton for Solving Two-Armed Bernoulli Bandit Problems,” 2008 Seventh International Conference on Machine Learning and Applications, San Diego, CA, USA, 2008, pp. 23-30, doi: 10.1109/ICMLA.2008.67.
【2】https://zhuanlan.zhihu.com/p/149964631
【3】https://www.zhihu.com/question/30269898
【4】https://zhuanlan.zhihu.com/p/69606875

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值