概述
马尔可夫决策过程描述了我们想去决策事件本身的环境
马尔可夫性
1:未来的一切仅与现在有关,独立于过去的状态
2:t+1时刻的状态包含了1,…,t时刻状态的全部历史信息,并且当我们知道t时刻的状态后,我们只关注于环境的信息,而不用管之前所有状态的信息,这就是马尔可夫性
3:每个状态值取决于前面有限个状态。运用马尔可夫链只需要最近或现在的知识便可预测将来。
状态传输矩阵
对于当前的马尔可夫状态s和其他的状态s’,状态传输矩阵的Definition:
每一个状态转移到所有其他状态的概率和为1
马尔可夫链
马尔可夫链(Markov Chain)是指数学中具有马尔可夫性质的离散事件随机过程。该过程中,在给定当前知识或信息的情况下,过去对于预测将来是无关的。
在马尔可夫链的每一步,系统根据概率分布,可以从一个状态变到另一个状态,也可以保持当前状态。
状态的改变叫做转移,与不同的状态改变相关的概率叫做转移概率。其中所有的状态的总和可以称为“状态空间”
马尔可夫链是状态与转移概率的组合。
ps:只有概率离散时才可以用矩阵表示,连续情况另说
MRP马尔可夫奖励过程
奖励函数:进入某一状态收获的奖励
马尔可夫奖励过程就是含有奖励函数的马尔科夫链
其中,S还是状态合集,P是概率传输矩阵,R是奖励函数,r是衰减因子。r代表了对于远期利益的不确定性。
回报
回报的定义是从当前时刻开始的回报与衰减因子的乘积之和,公式如下:
注意回报的定义并不是当前状态之前的奖励总和,我们一定要理解马尔科夫模型构建的意义,是为了探寻未来的最优策略,以及马尔可夫性与历史总是不相关的,仅与当前状态有关。所以一切模型构建均是围绕未来进行展开的,包括这里的回报。衰减因子代表人们对于未来奖励的期望,如果r趋近0,则更重视眼前的利益,如果
r趋近1,则更重视未来的利益。
价值函数
价值函数的定义是当处于现在状态s时,MRP未来回报的期望值,价值函数给出了当前状态的长期价值。
圆圈代表状态,R代表进入圆圈状态的即时奖励,而圆圈内的红色数字代表的就是价值函数,如何求出价值函数也就是当前马尔可夫最重要也是最需要讨论的问题。
利用贝尔曼方程求解价值函数
这儿不太理解,什么叫“抛开时间关系,为什么能这样化简”
马尔可夫决策过程MDP
具有决策状态的马尔可夫奖励过程
A代表决策过程中所有action的集合
因此MDP下,状态转移概率和奖励函数变成
在MDP模型中,agent是能够自己选择action的,如果选择某个action使得环境变差,则其受罚,从而使得最终的action选择一定使得环境更好
策略
agent对于环境所表达的行为(不太懂)
MDP的策略也只与当前状态有关,与历史无关。
基于策略的价值函数
MDP模型中有两种基于策略的价值函数:(1) 在状态s时收益的期望,代表的是状态带来的价值 (2) 在状态s时,采取动作a后收益的期望,代表的是动作带来的价值。两者共同构成了MDP的价值函数。
下面我们分别给出定义式:
贝尔曼期望方程
同样,我们依旧可以利用贝尔曼方程来转换两个基于策略的价值函数:
下面我们需要将我们的MDP模型进行解释,在马尔可夫链和MRP模型中,我们仅有状态的价值函数,那很显然在MDP模型中这是不够的,因为我们引入了Action,如果环境因为我们agent的Action而变差了,那Action则一定要背锅,于是我们也要考虑Action的价值函数,下面我们根据各种情况分别阐述如何求出价值函数。
- 从状态到动作
当我们处于状态s时,agent有两个状态可以去执行,那我们此处的价值函数可以定义为:所有下一步执行动作的价值函数的数学期望。:
- 从动作到状态
当从状态s执行动作action后我们可以进入下一个状态s‘,那我们此处的价值函数可以定义为:离开状态s的即时奖励,加上所有可以进入下一个状态概率与价值的和
-
从状态到状态
状态到状态的价值函数只需要把上面两个价值函数合在一块即可:
-
从动作到动作
举例,计算红色节点的价值,利用从状态到状态
最优价值函数
下面我们分别给出状态和动作最优价值函数的定义,其实就是在策略下,可以取得最大的价值函数,因为由于agent选择的不同策略,所有状态的价值函数都会相应的改变。所有的MDP模型的最终任务就是为了确定最优价值函数相应的策略。
定理:
寻找最优策略
贝尔曼最优方程
当我们的agent在状态s时,对于该状态的最优价值函数一定是选择价值最优的动作函数,即:
而对于action的最优动作价值而言,相当于离开状态s的即时奖励,加上可以转移的下一个状态的最优价值与传输概率的成绩之和,即:
那么状态到状态的价值函数与动作到动作的价值函数与上面同理,只需要把两个方程式叠加即可。
例子:求红色节点的的最优价值,假设传输概率为1
求解贝尔曼最优方程
贝尔曼最优方程是非线性的,通常而言没有固定的解法,有很多著名的迭代解法:
- Value Iteration 价值迭代
- Policy Iteration 策略迭代
- Q-learning
- Sarsa
隐马尔可夫模型
隐马尔可夫模型描述一个含有隐含未知参数的马尔可夫过程,是一个双重随机过程(包括马尔可夫链和一般随机过程)。
隐马尔可夫模型是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。所以,隐马尔可夫模型是一个双重随机过程----具有一定状态数的隐马尔可夫链和显示随机函数集。
隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来作进一步的分析,例如模式识别。
隐含位置参数实际上指的是我们得到的状态不是原始的状态,而是跟其有关的显现出来的状态,就比如下面的图,实际上的状态是X1-XT 而我们观察到的状态是O1-OT,虽然我们不能得知原始的状态是什么,但是两个是有关系的,我们可以根据输出的状态转移推测原始状态。
一篇文章作者的例子非常好,我们存在的隐状态为天气{下雨,天晴},一个人根据天气选择当天的活动,现在我们得知他在微博上发的动态为
“我前天公园散步、昨天购物、今天清理房间了!”,需要由此推断天气是什么样的,显状态是活动,隐状态是天气。
马尔可夫模型适用的问题
广泛应用在语音识别,词性自动标注,音字转换,概率文法等各个自然语言处理等应用领域。
马尔科夫模型适用的问题
1)问题是基于序列的,比如时间序列,或者状态序列。
2)序列之间有固定的转移模式,而不是随机变化的,即概率是不变的
隐马尔科夫模型适用的问题
1)问题中有两类数据,一类序列数据是可以观测到的,即观测序列;而另一类数据是不能观察到的,即隐藏状态序列,简称状态序列。
2)观测序列和状态序列存在对应关系,不必须是一一对应,但是必须有对应的关系。
参考资料
https://zhuanlan.zhihu.com/p/271221558
https://blog.csdn.net/iamsongyu/article/details/85861401