作者:王小草
笔记时间:2019年1月22日
1 蒙特卡罗法的起源
蒙特卡罗法的名字来源于世界著名的赌城蒙特卡罗。是用随机数来解决计算问题,即以概率为基础的方法。
套路是:生成随机样本–>试验多次–>总结经验
利用蒙特卡罗法计算圆周率π:
利用蒙特卡罗法测量不规则图形的面积:
2 蒙特卡罗法MC概述
2.1 MC与DP的差异
首先来看看马尔科夫决策过程的求解方法的结构,如下图,求解方法可以分成基于模型的和无模型的,基于模型的是使用动态规划法,其中又可以分为策略迭代,值迭代,策略搜索;无模型的可以分为两者:蒙特卡罗法和时间差分法
于是最大的区别就是,动态规划是需要基于已知的模型的,若模型已知就可以根据动态规划来求解,遗憾的是实际场景中很少有知道模型的。而在无模型的强化学习中,模型P是不知道的呢。
无模型的强化学习,要利用策略评估和策略改善的框架,必须采用其他方法对当前策略进行评估(值函数),于是只能回到值函数计算最原始的定义公式:
2.2 MC法概述
-
MC法直接根据"经验(experience)"中的"一幕幕(episodes)"进行学习
-
Episodes:在不清楚MDP状态转移概率及即时奖励的情况下,直接从经历完整的Episodes来学习状态价值。完整的Episodes不要求起始状态一定是某一个特定的状态,但是要求sgent最终进入环境的某一个终止状态。由于不知道状态转移矩阵,每一幕都需要经历到终点,从而在终点得到总回报。
-
Experience:即一组episodes的集合,其实就是训练样本;在完整的eposide中,用平均回报代替价值v。比如在某一状态下,遵循策略π,最终获得了总回报G,这就是一个样本;若有许多这样的样本,就可以估计在状态s下,遵循策略π的期望回报,也就是V(s).eposide越多,则结果越准确。
-
-
MC法是model-free,即不需要理解环境,不需要知道状态转移矩阵,但是需要知道reward哦~
-
MC法从完整的一幕中学习,而无需"自举",每一幕都必须到终点
-
MC的基本思想:value就是return的平均值
-
MC的目标:得到最优的状态-行为价值q*
- 当模型已知时,只需要state value就可以确定一个规划,此时只需要选择会引向最好的reward的下一状态的action即可
- 当模型未知时,获得"状态-行动值"比"状态值"更重要,因为仅仅有状态值不足以确定一个规则,需要明确得知道每个action value.
- 因此蒙特卡罗的一个重要目标是评估q,即求在状态s下行为a的期望return
- 在eposid中,一堆s,a若称为被visit过,是指在该eposide中,agent经过过s状态并选择执行了行为a
3 首次访问与每次访问
3.1 两个类别
在计算状态行为价值前先来明确2个方法:首次访问(first visit)和每次访问(