【未完成】
蒙特卡洛
蒙特卡洛是一类通用算法,思想是通过随机采样逼近真实,这里只介绍在强化学习中的应用。
最初的想法应该是连续运行多个周期,比如经历了两次(s, a),并且计算了对应的Gt,那么q(s,a)取之平均就可以了,但实际上,为了优化策略或者值函数,不能这样多次采样后直接计算,而是每次采样(一周期)就迭代计算并更新。
特点
周期性更新:
一整个周期结束了(到达了终点)才回进行一个更新(更新所有经历过的state的value)
所以是无偏估计,所谓无偏估计就是,随机变量的期望就是理想值,有偏估计就是随机变量的期望也不是理想值,不论怎样都有偏差。
First-Visit:
第一个周期经历了 某个状态s,第二个周期也第一次经历了这个状态s,待第二个周期结束之后,计算出了第二个周期s对应的G值
(G = 这一步的reward + 打折系数 ^ 1 * 下一步的reward + 打折系数 ^ 2 * 下下步的reward ... + 打折系数 ^ 从s开始走了多少步 * 最后一步的reward ),
然后更新(把第一个周期s的G和第二个周期的s的G取平均得到状态s的value)。
如果第二个周期在后面又一次经历了这个状态s,不用于计算
即每个周期的s的value的更新都是本次的G和前面所有周期的G值的和取平均
Every-Visit
和Fi