什么时候使用蒙特卡洛方法:
蒙特卡洛方法适用于免模型的强化学习任务。(“免模型学习”对应于一类现实的强化
学习任务,在该类任务中,环境的转移概率、奖赏函数往往很难得知,甚至很难知道环境中一共有多少状态,因此,在该类学习任务中,学习算法不依赖于环境建模。)
为什么使用蒙特卡洛方法:
在免模型情形下,由于模型未知而导致无法做全概率展开,策略迭代酸中的策略无法评估,此时,只能通过在环境中执行选择的动作,来观察转移的概率和得到的奖赏。
什么是蒙特卡洛方法:
其主要思想是通过多次“采样”,然后求取平均累积奖赏来作为期望累积奖赏的近似。需要注意:和策略迭代算法不同,模型未知时,对状态值函数V的估计是有一定困难的,于是我们将估计对象从V转变为Q,即估计每一对“状态-动作”的值函数。
First-visit MC Method and Every-visit MC Method
First-visit MC Method:对于每一个被采样的episode,在进行对状态值函数或者“状态-动作”值函数进行估计时,只考虑第一个被访问的状态或者动作-状态对。
Every-visit MC Method:对于每一个被采样的episode,在进行对状态值函数或者“状态-动作”值函数进行估计时,考虑了每一个被访问的状态或者动作-状态对。
蒙特卡罗与动态规划不同点:
- 在动态规划算法中需要知道下一个状态对应的概率分布,而在蒙特卡洛算法中不需要。即不需要计算 p(s′,r|s,a) 。
- 蒙特卡洛方法估计的对象是一个状态或者一个动作状态对,因此对每个状态的估计是相互独立的。
- 蒙特卡罗计算复杂度独立于状态的数目
Monte Carlo Estimation of Action Values
有模型的学习:
根据“状态-动作”值函数可以很好地估计状态值函数,状态值函数可以充分确定策略。
免模型的学习:
对状态值函数的估计并不充分,智能精确地估计每一个动作对应的“状态-
动作”值函数。其原因在于:在真实的episodes中,对于一个已经被确定的策略,有
些存在的动作状态对不一定会被访问到。
针对该种情况,提出如下两种解决方法:
(1)探索性开端(相当于随机初始化);
(2)随机策略,在每个状态下选择任何动作的概率都是非0的。