我正在阅读Andrew Ng 关于强化学习的讲义,并且试图理解为什么策略迭代收敛到最优值函数和最优策略。
召回策略迭代为:
为什么贪婪算法会导致最优策略和最优价值函数?(我知道贪婪算法并不总是能够保证,或者可能陷入局部最优中,所以我只是想看看它的算法最优性的证明)。
另外,在我看来,策略迭代类似于聚类或梯度下降。要进行聚类,因为使用当前参数设置,我们进行了优化。与梯度下降类似,因为它只是选择一些似乎增加某些功能的值。这两种方法并不总是收敛于最佳最大值,而我试图理解该算法与我前面提到的算法有何不同。
到目前为止,我的想法是:
假设我们从一些策略,然后在第一步之后,对于该固定策略,我们有:
其中V ^ {(1)}是第一次迭代的值函数。然后,在第二步之后,我们选择一些新策略来增加。现在,使用新策略,如果我们执行算法的第二步,则以下不等式成立:
因为我们在第二步中选择以增加上一步中的值函数(即提高到目前为止,很明显,选择只能增加V ^ {(1)},因为那是我们选择,但是我的困惑出现在重复步骤中,因为一旦我们重复并返回到步骤1,我们实际上就完全改变了事情,因为我们为新策略重新计算了。这使:
但它不是:
这似乎是一个问题,因为选择了来改善而不是这个新的。基本上,问题是可以通过执行来保证提高的当值函数是。但是在重复步骤中,我们将更改为,但是我看不到如何保证每次重复时值函数都单调提高,因为计算是为了改善值函数值函数保持在,但第1步将更改为(这很糟糕,因为我仅改进了我们以前使用的值函数)。