强化学习入门3—动态规划

前言

本文为强化学习入门系列的第三篇,主要介绍如何通过动态规划来求解贝尔曼最优方程。

我们知道最优策略 π \pi π 对应的就是最优价值函数,而其求解分为策略迭代、价值迭代两种方法。本节将详细介绍这两种方法。

本节所讨论的MDP都是已知的MDP。已知的意思就是环境的动态特性是已知的,也就是 p ( s ′ , a ∣ s , a ) p(s',a | s,a) p(s,as,a) 这个概率密度函数是确定的。

动态规划

策略迭代

策略迭代可以分为策略评估和策略改进两步骤。策略评估就是给定一个策略 π \pi π 求解状态价值函数 v π ( s ) v_{\pi}(s) vπ(s) ,而策略改进就是寻求一个更优的策略 π ′ \pi' π,使得 v π ′ ( s ) > v π ( s ) v_{\pi'}(s)>v_{\pi}(s) vπ(s)>vπ(s)

策略评估 Policy Evaluation

解析解推导

策略评估就是给定一个策略 π \pi π 求解贝尔曼方程 v π ( s ) v_{\pi}(s) vπ(s) 。我们知道贝尔曼方程有如下形式:
v π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ]      , ∀ s ∈ S v_{\pi}(s)=\sum_a \pi(a|s)\sum_{s',r}p(s',r|s,a)[r+\gamma v_{\pi}(s')]\;\;,\forall s\in S vπ(s)=aπ(as)s,rp(s,rs,a)[r+γvπ(s)],sS
我们把 v π ( s ) , v π ′ ( s ) v_{\pi}(s),v_{\pi'}(s) vπ(s),vπ(s) 看成未知的,那其实可看出 v π ( s ) , v π ′ ( s ) v_{\pi}(s),v_{\pi'}(s) vπ(s),vπ(s) 之间是线性关系。因为状态 s s s 是有多个,所以 v π ( s ) v_{\pi}(s) vπ(s) 可写成向量形式:
v π ( s ) = [ v π ( s 1 ) v π ( s 2 ) . . . v π ( s S ) ] ∣ S ∣ × 1 v_{\pi}(s)= \begin{bmatrix} v_{\pi}(s_1)\\v_{\pi}(s_2)\\...\\v_{\pi}(s_S) \end{bmatrix}_{|S|\times1} vπ(s)=vπ(s1)vπ(s2)...vπ(sS)S×1
那问题实际上就是求解一个有 ∣ S ∣ |S| S 个未知量的线性方程组。我们用矩阵来表示 v π ( s ) , v π ′ ( s ) v_{\pi}(s),v_{\pi'}(s) vπ(s),vπ(s) 之间的关系,显然矩阵应该是 S × S S\times S S×S 维的。那接下来我们进一步化简方程组,方程组可拆开成如下两部分:
v π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) ⋅ r + ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) ⋅ γ v π ( s ′ )      , ∀ s ∈ S v_{\pi}(s)=\sum_a \pi(a|s)\sum_{s',r}p(s',r|s,a)\cdot r+\sum_a \pi(a|s)\sum_{s',r}p(s',r|s,a)\cdot \gamma v_{\pi}(s')\;\;,\forall s\in S vπ(s)=aπ(as)s,rp(s,rs,a)r+aπ(as)s,rp(s,rs,a)γvπ(s),sS
观察式子左边项,其实 s ′ s' s可以被积分掉,也就变成 $\sum_{r}p(r|s,a)r $ ,这就是一个期望的形式,把它定义成一个奖励函数 r ( s , a ) r(s,a) r(s,a),表示给定策略 π \pi π

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值