值迭代和策略迭代详解

值迭代和策略迭代详解

强化学习中的两个核心算法——值迭代(Value Iteration)和策略迭代(Policy Iteration)——是解决马尔可夫决策过程(MDP)问题的经典方法。本文将详细介绍这两种算法的原理和区别。

策略迭代

策略迭代包含两个主要步骤:策略评估(Policy Evaluation)和策略改进(Policy Improvement)。

策略评估

在策略评估步骤中,我们计算给定策略 π 的状态价值函数 Vπ(s)。这是通过迭代更新每个状态的价值来实现的,直到达到稳定状态。

更新公式

V k + 1 ( s ) = ∑ a ∈ A π ( a ∣ s ) ∑ s ′ ∈ S P ( s ′ ∣ s , a ) [ R ( s , a , s ′ ) + γ V k ( s ′ ) ] V_{k+1}(s) = \sum_{a \in A} \pi(a|s) \sum_{s' \in S} P(s'|s, a) \left[ R(s, a, s') + \gamma V_k(s') \right] Vk+1(s)=aAπ(as)sSP(ss,a)[R(s,a,s)+γVk(s)]

策略改进

策略改进步骤利用当前价值函数来生成一个更好的策略。这通过为每个状态选择最大化预期回报的动作来实现。

改进公式

π ′ ( s ) = arg ⁡ max ⁡ a ∑ s ′ ∈ S P ( s ′ ∣ s , a ) [ R ( s , a , s ′ ) + γ V ( s ′ ) ] \pi'(s) = \arg\max_a \sum_{s' \in S} P(s'|s, a) \left[ R(s, a, s') + \gamma V(s') \right] π(s)=argmaxasSP(ss,a)[R(s,a,s)+γV(s)]

策略迭代交替进行策略评估和策略改进,直到策略收敛。

值迭代

值迭代是一种更直接的方法,它通过迭代更新状态价值函数来直接找到最优策略。

更新公式

V k + 1 ( s ) = max ⁡ a ∑ s ′ ∈ S P ( s ′ ∣ s , a ) [ R ( s , a , s ′ ) + γ V k ( s ′ ) ] V_{k+1}(s) = \max_a \sum_{s' \in S} P(s'|s, a) \left[ R(s, a, s') + \gamma V_k(s') \right] Vk+1(s)=maxasSP(ss,a)[R(s,a,s)+γVk(s)]

值迭代在每次迭代中对状态价值函数进行更新,直到收敛。最优策略可以通过选择在每个状态下最大化价值函数的动作来确定。

策略迭代 vs 值迭代

  • 策略迭代:通常需要更多的时间来收敛,因为它在每个策略下进行完整的策略评估。但是,一旦收敛,就得到了最优策略。
  • 值迭代:通常收敛速度更快,但可能在找到最优策略之前就停止迭代。

结论

虽然策略迭代和值迭代在处理方式上有所不同,但它们都是求解MDP问题的有效方法。选择哪一种算法取决于特定问题的性质和计算资源的限制。

  • 17
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Colin_Jing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值