蒙特卡洛方法
- 蒙特卡洛预测
- 考虑在给定策略的前提下,使用蒙特卡洛算法学习其状态价值函数
- 在每一幕中,从最终状态前推,更新每个状态的回报值
- 对每个状态的回报值求均值,获得状态的价值
- 动作价值的蒙特卡洛估计
- 无法获得环境模型,计算动作价值相较于计算状态价值更为有意义
- 目标是获取在特定状态下,特定动作的价值
- 存在矛盾:在特定策略π下,不能保证所有状态及动作二元组都被遍历,可能会导致局部最优。为解决这个问题,使用方法有:
-
- 试探性出发,以所有状态+动作的组合作为起点出发,但这种方法在实际中实现较为困难
- 只考虑在每个状态下都有非零概率被选中的随机策略
- 蒙特卡洛控制
- 目标是获得近似最优策略
- 基本思想是使用GPI(广义策略迭代)对随机策略进行优化,首先对动作价值进行估计,再利用贪心策略进行策略优化。基于两个关键假设
- 试探性出发假设
- 进行策略评估时有无限多幕的样本序列进行试探
- 针对假设二的去除
- 不再要求在策略改进前完成策略评估,进行价值迭代
- 没有试探性出发的蒙特卡洛控制
- 需要智能体不断选择所有可能的动作
- 可使用两种策略
- 同轨策略:生成采样序列和实际决策待评估和改进的策略是相同的
- 离轨策略:上述两种策略不同
- 对于同轨策略,重点是策略的随机性,在状态下任意动作出现概率均大于0,但最终会收敛到特定策略
- 基于重要度采样的离轨策略
- 重要度采样:
-
- 对于目标策略π和行动策略b,对策略π下状态s的价值估计,可以用下式表示:
-
- 这里采用两种方法进行预测,普通重要度采样以及加权平均重要度采样: