强化学习:值迭代和策略迭代
强化学习:值迭代和策略迭代
值迭代
通过上一章的学习,我们知道了贝尔曼最优方程的求解实际上分两部分,一是给定一个初始值 vkv_kvk 找到最优策略 πk+1π_{k+1}πk+1 ,二是更新 vk+1v_{k+1}vk+1
下面,我们将详细剖析这个算法,以及其编程实现。首先,我们来看一下他的第一步:策略更新
通过给定的 vkv_kvk 可以求得每个状态对应的 qkq_kqk 再根据概率设计得到最优策略下对应的行为 ak∗(s)a_k^*(s)ak∗(s)
第二步:值更新,同样的,通过给定的 vkv_kvk 求得每个状态对应的 qkq_kqk 再根据最优策略计算得到 vk+1v_{k+1}vk+1
通过上面的讲解,我们得到下面的流程过程:
给出上述算法的伪代码,如下:
值迭代:案例
我们以一个例子加深理解。r边界=r陷阱=−1,r终点=+1,γ=0.9r_{边界}=r_{陷阱}=-1,r_{终点}=+1,γ=0.9r边界=r陷阱=−1,r终点=+1,γ=0.9
当 k=0k=0k=0
策略迭代
策略迭代分两步:策略评估 (PE)(PE)(PE) 和策略优化 (PI)(PI)(PI)。
求解 vπkv_{πk}vπk 有两种方法,第一种矩阵求解一般不用,主要是用第二种迭代的方法。
策略迭代具体步骤如下:
伪代码如下:
策略迭代:案例
同样,我们以一个例子加深理解。r边界=−1,r终点=+1,γ=0.9r_{边界}=-1,r_{终点}=+1,γ=0.9r边界=−1,r终点=+1,γ=0.9,行为有:向左 ala_lal,向右 ara_rar,原地 a0a0a0
策略迭代:案例二
截断策略迭代算法
首先我们来比较一下值迭代与策略迭代的区别:
伪代码:

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)