人工智能必备数学知识-马尔科夫链

491 阅读5分钟

马尔科夫链 - 强化学习的基础

深度强化学习

深度学习神经网络模型 + 强化学习方法

而马尔科夫链就是这个强化学习的基础

那么这个马尔科夫链是什么呢

马尔科夫链

定义

状态空间中,经过从一个状态到另一个状态的转换的随机过程,下一状态的概率分布只能由当前状态决定,且与它前面的时间均无关

链这种东西就考虑以下区块链,每个链节点,记录了一定的交易信息,然后传到下一个链去大概就是这样。

从概念上来说吼,你可能听的很莫名其妙,让我来稍微用自己的理解解释以下。就是呢,我们先举个不那么恰当的例子。还是用开车来假设,第一个链的状态记录的是你的车现在当前这个位置,有什么状态呢车速50,油门踩死,刹车坏了。前面100米斑马线有个人过马路,过马路的速度是5。然后呢第二个呢记录到行人受到了惊吓速度变成了20,你车突然刹车好了,踩下了刹车车速降到了20,和斑马线的距离剩下20。那么第三个状态就只能由你当前的这个状态去计算,比如第三个状态的刹车情况,有没有撞上人,这些的都不受第一个状态影响。

我说了些屎,再举个例子,一个人随机的向左向右走(百分之50的概率)它走的下一个位置,只有当前的位置决定。我们就把这种一个个记录当前位置信息的状态链成为马尔科夫链。

下面还是看看课件里的例子

样例

image.png

我们来看看吼这个链,

他就只有两种状态,晴和雨

当天是晴,他第二天有可能是雨,也有可能是晴。但是只由前一天的天气决定。昨天的天气就完全没有作用了。

然后呢我们怎么用它呢

假设我们今天是晴天,预测后天的天气

我们首先会知道明天晴雨的概率分别是[80 ,20]

后天的天气是晴天的概率就是

明天后天都是晴天的概率 + 明天下雨后天晴天的概率 = 0.8*0.8 + 0.2*0.5 = 0.74

后天的天气是阴天的概率就是

明天后天都下雨的概率 + 明天晴天后天下雨的概率 = 0.2*0.5 + 0.8*0.2 = 0.26

你看这两个数据相加等于1,就证明我们这样计算啊非常合理对不对。

那再看看这个数据怎么来的呢

                         把状态列一个矩阵
                           [明天的概率[0.8,0.2]          [0.8, 0.2],
                           [0.5, 0.5],
                            ]
                            

最后的结果是不是就很像明天的概率乘上状态矩阵

[0.8*0.8 + 0.2*0.5, 0.8*0.2 + 0.2*0.5]

忘了的就看看前面说的矩阵计算

那是不是就有大后天的概率就是后天的概率乘状态矩阵

[0.74,0.26]乘那个矩阵就完事了

状态转移矩阵

再来一个数据多点的试试

image.png

来试试吼,假设今天是晴天,求后天的天气概率

makov1.jpeg

这是直接用矩阵乘的(看到这个写字板了吗,赞助商打钱!!!我可以推广,学习真的很好用),我们再来分析以下,真实情况概率的计算

假设

明天晴0.7后天的晴天概率就是0.7*0.7

明天阴天0.2后天是晴天的概率就是0.2*0.4

明天下雨0.1后天晴天的概率就是0.1*0.2

那么一相加就是0.59

好像很对的样子,那是当然的因为别人就是这么教的,只是象征性的对推一下,后面的就不算敲了啊,不相信的自己可以验证一下

马尔科夫链收敛和平稳条件

1、可能状态数是有限的,就是说这个矩阵吼,你不能是无限的,不然没法弄

2、二状态间的转移概率需要稳定不变,就是你不能像我一开始的那样刹车突然修好了,又突然坏了,你要给一个刹车好的时候坏的概率,坏的时候好的概率,而且这个概率要固定的不能变

3、任意状态能转变到任意状态,就是吼你不能规定天气只能从晴天到阴天到雨天,她也可以从晴天直接到雨天

4、不能是简单的循还,就是不能是晴到雨到雨到晴到雨,这就完全没有概率的情况了,就是第二天一定是晴,这状态矩阵就是[[1,0],[0,1]]

马尔科夫奖励过程

马尔可夫奖励过程(Markov Process)主要描述的是状态之间的转移关系,在各个状态的转移过程中,赋予不同的奖励值就得到了马尔可夫奖励过程。由一个四元组组成(S, P,R ,伽马 )

image.png

马尔科夫决策过程

image.png

这就是我刚才说的开车模型了,就是把做出的决定,比如踩刹车等不同的决策加入模型里,也是修改状态的一个部分。根据不同的决策获得奖励也不一样

image.png

image.png

这个我觉得我没消化完我的学的东西,我尽力来解释一下吼 首先我们看那个图,就右边那副图。

对于机器人向左向右向上下向下是每个不同的状态合集都有百分之25

当机器人走出4x4的框框,就给予-10的奖励

决策就是机器人的动作,我们现在规定机器人只有一个拾取的动作,在空地拾取奖励是-5,在空地不拾取的奖励是5,在陷阱拾取奖励是-100,在宝箱拾取是100

在机器不停的改变状态不停的选择是否拾取的过程中,就会得到不同的奖励反馈。而强化学习的目标就是就是把期望也就是奖励最大化。

给一个别人的讲解stepneverstop.github.io/%E5%BC%BA%E…

至于具体的应用,就在后面慢慢学哈,人工智能必备数学知识就到这了。下一章就开始将