马尔科夫决策过程
Markov Decision Processes(MDP)
-
MDP被描述成一个针对于强化学习的环境 Markov decision processes formally describe an environment for reinforcement learning
-
完全可观察环境,我们在一个已知状态下 Where the environment is fully observable
-
比如,当前的状态已经特征化告诉给了智能体 i.e. The current state completely characterises the process
-
所有问题都可以用MDP来进行形式化描述 Almost all RL problems can be formalised as MDPs, e.g.
-
最优控制可以把其转化称为连续的MDP问题。 Optimal control primarily deals with continuous MDPs
-
部分可观测问题可以被转化为MDP Partially observable problems can be converted into MDPs
-
Bandits are MDPs with one state
-
马尔科夫属性
Markov Property
未来的状态独立于过去的状态,它只跟现在这一刻的状态有关。
“The future is independent of the past given the present”
定义
A state S t S_t St is Markov if and only if
P [ S t + 1 ∣ S t ] = P [ S t + 1 ∣ S 1 . . . . , S + t ] \mathbb{P}[S_{t+1}|S_t]=\mathbb{P}[S_{t+1}|S_1....,S+t] P[St+1∣St]=P[St+1∣S1....,S+t]
状态转移概率
the state transition probability
For a Markov state s and successor state s’, the state transition probability is defined by
状态s转移到后继状态s’的概率
P s s ′ = P [ S t + 1 = s ′ ∣ S t = s ] \mathbb{P}_{ss'}=\mathbb{P}[S_{t+1}=s'|S_t=s] Pss′=P[St+1=s′∣St=s]
State transition matrix P defines transition probabilities from all states s to all successor states s’
P = f r o m [ P 11 . . P 1 n . . . P n 1 . . P n n ] P = from \begin{bmatrix} P_{11}&.&.&P_{1n}\\.\\.\\.\\P_{n1}&.&.&P_{nn}\end{bmatrix} P=from⎣⎢⎢⎢⎢⎡P11...Pn1....P1nPnn⎦⎥⎥⎥⎥⎤
where each row of the matrix sums to 1
马尔科夫过程定义
马尔科夫过程基本上是一个随机的过程,其有一个具有马尔科夫属性的随机状态的序列 S 1 , S 2 , . . . , S_1,S_2,..., S1,S2,...,.
定义这个序列所需的仅仅是一个状态空间S和一个转移概率P
A Markov Process (or Markov Chain) is a tuple <S, P>
- 状态空间S是一个state的集合,
完整定义了系统的动态变化过程。如:这个系统模拟的是机器人演化的过程。
例子:学生马尔科夫链
取样 Sample
马尔科夫链中的取样就是一个序列,一个从初始状态得到的状态序列 from S 1 = C 1 S_1 = C1 S1=C1
S 1 , S 2 , . . . , S T S_1,S_2,...,S_T S1,S2,...,ST
学生马尔科夫链中的取样情况:
- C1 C2 C3 Pass Sleep
- C1 FB FB C1 C2 Sleep
- C1 C2 C3 Pub C2 C3 Pass Sleep
- C1 FB FB C1 C2 C3 Pub C1 FB FB
FB C1 C2 C3 Pub C2 Sleep
转移矩阵
当随着时间的变化,概率发生变化时,有两种解决方案:
- 不稳定的 non-sationaty MDP,逐渐调整自己的解决算法,来找到最好的解决方案
- 你已经有了一个不稳定的动态过程,你可以让它变成一个更加复杂的马尔科夫过程,你可以假设C1-FB的概率都会依赖于你再当前state上停留多久,这样可以增加他们的状态概率。就像一个计数器,你在FB上停留了多久,得到了很多不同的states