强化学习-马尔可夫决策过程


参考:

https://www.cnblogs.com/pinard/p/9426283.html

https://blog.csdn.net/liweibin1994/article/details/79079884

https://b23.tv/fOmHymj(推荐)

一、马尔可夫性

agent与environment的交互过程可以表示为一个序列:{S0,A0,R1,S1,A1,R2,S2......}

马尔可夫性:下一个状态的产生只和上一个状态有关,而与更之前的状态无关。即$P\left( S_{t+1}|S_1,S_2,...,S_t \right) =P\left( S_{t+1}|S_t \right)$。这个条件虽然在某些问题上有些理想,

但是极大地简化了问题的复杂性。

二、关键概念

1、状态集:S,St表示t时刻的状态

2、动作集:A,At表示t时刻的动作

3、策略:$\pi$,$\pi\left(a|s\right)=P\left(A_t=a|S_t=s\right)$,针对某个状态既可以采取确定性的策略也可以采取随机策略

4、奖励:R,Rt表示在St-1时采取动作At-1后获得的奖励

5、长期回报:$G_t$,$G_t=R_{t+1}+\gamma R_{t+2}+\gamma ^2R_{t+3}+...$,表示St之后所有奖励的有衰减之和,其中$\gamma$表示衰减因子,$\gamma \in [0,1]$

6、状态价值函数:$v_\pi \left(s\right)=E_\pi \left(G_t|S_t=s\right)$

7、状态-动作价值函数:$q_\pi \left(s,a\right)=E_\pi \left(G_t|S_t=s,A_t=a\right)$

8、贝尔曼方程:

$
\begin{aligned}
    v_{\pi}\left( s \right) &=E_{\pi}\left( G_t|S_t=s \right)\\
    &=E_{\pi}\left( R_{t+1}+\gamma R_{t+2}+\gamma ^2R_{t+3}+...|S_t=s \right)\\
    &=E_{\pi}\left( R_{t+1}+\gamma \left( R_{t+2}+\gamma R_{t+3}+... \right)|S_t=s \right)\\
    &=E_{\pi}\left( R_{t+1}+\gamma G_{t+1} |S_t=s \right)\\
    &=E_{\pi}\left( R_{t+1}+\gamma v_{\pi}\left( S_{t+1} \right)|S_t=s \right)\\
\end{aligned}
$

根据下图来推导一些重要的公式:

(1)$v_{\pi}\left( s \right) =\sum_a{\pi \left( a|s \right) q_{\pi}\left( s,a \right)}$

(2)$v_{\pi}\left( s \right) =\sum_a{\pi \left( a|s \right) \sum_{s',r}{P}\left( s',r|s,a \right) \left( r+\gamma v_{\pi}\left( s' \right) \right)}$

(3)$q_{\pi}\left( s,a \right) =\sum_{s',r}{P}\left( s',r|s,a \right) \left( r+\gamma v_{\pi}\left( s' \right) \right) $

(4)$q_{\pi}\left( s,a \right) =\sum_{s',r}{P}\left( s',r|s,a \right) \left( r+\gamma \sum_{a'}{\pi \left( a'|s' \right) q_{\pi}\left( s',a' \right)} \right) $

9、最优价值函数

强化学习希望能够找到最好的策略$\pi_*$,使得$v_{\pi_*}\left( s \right)$不会比其他任何策略$\pi$的$v_{\pi}\left( s \right)$差,即$v_*(s)=\underset{\pi}{max}v_{\pi}\left( s \right)$,其中$s\in S$

同理,$q_*(s,a)=\underset{\pi}{max}q_{\pi}\left( s,a \right)$,其中$s\in S$,$a\in A$

10、最优策略

$
\pi _*\left( a|s \right) =\begin{cases}
    1\,\,\,if\,\,\underset{a}{max}q_*\left( s,a \right)\\
    0\,\,\,else\\
\end{cases}
$

此时:

(1)$v_*\left( s \right)=\underset{a}{max}q_*\left( s,a \right)$

(2)$v_*\left( s \right)=\underset{a}{max}\left( \sum_{s',r}{P(s',r|s,a)(r+\gamma v_*(s'))} \right)$

(3)$q_*\left( s,a \right)=\sum_{s',r}{P\left( s',r|s,a \right)\left( r+\gamma v_*(s') \right)}$

(4)$q_*\left( s,a \right)=\sum_{s',r}{P\left( s',r|s,a \right)\left( r+\gamma \underset{a'}{max}q_*(s',a') \right)}$