蒙特卡洛方法的基本概念
蒙特卡洛方法是一种基于随机采样的强化学习算法,通过从环境中采样完整的回合(episode)来估计状态或状态-动作对的价值函数。与动态规划不同,蒙特卡洛方法不需要环境的完整模型,仅依赖实际经验。
蒙特卡洛方法的核心思想是通过大量采样平均回报来近似期望值。其特点是必须等待一个回合结束后才能更新价值函数,属于离线学习方法。
蒙特卡洛预测(策略评估)
蒙特卡洛预测用于估计给定策略π下的状态价值函数Vπ(s)。具体实现分为首次访问型(First-Visit)和每次访问型(Every-Visit)两种:
首次访问型蒙特卡洛预测仅统计每个状态在一个回合中第一次出现时的回报,公式为: [ V(s) \leftarrow \frac{1}{N(s)} \sum_{i=1}^{N(s)} G_i(s) ] 其中N(s)是状态s被首次访问的次数,G_i(s)是第i次访问时的回报。
每次访问型蒙特卡洛预测则统计所有访问的回报,更新公式类似但N(s)为总访问次数。
蒙特卡洛控制(策略改进)
蒙特卡洛控制通过交替进行策略评估和策略改进来寻找最优策略。常用方法包括:
ε-贪婪策略:以1-ε的概率选择当前最优动作,以ε的概率随机选择动作,确保探索与利用的平衡。
增量式实现:采用增量更新方式计算平均回报,避免存储所有历史数据: [ Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha [G_t - Q(S_t, A_t)] ] 其中α是学习率,G_t是实际观测到的回报。
离策略蒙特卡洛控制
离策略学习通过行为策略b生成数据,同时优化目标策略π。重要性采样(Importance Sampling)是关键技术,用于调整不同策略下动作选择的概率差异。
加权重要性采样公式: [ \rho_t = \prod_{k=t}^{T-1} \frac{\pi(A_k|S_k)}{b(A_k|S_k)} ] [ Q(s,a) \leftarrow \frac{\sum_{i=1}^n \rho_i G_i}{\sum_{i=1}^n \rho_i} ]
蒙特卡洛方法的优缺点
优点:
- 无需环境模型,直接从经验中学习
- 可以处理非马尔科夫环境
- 对初始值不敏感
缺点:
- 需要完整的回合才能更新
- 高方差导致收敛速度慢
- 对探索策略敏感
实际应用注意事项
初始化策略:合理选择初始策略和ε值(如ε=0.1)平衡探索与利用。
方差削减:可采用基线函数或资格迹(Eligibility Traces)降低方差。
函数逼近:对于大状态空间,可结合线性函数或神经网络近似价值函数。