蒙特卡罗方法与时序差分学习:从理论到实践
一、Epsilon - 贪心算法
Epsilon - 贪心算法在性能上优于贪心搜索方法。它以 (1 - \epsilon) 的概率选择当前最优动作,同时以 (\epsilon) 的概率随机探索其他动作。这里的超参数 (\epsilon) 是探索与利用之间的权衡。当 (\epsilon = 0) 时,算法完全变成贪心算法;当 (\epsilon = 1) 时,每个动作被均匀选择,算法只是进行随机探索。
(\epsilon) 的值需要根据实验进行调整,没有一个通用的值适用于所有实验。一般来说,我们可以从 0.1、0.2 或 0.3 开始尝试。另一种方法是从一个稍大的值(如 0.5 或 0.7)开始,然后随着时间逐渐减小(例如,每一轮衰减 0.999)。这样,策略在开始时会专注于探索不同的动作,随着时间的推移,会倾向于利用好的动作。
在执行完一系列步骤后,对 100,000 轮的结果进行平均并打印获胜概率,代码如下:
print('Winning probability under the optimal policy: {}'.format(n_win_optimal/n_episode))
得到的最优策略下的获胜概率为 0.42436,高于没有使用 Epsilon - 贪心算法时的获胜概率(41.28%)。同时,打印失败概率的代码为:
print('Losing probability under the optimal policy: {}
超级会员免费看
订阅专栏 解锁全文
581

被折叠的 条评论
为什么被折叠?



