在之前的文章(《量化投资的利器:隐马尔可夫模型(一)》)里,我们比较“文学地”介绍了隐马尔可夫模型(HMM)的基本思想。而这篇文章将深入地从数学上来讨论HMM模型的细节。
一、马尔可夫链
首先讨论在处理序列数据时最常用的数学工具—马尔可夫链[1](Markov chain或者Markov process)。
马尔可夫链描述的是一个随机过程(stochastic process),比如《量化投资的利器:隐马尔可夫模型(一)》中的天气情况。更一般地,假设是按顺序排列的随机变量。这些随机变量是相互关联的,也就是说当前状态和之前的状态有关系,具体的如公式(1)所示:
上面的公式可形象地理解为:是一个很“健忘”的随机过程,它的当前状态只跟前一个状态相关。针对马尔可夫链,数学上还可以证明:
公式(2)表示,在已知当前状态的条件下,未来和过去是相互独立。这也是马尔可夫链另一个比较通俗的解释。
当的取值离散时,相应的马尔可夫链[2]可由转移矩阵(transition matrix)和初始分布(即随机变量的分布)表示。比如《量化投资的利器:隐马尔可夫模型(一)》中的天气情况可由一个的矩阵和相应的初始分布表示,如图1所示。
更一般地,假设可能的取值有个,则转移矩阵为的方阵,矩阵中元素的表示式为:
也就是说,转移矩阵中第行第列的元素为状态到状态的概率。因此第行表示状态到其他可能状态的概率分布,显然它们的和等于1,即。
以上就是马尔可夫链的数学定义。需要提醒读者注意的是,虽然它定义当前状态只跟前一状态相关,如公式(1)所示,但其实稍加变换就可以处理更为复杂的情况。比如假设当前状态跟最近的两个状态都相关,即。针对这种情况,定义新的状态,显然和是等价的,而且容易证明随机过程也是一个马尔可夫链。
二、模型架构
借助上面讨论的马尔可夫链,离散情况下的隐马尔可夫的模型参数(限于篇幅,这篇文章只讨论是离散的情况)可以被分解如下3个部分。
先验概率:这部分模型与之前讨论的生成式模型没有任何差别。事实上,在实际生产中,常用朴素贝叶斯模型来处理。
初始分布:在离散的情况下,它就是一个多项式分布。
转移矩阵:它与上面的初始分布一起组成内在状态(hidden status)的马尔可夫链。
根据上面的分析,可以将隐马尔可夫模型表示成如图2所示的图像。
根据上面假设的模型参数,可以得到数据的联合概率:
隐马尔可夫与其他生成式模型一样,其参数的估计原则是最大化数据的联合概率(也称为最大似然估计法);而预测公式也类似,只是需要整体考虑所有数据,具体地如公式(5)所示,其中,。
公式(5)的求解并不容易,需要用到特殊的算法,比如著名的Viterbi算法,具体的细节请参考之后的文章《隐马尔可夫模型(三)》。
到目前为止,我们只讨论了隐马尔可夫链的理论部分。这些内容显得有些抽象,不太容易理解模型到底是如何运行的。在之后的文章中(《隐马尔可夫模型(三)》、《隐马尔可夫模型(四)》)将讨论两个具体的例子,它们将分别展示如何在监督式学习和非监督式学习领域使用隐马尔可夫模型。
三、广告时间
这篇文章的大部分内容参考自我的新书《精通数据科学:从线性回归到深度学习》。
李国杰院士和韩家炜教授在读过此书后,亲自为其作序,欢迎大家购买。
另外,与之相关的免费视频课程请关注这个链接