多臂匪徒thompson采样非二元奖励

时间:2016-06-19 18:08:13

标签: algorithm data-mining bayesian ab-testing bandit

我使用以下行来更新我在每个试验中的beta分布并给出手臂推荐(我使用scipy.stats.beta):

self.prior = (1.0,1.0)
def get_recommendation(self):
    sampled_theta = []
    for i in range(self.arms):
        #Construct beta distribution for posterior
        dist = beta(self.prior[0]+self.successes[i],
                    self.prior[1]+self.trials[i]-self.successes[i])
        #Draw sample from beta distribution
        sampled_theta += [ dist.rvs() ]
    # Return the index of the sample with the largest value
    return sampled_theta.index( max(sampled_theta) )

但是目前,它只能在奖励中使用二进制(无论是成功还是失败)。我想修改它,以便它适用于非二进制奖励。 (例如奖励:2300,2000,......)。我该怎么做?

0 个答案:

没有答案