今天中午吃什么-bandit算法

解决问题

参考帖子
赌场中多个老虎机,如何收益最大化

Thompson Sampling

假设每个臂的收益概率为,进一步假设概率分布符合
通过分布生成的随机数大小,随机选出最大数对应的臂。有收益则,反之

# python实现的Thompson Sample
choice = numpy.argmax(pymc.rbeta(1 + self.wins, 1 + self.trials - self.wins))

UCB: Upper Confidence Bound

每个臂都试一次,然后选择公式最大值的臂
表达的含义是均值+标准差来均衡exploit和explore两方面

Epsilon-Greedy

选择中较小值,每次做选择前抽取一个的随机数
如果,则随机选一个臂,否则选择目前平均收益最高的臂

朴素

先试几次,然后每次选择平均收益最高的臂

10000次遗憾模拟

你可能感兴趣的:(今天中午吃什么-bandit算法)