马尔可夫链概念解释[示例]

已发表: 2020-12-18

目录

介绍

马尔可夫链非常普遍、直观,已被用于多个领域,如自动化内容创建、文本生成、财务建模、巡航控制系统等。著名品牌谷歌在其页面排名算法中使用马尔可夫链来确定搜索顺序.

马尔可夫链相对简单,不需要任何数学概念或高级统计知识即可实现。 如果你对马尔可夫链有很好的理解,那么学习概率建模和数据科学技术就会变得更容易。

本文将借助示例让您深入了解马尔可夫链是什么以及它们是如何工作的。

什么是马尔可夫链?

马尔可夫链是一种数学模型,它仅基于先前的事件状态为下一个状态提供概率或预测。 马尔可夫链生成的预测与通过观察该场景的整个历史所做出的预测一样好。

它是一种基于某些概率条件从一种状态过渡到另一种状态的模型。 定义马尔可夫链的一个特征是,无论当前状态如何实现,未来状态都是固定的。 下一个状态的可能结果完全取决于当前状态和状态之间的时间。

阅读: Python 教程中的马尔可夫链

带有示例的马尔可夫链概念

假设您想预测明天的天气状况。 但是您已经知道,天气可能只有两种可能状态,即多云和晴天。 你将如何使用马尔可夫链预测第二天的天气?

好吧,您将开始观察当前的天气状态,可能是晴天,也可能是阴天。 假设今天是晴天。 气候条件总是经历几次转变。 您将收集过去几年的天气数据,并计算出晴天后出现阴天的几率为 0.35。

您还观察到,在晴天之后出现晴天的几率是 0.65。 此分布将帮助您预测第二天也将是晴天。 这就是当前天气状态如何帮助您预测未来状态,您可以应用相同的逻辑来预测未来几天的天气状况。

上面的例子说明了马尔科夫链是无记忆的马尔科夫特性。 第二天的天气状况不依赖于导致当天天气状况的步骤。 只有经历从当天到下一天的过渡才能得出概率分布。

马尔可夫链的另一个例子是只吃水果、蔬菜或肉类的人的饮食习惯。 饮食习惯遵循以下规则:

  • 这个人一天只吃一次。
  • 如果一个人今天吃水果,那么明天他会以相同的概率吃蔬菜或肉类。
  • 如果他今天吃蔬菜,那么明天他将以 1/10 的概率吃蔬菜,以 1/40 的概率吃水果,以 1/50 的概率吃肉。
  • 如果他今天吃肉,那么明天他会以 4/10 的概率吃蔬菜,以 6/10 的概率吃水果。 明天他不会再吃肉了。

您可以使用马尔可夫链轻松模拟他的饮食习惯,因为第二天的选择完全取决于他今天吃了什么,而不管他昨天或前一天吃了什么。

另请阅读:马尔可夫链简介

马尔可夫链转移矩阵

到目前为止,我们已经了解了如何预测从一种状态转换到另一种状态的概率。 但是如何找到在几个步骤中发生的转换的概率分布。 您可以使用马尔可夫链转移矩阵找出多个步骤中转移的概率分布。

马尔可夫链转移矩阵只不过是从一种状态转移到另一种状态的概率分布。 它被称为转换矩阵,因为它显示了不同可能状态之间的转换。

与每个状态相关的概率称为该状态的概率分布。 它是用于分析马尔可夫链的最重要的工具。 例如,如果有 N 个可能的状态,那么转移矩阵 (P) 将如下所示

P = N x N 矩阵

其中一行 (I, J) 中的条目表示从状态 I 转换到状态 J 的概率。转换矩阵 P 的每一行的总和应为 1。

要表示马尔可夫链,您还需要一个初始状态向量来描述 N 个可能状态中每个状态的开始。 您可以将初始状态向量 (X) 表示为

X = N x 1 矩阵

假设您想找出经过 M 个多步骤从状态 I 转换到状态 J 的概率。 您给出了三种可能的状态,即牛市、熊市和停滞市场。

在上面的例子中,转移矩阵的第一列表示牛市状态,第二列表示熊市,第三列表示停滞状态。 这些行也以类似的方式对应。

在转移矩阵中,转移概率是通过将 P 提高到步数 (M) 的幂来计算的。 对于 3 步转换,您可以通过将 P 提高到 3 来确定概率。

通过将上面的 P3 矩阵相乘,可以计算出从一种状态转移到另一种状态的概率分布。

结论

由于您已经了解了马尔可夫链的工作原理,因此您可以轻松地在任何问题陈述中实现它们以达到解决方案或自动化。 马尔可夫链非常强大,为其他更高级的建模技术提供了基础。

对马尔可夫链的理解可以引导您在简要建模和采样等多种技术方面获得更深入的知识。

如果您想了解 Python、数据科学,请查看 IIIT-B 和 upGrad 的数据科学 PG 文凭,该文凭专为在职专业人士而设,提供 10 多个案例研究和项目、实用的实践研讨会、与行业专家的指导,与行业导师一对一,400 多个小时的学习和顶级公司的工作协助。

马尔可夫链有什么有趣的现实用例吗?

是的,从文本创建到金融建模,马尔可夫链在现实生活中有很多有趣的用例。 大多数文本生成器使用马尔可夫网络。 链系统被广泛用于生成假文本、超大文章和编译演讲。 我们通常在互联网上看到的名称生成器也使用马尔可夫链。 马尔可夫链的另一个著名应用是预测即将出现的单词。 它们还有助于自动完成和推荐。 Google PageRank 和 Subreddit Simulator 是突出的例子,它们使用马尔可夫链来自动生成整个 subreddit 的材料。

学习数据科学时,马尔可夫链是否重要?

尽管马尔可夫链对数据科学学习者来说不是强制性的,但它们可以为学习概率建模和数据科学技术提供一种极好的方法。 马尔可夫链在理论上相当简单,无需任何复杂的统计或数学思想即可实现。 数据科学最突出的应用是进行预测,数据科学家使用马尔可夫链的条件概率来进行这些预测。 它以随机过程的无记忆特性命名,即任何过程的未来状态的分布仅由这些过程的当前状态决定。

马尔可夫链如何帮助 Google 的 PageRank 算法?

Google 的 PageRank 算法是一种著名的基于链接的排名算法。 页面排名不是根据其内容评估页面,而是根据其相互关联的结构对它们进行排名。 通过简单地检查当前状态,马尔可夫链可以帮助预测系统从一种状态转换到另一种状态的行为。

当用户向搜索引擎输入查询时,PageRank 算法会识别 Web 上与查询词匹配的站点,并使用马尔可夫网络按照其 PageRank 的顺序向用户显示这些页面。 PageRank 算法仅根据网站的链接结构而不是页面的内容来确定网站的重要性。