用外行的术语来说,汤普森抽样是什么?


14

我无法理解汤普森采样及其工作原理。我正在阅读有关“多臂强盗”的信息,并且在阅读了“最高可信度绑定算法”后,许多文本都暗示汤普森采样的性能要优于UCB。用外行或简单术语来说,汤普森抽样是什么?

随时提供参考文章以进一步理解。

Answers:


9

我将尝试不做任何数学解释。在回答关于MAB问题的另一个问题时,我从某些观点中重复了部分答案。


多臂匪问题中的战略权衡:多臂匪问题中,赌徒每轮打一个“土匪”,并试图在给定回合数内最大化其总预期回报。每个土匪的预期回报由问题中的一些未知参数来描述,因此,当我们在每一轮中观察到更多结果时,我们将获得有关这些未知参数的更多信息,因此,还将获得有关各个土匪的预期回报的信息。 。在每个回合中(最后一回合除外),人与生物圈问题涉及赌徒在两个目标之间的战略权衡

  • 立即获得的奖励:在每个回合中,他都希望选择一种分配方式,以使他在这一回合中获得较高的期望报酬,这意味着他(目前)认为具有较高的平均报酬的分配方式是偏爱的;

  • 未来的奖励(受信息增益的影响):另一方面,他希望通过获取有关分配的更多信息(尤其是那些他玩得不多的信息)来完善对真实预期奖励的了解,以便在以后的比赛中改善他的选择。

这两件事的相对重要性将决定权衡,而这一相对重要性受许多因素影响。例如,如果问题中只剩下少量回合,那么对未来试验的推断就相对没有价值,而如果还有大量剩余回合,则对未来奖励的推断就相对更有价值。因此,赌徒需要考虑要在当前回合中将最大精力集中在使即时收益最大化上,以及要从中偏离多少,以进一步了解决定每个土匪预期收益的未知参数。


Thompson采样:Thompson采样的基本思想是,在每个回合中,我们都会利用对机器的现有知识,即对未知参数的后验信念,然后从该后验分布中“采样”参数。这个采样参数为每台机器产生了一组预期收益,现在我们在该采样参数下押注具有最高预期收益的机器。

从表面上看,汤普森采样方案似乎涉及尝试使每个回合中的即时预期收益最大化(因为它涉及对参数采样后的此最大化步骤)。但是,由于该方法涉及从后验随机抽取参数,因此该方案涉及隐式最大化当前奖励的变化形式,而不是寻找更多信息。大多数时候,我们会得到一个参数“样本”,该参数位于后验主要部分中的某处,并且机器的选择将大致近似于即时奖励的最大化。但是,有时我们会随机采样一个位于后验分布尾部的参数值,在这种情况下,我们最终会选择一台不能使即时奖励最大化的机器-即,这将构成更多的“搜索”以协助将来的回报。

汤普森(Thompson)方案还具有很好的特性,即随着我们获得更多信息,我们倾向于减少“搜索”,并且这模仿了该问题中理想的战略取舍,在此问题中,我们希望在获得更多信息时较少关注搜索。随着我们越来越多地进行回合并获得越来越多的数据,后验收敛于真实参数值,因此汤普森方案中的随机“采样”变得更加紧密地围绕参数值,这将导致最大化立即获得奖励。因此,该方案存在一种隐含的趋势,即在信息很少的情况下早期就更加“面向搜索”,而在有大量数据的情况下则倾向于“面向搜索”。

话虽如此,汤普森采样方案的一个明显缺点是它没有考虑MAB问题中剩余的回合数。该方案有时是基于具有无限回合的游戏而制定的,在这种情况下,这不是问题。但是,在具有有限回合的MAB问题中,最好考虑剩余回合的数量,以便在以后的回合数量减少时减少“搜索”。(特别是,最后一轮的最佳表现是完全忽略搜索,只押在后期望收益最高的匪徒身上。)汤普森计划不这样做,因此它将以某种方式玩有限回合游戏在某些情况下,这显然不是最佳选择。


1
我希望我可以对此表示赞赏。我可能会添加我将如何更新后验者-例如,如果后验者表示为正态分布-如何计算后验者的均值和标准差的更新。我之所以这样说,是因为我不认识自己
Mellow

5

我会试一试,希望您喜欢!下面有一些公式可能会让您感到恐惧。我不希望这样,因为我会尽我所能以最简单的方式来解释它们。

这是两个公式:

  • P(r|θ,a,x)
  • P(θ|D)

TL; DR

汤普森采样让您

  1. 从您认为可能的所有模型参数中选择一个随机模型参数。
  2. 根据该特定模型参数执行一次。
  3. 观察您通过该特定模型参数获得的回报。
  4. 从新的经验中学习,并更新关于可能的模型参数的信念。

可能性?

raX

那那个怪圈呢?

θθθ,您会知道情境+动作与奖励之间的关系,并且容易采取最佳行动。

那么,我们如何了解这些模型参数,以便获得最大的回报呢?

θθ

您对此事还没说

θθ

现在,汤姆森抽样建议如何应对所有这些不确定性?

汤姆森抽样(Thomson Sampling)提出了一个非常简单的建议:只需从后验中选择一个随机模型参数,采取措施并观察会发生什么。例如,当您从未出门时,unhappiness-when-rain-on-head可以是任何参数。因此,我们只选一个,我们假设下雨时我们会感到非常不高兴。我们看到正在下雨(上下文),所以我们采取了一个保护伞(动作),因为我们的模型参数告诉我们这是我们可以获得最大报酬的方式。确实,您观察到在雨中用雨伞走路时会有些脾气,但并不是很不开心。从中我们得知,雨+雨伞脾气暴躁。下次下雨时,您会再次随机选择当头顶下雨时会发生什么。这次可能根本不会打扰您。然而,一旦您到达目的地的中途,您就拧湿了,您会发现没有雨伞的雨真的很糟糕。这减少了您对头顶不快乐的不确定性,因为现在您知道这可能很高。

这听起来很简单!

是的,这并不复杂。困难的部分是从模型参数后验中采样。很难获得并维护所有模型参数的分布,这也适用于您的特定问题。但是...这绝对是可行的:)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.