Policy Iteration & Value Iteration

本文深入解析策略迭代和值迭代两种强化学习算法的核心概念。从初始化策略开始,通过策略评估和策略改进,策略迭代确保每次迭代都能得到更优策略。而值迭代则直接迭代价值函数,直至达到最优价值函数,从而导出最优策略。本文详细解释了每一步骤的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 值迭代的缺点:当多个策略有同样的v(s)的时候,可能无法收敛,循环不会停止。

In Policy Iteration algorithms, you start with a random policy, then find the value function of that policy (policy evaluation step), then find an new (improved) policy based on the previous value function, and so on. In this process, each policy is guaranteed to be a strict improvement over the previous one (unless it is already optimal). Given a policy, its value function can be obtained using the Bellman operator.
1.initialization 
初始化所有状态的v(s)以及π(s)(初始化为随机策略) 
2.poicy evaluation 
用当前的v(s)对当前策略进行评估,计算出每一个状态的v(s),直到v(s)收敛,才算训练好了这个状态价值函数V(s) 
3.policy improvement 
既然上一步已经得到了当前策略的评估函数V(s),那么就可以利用这个评估函数进行策略改进啦。 
在每个状态s时,对每个可能的动作a,都计算一下采取这个动作后到达的下一个状态的期望价值。看看哪个动作可以到达的状态的期望价值函数最大,就选取这个动作。以此更新了π(s) 
然后再次循环上述2、3步骤,直到V(s)与π(s)都收敛。
 

In Value Iteration, you start with a randon value function and then find a new (improved) value function in a iterative process, until reaching the optimal value function. Notice that you can derive easily the optimal policy from the optimal value function. This process is based on the Optimality Bellman operator.
1.initialization 
初始化所有状态的v(s) 
2.finding optimal value function(找到最优的价值函数) 
注意伪代码里的max,对每一个当前状态s,对每个可能的动作a,都计算一下采取这个动作后到达的下一个状态的期望价值。看看哪个动作可以到达的状态的期望价值函数最大,就将这个最大的期望价值函数作为当前状态的价值函数v(s) 循环执行这个步骤,直到价值函数收敛,就可以得到最优optimal的价值函数了 
3.policy extraction 
利用上面步骤得到的optimal价值函数和状态转移概率,就计算出每个状态应该采取的optimal动作,这个是deterministic
 

转载地址:https://blog.youkuaiyun.com/panglinzhuo/article/details/77752574

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值