bandit算法(3)--UCB算法

引言

前面已经介绍了两种bandit算法— ϵ \epsilon ϵ-greedy算法和softmax算法。现在我们来总结下这两种算法的共有属性:

  • 两种算法在每一轮选择时,默认都是选择到目前为止最好的臂;

  • 除此之外,算法会尝试去探索一些目前看起来不是最好的臂:
          - ϵ \epsilon ϵ-greedy算法探索的时候完全是随机的。
          -softmax算法探索是基于到当前时刻臂的收益概率。收益概率越高,选择的概率越高。

  • 两种算法都能够通过随着时间动态修改基本参数来实现更好的性能。

     这种随机性,或者仅仅考虑收益回报的算法有一个很明显的缺点就是健壮性比较差,很容易受噪音数据影响。本篇要介绍的UCB算法,是一种完全不同的算法。首先,它是完全不使用随机性的;其次,它除了要考虑收益回报外,还要考虑一点,这个收益回报的置信度有多高。
     问题来了,怎么来定义这个置信度呢?这是UCB算法的核心(UCB实Upper Confidence Bounds的首字母缩写)。实际UCB算法包括很多种。本文介绍的只是其中一种。现在,让我们来正式定义这个置信度以及整个UCB算法。
首先,考虑置信后定义的收益回报为:
                  这里写图片描述
其中 r s r_s rs为在s时刻观察到的收益; n i , t n_{i,t} ni,t为当当前t时刻,臂i被选中的次数。用一句话来描述这个新的收益就是,臂被选中的总次数中,有收益的占比。或者也可以说是收益的一个平均值。
然后,给每个臂赋予一个最终的取值:
                  这里写图片描述

其他t为摇臂次数; n i , t n_{i,t} ni,t为i臂到t次时摇了多少次。公式的后一项衡量的就是置信度,也就是我们对于第一项的回报的估计的有多确信。
最后的UCB算法流程如下:
                  这里写图片描述

算法是不是很好理解?

补充:
关于UCB的计算公式,还可以这么理解:
公式右边的第一项,可以称之为“Exploitation Term”; 第二项,可以称之为“Exploration Term”。 为什么? 首先,如果一个臂,到t时刻为止,已经尝试了很多次。那收益(UCB公式右边第一项)越高,越会继续采用。这就是Exploit; 此外,如果一个臂尝试的次数很少,那么UCB右边第二项就会比较高。也就是相对尝试的机会更高。这也就是Exploration。也就是相应也会鼓励去尝试哪些之前尝试的少的臂。
参考:
【1】bandit_algorithms_for_website_optimization
【2】Learning and Optimization for Sequential Decision Making Lecture 3: UCB Algorithm, Worst-Case Regret Bound

  • 10
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值