引言

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

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

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

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

其他t为摇臂次数;ni,t为i臂到t次时摇了多少次。公式的后一项衡量的就是置信度,也就是我们对于第一项的回报的估计的有多确信。
最后的UCB算法流程如下:
                  bandit算法(3)--UCB算法

算法是不是很好理解?

参考:
【1】bandit_algorithms_for_website_optimization
【2】Learning and Optimization for Sequential Decision Making Lecture 3: UCB Algorithm, Worst-Case Regret Bound

相关文章:

  • 2021-07-09
  • 2021-06-24
  • 2021-06-04
  • 2021-06-08
  • 2022-12-23
  • 2021-03-09
  • 2022-01-24
  • 2021-08-19
猜你喜欢
  • 2021-04-30
  • 2021-12-31
  • 2022-12-23
  • 2021-06-04
  • 2021-06-14
  • 2021-08-15
  • 2022-02-25
相关资源
相似解决方案