多臂老虎机问题的目标是估计每个臂(即前面示例中要显示的广告)的奖励分布的参数。此外,衡量我们对估计的不确定性是指导探索策略的好方法。这个问题非常适合贝叶斯推理框架,汤普森采样所利用的就是此框架。贝叶斯推理从先验概率分布(对参数 θ 的初始想法)开始,并在数据可用时更新此先验分布。这里, θ 指的是正态分布的均值和方差,以及伯努利分布观测到1的概率。因此,贝叶斯方法将参数视为给定数据的随机变量。其对应公式如下:
在这个公式中, p ( θ )是 θ 的 先验分布 ,代表了当前对其分布的假设。 X 表示数据,我们通过它获得 后验分布 p ( θ | X )。这是我们根据观察到的数据对参数分布的更新假设。 p ( θ | X )被称为 可能性 (观察给定参数的数据 X ), p ( X )被称为 证据 。
接下来,看看如何对结果类型为0~1的案例实现汤普森采样,例如在在线广告场景中如何实现采样。
在我们的示例中,对于给定的广告 k ,观察点击是一个带有参数 θ k 的伯努利随机变量,我们试图估计它。由于 θ k 本质上是广告 k 在显示时被点击的概率,因此点击率介于0和1之间。请注意,除在线广告之外的许多问题都有这样的二值结果。因此,我们的讨论和这里的公式可以扩展到其他类似情况。
现在,让我们看看如何使用贝叶斯方法来解决我们的问题:
❑最初,我们没有任何理由相信给定广告的参数是高是低。因此,假设 θ k 在[0,1]上具有均匀分布是有意义的。
❑假设广告 k 被展示并产生了点击。我们将此作为更新 θ k 概率分布的信号,以便期望值向1移动一点。
❑随着收集的数据越来越多,我们还应该看到参数收缩的方差估计。这正是我们想要平衡探索和利用的方式。当使用置信上界时,我们做了类似的事情:我们使用对参数的估计以及估计周围的相关不确定性来指导探索。汤普森采样使用贝叶斯推理,做法完全相同。
❑此方法告诉我们从参数的后验分布 p ( θ k | X )中抽取样本。如果 θ k 期望值高,我们很可能会得到更接近1的样本。如果因为那时广告没有被多次选择,所以使方差较高,那么我们的样本也会有高方差,这将导致探索。在给定的时间步,我们为每个广告抽取一个样本并选择最大的样本来确定要展示的广告。
在我们的示例中,应用之前描述的逻辑,可能性(广告展示导致点击的机会)是伯努利分布。以下是用较少的技术术语描述的实际情况:
❑我们想了解每个广告的点击率是多少。我们有估计,但对它们不确定,所以我们将概率分布与每个点击率相关联。
❑随着新数据的出现,点击率的概率分布被更新。
❑到了选择广告的时候,我们会猜测每个广告 k 的点击率,即样本 θ k 。然后选择碰巧猜到最高点击率的广告。
❑如果广告点击率的概率分布有很大的方差,这意味着这个广告点击率非常不确定。这将导致我们对该特定广告进行疯狂猜测并更频繁地选择它,直到方差减少——也就是说,我们让这个广告的点击率变得更加确定。
现在,来谈谈伯努利分布的更新规则。如果你不完全理解这里的术语,也没关系。前面的解释应该告诉你发生了什么:
❑用于先验的一个常见选择是贝塔(beta)分布。要记得参数 θ 的值在[0,1]之内。因此,我们需要使用对模型 θ 具有相同支持的概率分布,贝塔分布具有这样的概率分布。
❑此外,如果我们对先验使用贝塔分布并将其插入伯努利似然的贝叶斯公式中,则后验也成为贝塔分布。这样,当我们观察新数据时,可以使用后验作为下一次更新的先验。
❑将后验与先验放在同一分布簇中是如此方便,以至于它甚至有一个特殊的名称,即称为 共轭分布 ,而先验称为似然函数的 共轭先验 。贝塔分布是伯努利分布的共轭先验。根据你对似然建模的选择,可以在实现汤普森采样之前找到共轭。
现在为在线广告示例实现汤普森采样。
广告 k 先验的贝塔分布定义如下:
这里, α k 和 β k 是表征贝塔分布的参数, Γ ( · )是伽马函数。不要被这个公式吓到,它实际上很容易实现。为了初始化先验,我们令 α k = β k =1,这使得 θ k 均匀分布在[0,1]上。一旦我们在选择广告 k 后观测到奖励 R t ,就得到后验分布,如下所示:
α k ← α k + R t β k ← β k +1 -R t
现在,在Python中执行该操作:
1.首先初始化需要的变量:
2.现在,用贝叶斯更新初始化主循环:
我们从相应的后验值中对每个 k 值进行 θ k 采样,并显示与最大采样参数相对应的广告。一旦观测到奖励,就将后验作为先验并根据前面的规则更新它以获得新的后验。
3.接着输出结果:
输出结果如图2-5所示。
图2-5 使用汤普森采样探索
汤普森采样的性能类似于 ε -贪心策略和置信上界方法,点击率仅为3%。
汤普森采样是一种非常有竞争力的方法,与 ε -贪心策略和置信上界方法相比有一个主要优势:汤普森采样不需要我们进行任何超参数调整。这在实践中具有以下好处:
❑节省了原本用于超参数调整的大量时间。
❑节省可能因其他方法中的无效探索和不正确选择超参数而消耗的大量金钱。
此外,在文献内的许多基准测试中,汤普森采样都被证明是一个非常有竞争力的选择,并且在过去几年里越来越受欢迎。
既然汤普森采样连同其他方法已在你的工具包中,现在就可以去解决现实世界的多臂老虎机问题了!