什么是epsilon / k这是怎么来的epsilon贪婪算法

时间:2018-05-19 09:53:35

标签: machine-learning reinforcement-learning

有人告诉它会选择具有最高经度均值的臂,概率为1-epsilon epsilon / k如何加到它(以及随机概率选择的epsilon / k)在为页面no中的概率编写的等式中:论文中的第6篇Algorithms for multi armed bandits。这意味着epsilon / k在等式中的写作是什么

2 个答案:

答案 0 :(得分:1)

让我尝试在这里提出自己的观点。 让我们考虑一下3个机器的相似示例:A,B和C,并假设B的支出最高。

如果epsilon为0.1,那么选择B的概率是多少?

回想一下Epsilon Greedy算法,它说:

 r = random() # any random number between 0 and 1(uniform distribution)
 if r > epsilon:
    choose "Best pay out at current time" #(currently it is B)
 else:
    choose randomly between three machines

那么在100个机会中选择B的可能机会是多少: 这将是以下两项的总和: 1)100中的90个机会(如果条件) 2)剩下的10台机器(其他条件)中有三分之一的机会,因为有3台机器(选择其中每台机器的可能性相等)

因此总机率可以是90 + 10 *(1/3)(大约)= 93.33

但是,如果epsilon为0.5,该怎么办? 那么总机率是95 + 5 *(1/3)= 96.67

这就是说,选择当前平均支出最高的机器的概率为(1 – epsilon)+(epsilon / k)。

我希望这会有所帮助。

答案 1 :(得分:0)

此答案取自here

假设您站在k = 3台老虎机前面。每台机器根据不同的概率分布支付,这些分布对您来说是未知的。并且假设你总共可以玩100次。

你有两个目标。第一个目标是尝试使用几枚硬币来尝试确定哪台机器能够获得最佳效果。第二个相关的目标是获得尽可能多的钱。术语“探索”和“利用”用于表示您必须使用一些硬币来探索以找到最佳机器,并且您希望在最佳机器上使用尽可能多的硬币来利用您的知识。

Epsilon-greedy几乎太简单了。当你玩机器时,你会记录每台机器的平均支出。然后,选择具有最高当前平均支出的机器,概率=(1-epsilon)+(epsilon / k),其中epsilon是一个小值,如0.10。并且您选择具有概率= epsilon / k的当前支出平均值最高的机器。 用一个具体的例子来理解它要容易得多。假设,在你的前12次拉动之后,你打了4次机器,两次赢得1美元,两次赢得0美元。机器#1的平均值是$ 2/4 = $ 0.50。

假设你已经玩过机器#5五次,赢了三次1美元和两次0美元。机器#2的平均支出是$ 3/5 = $ 0.60。

假设你已经玩过3次机器,一次赢得1美元,两次赢得0美元。机器#3的平均支出是$ 1/3 = $ 0.33。

现在你必须选择一台机器来试试13号。你会产生一个0.0到1.0之间的随机数p。假设您已设置epsilon = 0.10。如果p> 0.10(它将是90%的时间),您选择机器#2,因为它具有当前最高的平均支付。但是如果p< 0.10(只有10%的时间),你选择一台随机机,所以每台机器有1/3的机会被选中。

请注意,机器#2可能会被选中,因为您从所有机器中随机选择。

随着时间的推移,最好的机器将会越来越频繁地播放,因为它会更频繁地付出代价。简而言之,epsilon-greedy意味着在大多数情况下选择当前最佳选项("贪婪"),但有时会选择一个小的(epsilon)概率的随机选项。

还有许多其他算法可用于多臂强盗问题。但是epsilon-greedy非常简单,并且通常比更复杂的算法(如UCB("上限置信度和#34;)变化)效果更好,甚至更好。