值函数与贝尔曼方程
马尔可夫决策过程:
$$
\boldsymbol{S_0,A_0,R_1,S_1,A_1,R_2,...,S_t,A_t,R_{t+1},...,S_{T-1},A_{T-1},R_T,S_T}
$$
奖励
(1). 即时奖励$(reward)$,表示在状态 $S_t$ 的时候,执行动作 $A_t$,得到的奖励 $R_{t+1}$
$$
\boldsymbol{S_t,\ A_t\rightarrow R_{t+1}}
$$
(2). 累计奖励,表示在状态 $S_t$ 执行动作 $A_t$ 以后的累计奖励 $G_t$
$$
\boldsymbol{G_t=R_{t+1}+R_{t+2}+...+R_{T}=\sum_{k=1}^{T-t}R_{t+k}}
$$
(3). 累计折扣奖励$($回报,$return)$,表示
$$
\boldsymbol{G_t=R_{t+1}+\gamma\cdot R_{t+2}+\gamma^2\cdot R_{t+3}+...+\gamma^{T-t-1}\cdot R_{T}=\sum_{k=1}^{T-t}\gamma^{k-1}\cdot R_{t+k}}
$$
- $\gamma=0,\ G_t=R_{t+1}$
- $\gamma=1,\ $ 累计奖励
- $\gamma\in(0,1),\ e.g.\ \gamma=0.9$,延时越长,对 $G_t$ 的影响越小
强化学习的目标:找到一个使得累计折扣奖励 $G_t$ 最大的最优策略
值函数
状态值函数
设当前策略为 $\pi$,$V_{\pi}:S\rightarrow R$,从当前状态 $s$ 开始的累计折扣奖励的期望$($
执行动作不确定$)$
$$
\begin{aligned}
V_{\pi}(s)&= E_\pi\left[G_t|s_t=s\right]=E_\pi\left[\sum_{k=1}^{T-t}\gamma^{k-1}\cdot R_{t+k}|s_t=s\right] \\
\\
&=E_\pi\left[R_{t+1}+\gamma\cdot R_{t+2}+\gamma^2\cdot R_{t+3}+...|s_t=s \right],\ \ {\forall}s\in S
\end{aligned}
\tag{2-1}
$$
动作值函数
设当前策略为 $\pi$,从状态 $s$ 开始,执行动作 $a$ 后,$Q_\pi:S\times A\rightarrow R$,得到的累计折扣奖励的期望$($
执行动作确定$)$
$$
\begin{aligned}
Q_{\pi}(s,a)&= E_\pi\left[G_t|s_t=s,a_t=a\right] \\
\\
&=E_\pi\left[\sum_{k=1}^{T-t}\gamma^{k-1}\cdot R_{t+k}|s_t=s,a_t=a\right] \\
\\
&=E_\pi\left[R_{t+1}+\gamma\cdot V_\pi(s_{t+1})|s_t=s,a_t=a\right],\ \ {\forall}s\in S,a\in A
\end{aligned}
\tag{2-2}
$$
动作值函数->状态值函数
若已知策略函数 $\pi$,则动作值函数服从以 $\pi$ 为概率密度函数的条件概率分布$($离散$)$
$$
\begin{aligned}
V_\pi(s)&=E_{A\sim \pi(.|s)}\left[\ Q_\pi(s,a)\ \right] \\
\\
&=\sum_{a\in A}\pi(a|s)\cdot Q_\pi(s,a)
\end{aligned}
\tag{2-3}
$$
状态值函数->动作值函数
已知
$$
\begin{aligned}
Q_{\pi}(s,a)&=E_\pi\left[G_t|s_t=s,a_t=a\right] \\
\\
&=E_\pi\left[R_{t+1}+\gamma\cdot R_{t+2}+\gamma^2\cdot R_{t+3}+...|s_t=s,a_t=a \right] \\
\\
&=E_\pi\left[R_{t+1}+\gamma\cdot (R_{t+2}+\gamma\cdot R_{t+3}+...)|s_t=s,a_t=a \right]
\end{aligned}
$$
提一个 $\gamma$ 出来,后面括号中的部分又可以表示为
$$
G_{t+1}=(R_{t+2}+\gamma\cdot R_{t+3}+\gamma^2\cdot R_{t+4}+...)
$$
再对两边同时求期望$($不知道动作 $a)$
$$
\begin{aligned}
E_\pi \left[G_{t+1}|s_t=s \right]&=E_\pi\left[R_{t+2}+\gamma\cdot R_{t+3}+\gamma^2\cdot R_{t+4}+...|s_t=s\right] \\
\\
&=V_\pi(s_{t+1})
\end{aligned}
$$
故:
$$
\begin{aligned}
Q_\pi(s,a)&=R_{s+1}+\gamma\cdot E_\pi\left[G_{t+1}|s_t=s,a_t=a \right] \\
\\
&=R_{t+1}+\gamma\cdot \sum_{s_{t+1}\in S}P(s_{t+1}|s,a)\cdot V_\pi(s_{t+1}) \\
\\
&=\sum_{s_{t+1}\in S}P(s_{t+1}|s,a)\cdot \left[R_{t+1}+\gamma\cdot V_\pi(s_{t+1})\right]
\end{aligned}
\tag{2-4}
$$
其中考虑状态 $s_t$ 执行动作 $a$ 后转移到状态 $s_{t+1}$ 的概率 $P(s_{t+1}|s,a)$
Bellman方程
状态值函数表示的贝尔曼方程$($
常用$)$
$$
V_\pi(s)=\sum_{a\in A}\pi(a|s)\sum_{s'\in S}P(s'|s,a)(r+\gamma\cdot V_\pi(s')) \tag{2-5}
$$
动作值函数表示的贝尔曼方程
$$
Q_\pi(s,a)=\sum_{s'\in S}P(s'|s,a)\left(r+\gamma\cdot \sum_{a'\in A}\pi(a'|s')\cdot Q_\pi(s',a') \right)
$$
其中,$s'$ 表示 状态 $s$ 执行动作 $a$ 后的下一个状态;$r$ 表示奖励 $R_{t+1}$,是
三元的奖励函数 $r(s,a,s')$
参考