
什么是马尔可夫链?什么时间 应该使用它们?它们是怎样 运作的?

马尔可夫链是一个相当常见、相当简朴的对随机历程举行 统计建模的方式。它们被应用在许多领域,从文本天生 到金融建模。一个较量 盛行 的例子是 SubredditSimulator,它使用马尔可夫链自动建设整个 subreddit 的内容。总之,马尔可夫链在看法上是很是直观,而且易于明确 的,不使用任何高级的统计或者数学看法就可以实现。马尔可夫链是入门概率建模和数据科学手艺 的很好的起源 。
简介
首先,我们用一个很常见的例子来形貌 它们:
试想有两种可能的天气状态:晴天或者阴天。你总是可以直接地视察当前的天气状态,而且保证是之条件 及的两者之一。现在,你决议 展望 明天的天气。假设在这个历程中有一个潜在的转移,由于 当前的天气会对第二天的天气状态有所影响。因此,作为一个敬业的人,你网络 了几年的天气数据,然后盘算获得阴天之后泛起晴天的概率是 0.25。你还注重 到,普遍 地讲,阴天之后发生阴天的概率是 0.75,由于 只有两种可能的天气状态。你现在可以使用 这个漫衍,凭证 当地现在 的天气状态去展望 未来几天的天气。
这个例子形貌 了马尔可夫链的许多要害看法。马尔可夫链本质上是由一系列知足 马尔可夫性子 的转移组成,这些转换听从某种概率漫衍。
我们来视察一下在这个例子中,怎样 仅仅通过视察从当天到第二天的转换就获得概率漫衍。这着实 说的就是马尔可夫性,即马尔可夫历程独占的让状态转移没有影象的性子 。这通常使它们无法乐成地天生 会泛起某些期望潜在趋势的序列。例如,马尔可夫链可能凭证 词频来模拟 一个作者的写作气焰 气焰 ,可是 它无法天生 包罗深层寄义的文本或者蕴含某种主题意义的文本,由于 这些文本都是基于更长的文本序列开发的。因此,它们缺乏天生 语境相关内容的能力,由于 它们无法思量 到之前的整条状态链。

天气展望 例子的可视化
模子
形式上,马尔可夫链是一个概率自念头 。状态转移的概率漫衍通常体现为马尔可夫链的转移矩阵。若是 马尔可夫链有 N 个可能的状态,那么这个转移矩阵就是 N*x*N 的矩阵,使得元素 (I, J) 代表从状态 I 转移到状态 J 的概率。此外,状态转移矩阵必须是随机矩阵,它的每一行元素之和必须是 1。这完全是能够讲得通的,由于 每一行代表它自己的概率漫衍。

马尔可夫链的一样平常 视图,圆圈代表状态,边代表转移。

具有三个可能状态的状态转移矩阵。
此外,马尔可夫链也会有一个初始状态向量,由一个 N x 1 的向量体现,用这个向量来形貌 从 N 个状态中的某个状态最先 的概率漫衍。初始向量中的元素 I 代表该马尔可夫链从 I 状态最先 的概率。

具有四个可能状态的初始向量。
这两个实体通常就是用来形貌 一个马尔可夫链所需的所有 内容了。
我们知道怎样 获得从一个状态转移到另一个状态的可能性,可是 怎样 知道经由 多个步骤后发生转移的概率呢?为了将这个也形式化,我们现在要界说在 M 个步骤中从状态 I 转移到状态 J 的概率。事实证实 ,这是很容易的。给定一个状态转移矩阵 P,这可以通过盘算矩阵 P 的 M 次幂中的元素 (I, J) 来决议 。然而,对于 M 值较量 大的情形 ,若是 您对简朴的线性代数较量 熟悉,更有用 的要领是先将矩阵对角化,然后再盘算它的 M 次幂。
结论
既然你已经相识 了马尔可夫链的基本知识,现在就应该能够用你选择的语言轻松地实现它们。若是 你不善于 编程,尚有 许多更高级的马尔可夫链和马尔可夫历程的属性可以深入研究。在我看来,马尔可夫链沿着理论蹊径 的自然生长将是隐马尔可夫历程或 MCMC(马尔可夫链蒙特卡罗)。简朴的马尔可夫链是其他更重大 的建模手艺 的基本组成,因此,掌握了这些知识,你现在可以去实验更多这种主题的手艺 ,例如信心 建模和采样。

