解决问题
参考帖子
赌场中多个老虎机,如何收益最大化
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
选择中较小值,每次做选择前抽取一个的随机数
如果,则随机选一个臂,否则选择目前平均收益最高的臂
朴素
先试几次,然后每次选择平均收益最高的臂