从书中初始化REINFORCE算法的策略参数Theta时遇到一些问题: 强化学习:简介,第2版,第12章,萨顿和巴托(Sutton&Barto)
这是该算法的伪代码:
他们说您可以使用任意值初始化Thetas(策略参数),例如0。但是我得到了完全错误的结果:
要解决此问题,我必须以某种方式初始化它们,以使其符合Epsilon-Greedy策略。这可以通过考虑使用操作首选项来实现:
Probability(LEFT) = e^Theta[1] / (e^Theta[1] + e^Theta[2])
Probability(RIGHT) = e^Theta[2] / (e^Theta[1] + e^Theta[2])
例如,解决第二个问题(使用p = Epsilon / 2)和Probability(RIGHT)= p且两个概率之和为1的事实。
Theta[1] = ln(p / (1 - p)) + Theta[2]
因此,给Theta[2]
任何值并使用上述偏移量来计算Theta[1]
会产生该书的结果(对不起,第一张照片上的alpha反转):
所以我不知道为什么初始值应该模仿Epsilon Greedy策略,以及如书中所述将其设置为0时出了什么问题。
另一个问题是,比较REINFORCE算法时,不同alpha的顺序与书中图13.1所示的顺序完全相反。据说Alpha = 2 ^ -14胜过所有而不是更糟。
您需要任何帮助和澄清吗?
我在Lua的Lua code
中实现了此功能谢谢