机器学习与数据挖掘大数据,机器学习,人工智能人工智能/模式识别/机器学习精华专题

量化投资的利器:隐马尔可夫模型(二)

2018-09-09  本文已影响1人  tgbaggio

在之前的文章(《量化投资的利器:隐马尔可夫模型(一)》)里,我们比较“文学地”介绍了隐马尔可夫模型(HMM)的基本思想。而这篇文章将深入地从数学上来讨论HMM模型的细节。

一、马尔可夫链

首先讨论在处理序列数据时最常用的数学工具—马尔可夫链[1](Markov chain或者Markov process)。

马尔可夫链描述的是一个随机过程(stochastic process),比如《量化投资的利器:隐马尔可夫模型(一)》中的天气情况。更一般地,假设y_1, y_2, ..., y_n是按顺序排列的随机变量。这些随机变量是相互关联的,也就是说当前状态和之前的状态有关系,具体的如公式(1)所示:

P(y_i | y_{i - 1}, y_{i - 2}, ..., y_0) = P(y_i | y_{i - 1}) \tag{1}

上面的公式可形象地理解为:{y_i}是一个很“健忘”的随机过程,它的当前状态只跟前一个状态相关。针对马尔可夫链,数学上还可以证明:

P(y_0, ..., y_{i - 1}, y_{i + 1}, ..., y_n | y_i) = P(y_0, ..., y_{i - 1} | y_i)P(y_{i + 1}, ..., y_n | y_i) \tag{2}

公式(2)表示,在已知当前状态的条件下,未来和过去是相互独立。这也是马尔可夫链另一个比较通俗的解释。

当的取值离散时,相应的马尔可夫链[2]可由转移矩阵(transition matrix)和初始分布(即随机变量y_0的分布)表示。比如《量化投资的利器:隐马尔可夫模型(一)》中的天气情况可由一个的矩阵和相应的初始分布表示,如图1所示。

图1

更一般地,假设y_i可能的取值有n个,则转移矩阵Qn \times n的方阵,矩阵中元素的表示式为:

Q_{k, l} = P(y_i = l | y_{i - 1} = k) \tag{3}

也就是说,转移矩阵中第k行第l列的元素为状态k到状态l的概率。因此第k行表示状态k到其他可能状态的概率分布,显然它们的和等于1,即\sum_{l=1}^n Q_{k, l} = 1

以上就是马尔可夫链的数学定义。需要提醒读者注意的是,虽然它定义当前状态只跟前一状态相关,如公式(1)所示,但其实稍加变换就可以处理更为复杂的情况。比如假设当前状态跟最近的两个状态都相关,即P(y_i | y_{i - 1}, y_{i - 2}, ..., y_0) = P(y_i | y_{i - 1}, y_{i - 2})。针对这种情况,定义新的状态z_i = (y_i, y_{i - 1}),显然{y_i}{z_i}是等价的,而且容易证明随机过程z_i也是一个马尔可夫链。

二、模型架构

借助上面讨论的马尔可夫链,离散情况下的隐马尔可夫的模型参数(限于篇幅,这篇文章只讨论是离散的情况)可以被分解如下3个部分。

根据上面的分析,可以将隐马尔可夫模型表示成如图2所示的图像。

图2

根据上面假设的模型参数,可以得到数据的联合概率:

P(X, y) = P(y_0)P(y_1 | y_0) ... P(y_i | y_{i - 1})\prod_j P(X_j | y_j)

隐马尔可夫与其他生成式模型一样,其参数的估计原则是最大化数据的联合概率(也称为最大似然估计法);而预测公式也类似,只是需要整体考虑所有数据,具体地如公式(5)所示,其中,Y = (y_0, ..., y_T)

\hat{Y} = argmax_Y P(y_0, y_1, ..., y_T | X_1, X_2, ..., X_T)

公式(5)的求解并不容易,需要用到特殊的算法,比如著名的Viterbi算法,具体的细节请参考之后的文章《隐马尔可夫模型(三)》

到目前为止,我们只讨论了隐马尔可夫链的理论部分。这些内容显得有些抽象,不太容易理解模型到底是如何运行的。在之后的文章中(《隐马尔可夫模型(三)》《隐马尔可夫模型(四)》)将讨论两个具体的例子,它们将分别展示如何在监督式学习和非监督式学习领域使用隐马尔可夫模型。

三、广告时间

这篇文章的大部分内容参考自我的新书《精通数据科学:从线性回归到深度学习》

李国杰院士和韩家炜教授在读过此书后,亲自为其作序,欢迎大家购买。


  1. 马尔可夫链以俄国数学家安德雷·安德耶维齐·马尔可夫(Andrey Andreyevich Markov)的名字命名。除了机器学习,这个数学工具还被广泛应用于金融领域,特别是衍生品市场。

  2. 数学上严谨的表达是:针对离散情况,一个平稳马尔可夫链(stationary Markov chain)可以定义相应的转移矩阵。马尔可夫链被称为平稳的,当且仅当,也就是说状态间的转换概率不随时间变化。本章讨论离散情况下的隐马尔可夫模型,它使用的就是平稳马尔可夫链。事实上,在人工智能领域,几乎不会用到非平稳的马尔可夫链。

上一篇下一篇

猜你喜欢

热点阅读