隐马尔可夫模型是一种重要的概率图模型。作为一种著名的有向图模型,HMM广泛应用于语音识别和序列预测等领域。

前提假设与模型表示

两个假设
齐次马尔可夫假设:假设隐藏的马尔科夫链在任意时刻t的状态只依赖于其前一时刻的状态,与其他时刻的状态及观测无关,也与时刻t无关。
状态独立假设:某一时刻的观测变量只和自己的隐变量相关。

模型表示λ=(π,A,B)\lambda=(\pi,A,B)π\pi时初始概率分布,AA时状态转移矩阵,BB时发射矩阵。

模型求解

重要定理:隐状态已知的情况下,观测变量之间都是相互独立的。

假设隐状态序列为q1,q2,..,qnq_1,q_2,..,q_n,观测变量序列y1,y2,...,yny_1,y_2,...,y_n.
齐次马尔可夫假设公式化表示:P(qtqt1,...,q1)=P(qtqt1)P(q_t|q_{t-1},...,q_1)=P(q_t|q_{t-1}),这个概率称为transition probability,并且必须时离散的。这个概率Ak×kA_{k\times k}
状态独立假设公式化表示:P(ytqt)P(y_t|q_t),这个概率称为transition probability,这个离散的。这个概率Bk×lB_{k\times l}

假设给定一个隐马尔可夫模型
隐马尔可夫模型(HMM)

观测变量y1,y2,y3y_1,y_2,y_3发生的概率推导如下:
隐马尔可夫模型(HMM)由上面的推导我们可以看出,P(ynqn)P(y_n|q_n)概率可以从B矩阵得到,P(qnqn1)P(q_n|q_{n-1})概率可以从A矩阵得知。上述公式唯一缺少的概率就是P(q1)P(q_1),其他的概率我们都能从概率矩阵A和概率矩阵B得到。
我们用\prod表示P(q1)P(q_1)。因而最后模型的表示就是λ=(π,A,B)\lambda=(\pi,A,B)。这也就是模型的由来。上述的推导过程也非常简单,只需用贝叶斯定理一直求解下去就能得到。

HMM的三个问题

Evaluation:P(o|λ),求概率,可用前向算法或后向算法求解
Learning:求参数λ=argmaxP(qλ)\lambda=argmaxP(q|\lambda),通过EM求解
Decoding:预测P(yi+1q1,...,qt),P(y_{i+1}|q_1,...,q_t),

Evaluation

用一个例子引入:
假设有五十个人都单独的说单词cat,利用MLE求解得到λcat\lambda_{cat}的估计是λcat=argmaxlogP(y1,...,y50λ)\lambda_{cat}=argmax logP(y_1,...,y_{50}|\lambda)
再有五十个人都单独的说单词dog,利用MLE求解得到λdog\lambda_{dog}的估计是λdog=argmaxlogP(y1,...,y50λ)\lambda_{dog}=argmax logP(y_1,...,y_{50}|\lambda)
。。。

现在新来了一个人,让他说一个词,我们用上面求解的λ估计他说的到底是什么词P(Yλ)P(Y|\lambda)

利用我们刚刚求解的公式进行求解:
隐马尔可夫模型(HMM)可以看到这个概率非常难算,总共T个sum,每个sum还有k个变换。

解决办法:前向算法或者后向算法。
以前向算法为例,引入一个参数qtq_t,在计算过程中再用积分积掉这个参数就OK了。
定义αi(t)=P(y1,...,yt,qt=iλ)\alpha_i(t)=P(y_1,...,y_t,q_t=i|\lambda)
隐马尔可夫模型(HMM)递归的计算下去,最后得到:
隐马尔可夫模型(HMM)
最后求得P(y1,...,yt)=j=1kαj(T)P(y_1,...,y_t)=\sum_{j=1}^k\alpha_j(T)

如果是后向算法,引入βi(t)=P(t+1,...,yTqt=i,λ)\beta_i(t)=P(t+1,...,y_T|q_t=i,\lambda)。过程略。。

Learning

利用EM进行求解。
EM公式:
隐马尔可夫模型(HMM)
这里定义 X:观测变量,Z:隐变量,θ:参数
那么EM公式可以改写为:
隐马尔可夫模型(HMM)未完待续。。。。。。

相关文章:

  • 2022-12-23
  • 2021-06-02
猜你喜欢
  • 2022-12-23
  • 2021-06-16
  • 2021-10-06
  • 2021-11-02
  • 2021-05-03
  • 2021-10-03
  • 2021-04-14
相关资源
相似解决方案