Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Markov chains 马尔可夫链是如何工作的?什么是无记忆性?_Markov Chains_Markov_Markov Models - Fatal编程技术网

Markov chains 马尔可夫链是如何工作的?什么是无记忆性?

Markov chains 马尔可夫链是如何工作的?什么是无记忆性?,markov-chains,markov,markov-models,Markov Chains,Markov,Markov Models,马尔可夫链是如何工作的?我已经读维基百科好几年了,但我没有得到的是无记忆。无记忆状态表示: 下一个状态仅取决于当前状态,而不取决于 在此之前发生的一系列事件 如果马尔可夫链具有这种性质,那么马尔可夫链在马尔可夫模型中有什么用途? 解释这个属性。你可以想象马尔可夫链,就像一只青蛙在池塘里从睡莲垫跳到睡莲垫一样。青蛙不记得它以前去过哪个百合花圃。对于i和j的所有可能组合,它也有从lily pad Ai跳到lily pad Aj的给定概率。马尔可夫链允许你计算青蛙在任何给定时刻出现在某个睡莲垫上的概率

马尔可夫链是如何工作的?我已经读维基百科好几年了,但我没有得到的是无记忆。无记忆状态表示:

下一个状态仅取决于当前状态,而不取决于 在此之前发生的一系列事件

如果马尔可夫链具有这种性质,那么马尔可夫链在马尔可夫模型中有什么用途?

解释这个属性。

你可以想象马尔可夫链,就像一只青蛙在池塘里从睡莲垫跳到睡莲垫一样。青蛙不记得它以前去过哪个百合花圃。对于i和j的所有可能组合,它也有从lily pad Ai跳到lily pad Aj的给定概率。马尔可夫链允许你计算青蛙在任何给定时刻出现在某个睡莲垫上的概率


如果这只青蛙是素食者,每次它在睡莲垫上降落时都会啃食睡莲垫,那么它从睡莲垫Aj降落在睡莲垫Ai上的概率也取决于之前访问Ai的次数。然后,你将无法使用马尔可夫链来模拟青蛙的行为,从而预测青蛙的位置。

无记忆的思想是马尔可夫链成功的基础。这并不意味着我们不关心过去。相反,这意味着我们只保留过去最相关的信息来预测未来,并使用这些信息来定义现在。 这篇漂亮的文章提供了一个很好的背景

在您对过去的描述的准确性和关联状态空间的大小之间存在权衡。比如说,附近有三家酒吧,每天晚上你都会选一家。如果你随机选择这些酒吧,这不是一个马尔可夫链(或一个微不足道的零阶链)——结果是随机的。更准确地说,它是一个独立的随机变量(建模依赖性是马尔可夫链的马尔可夫思想的基础)

在你对酒吧的选择中,你可以考虑你最后的选择,即你前一天晚上去了哪家酒吧。例如,您可能希望避免连续两天去同一家酒吧。实际上,这意味着要记住你昨天去过的地方(从而记住过去!),在你的建模级别,你的时间单位是一天,因此你当前的状态是你昨天去的酒吧。这是你的经典(一阶)马尔可夫模型,它有三个状态和3×3的转移矩阵,为每个排列提供条件概率(如果昨天你去了pub I,那么今天你“跳”到pub J的变化是什么)

但是,您可以定义一个模型,在其中“记住”最后两天。在这个二阶马尔可夫模型中,“当前”状态将包括昨晚和前夜对酒吧的了解。现在你有9种可能的状态来描述你的当前状态,因此你有一个9乘9的转移矩阵。谢天谢地,这个矩阵没有完全填充

为了理解原因,考虑到你组织得很好,你可以根据最近两次的访问,为今天和明天的酒吧选择做一个坚定的计划。然后,您可以选择连续两天访问的酒吧的任何可能排列。结果是一个完全填充的9乘9矩阵,将您过去两天的选择映射到未来两天的选择。然而,在我们最初的问题中,我们每天都做出决定,因此我们未来的状态受到今天发生的事情的约束:在下一个时间步(明天),今天变成昨天,但它仍然是您在该时间步对“今天”的定义的一部分,并且与第二天发生的事情相关。这种情况类似于移动平均线,或后退地平线程序。因此,从一个给定的状态,您只能移动到三个可能的状态(表示您今天选择的酒吧),这意味着您的转移矩阵的每一行只有三个非零条目

让我们总结描述每个问题的参数数量:具有三种状态的零阶马尔可夫模型有两个独立的参数(命中第一个和第二个pub的概率,因为访问第三个pub的概率是前两个的补充)。一阶马尔可夫模型有一个完全填充的3乘3矩阵,每个列加起来就是一个(同样,这表明在任何给定的一天都会有一家酒吧被访问),因此我们最终得到了六个独立的参数。二阶马尔可夫模型有9乘9矩阵,每行只有3个非零条目,所有列加在一起,因此我们有18个独立的参数。 我们可以继续定义高阶模型,我们的状态空间也会相应增长

重要的是,我们可以通过识别过去的重要特征来进一步细化概念,并仅使用这些特征来定义现在,即压缩关于过去的信息。这就是我一开始提到的。例如,我们不能记住所有的历史,而只能记录一些影响我们选择的值得纪念的事件,并使用“足够的统计数据”来构建模型

这一切归结为定义相关变量(状态空间)的方式,而马尔可夫概念自然来自基础数学概念。一阶(线性)关系(以及相关的线性代数运算)是当前大多数数学应用的核心。您可以使用单个变量查看n次多项式方程,也可以通过定义辅助变量定义n个方程的等效一阶(线性)系统。类似地,在经典力学中,可以使用二阶拉格朗日方程,也可以选择导致(一阶)哈密顿公式的正则坐标

最后,对马尔可夫问题的稳态解与瞬态解进行了说明。势不可挡的amo