我是靠谱客的博主 漂亮电源,这篇文章主要介绍隐马尔科夫模型(HMM)学习小记隐马尔科夫模型(HMM),现在分享给大家,希望可以做个参考。

隐马尔科夫模型(HMM)

  • 基于时序的概率模型

定义

Q = [ q 1 , q 2 . . . , q N ] 是 所 有 可 能 的 状 态 集 合 V = [ v 1 , v 2 . . . v M ] 是 所 有 目 标 集 合 I = [ i 1 , i 2 . . . i T ] 表 示 长 度 为 T 的 状 态 序 列 O = [ o 1 , o 2 . . . o T ] 表 示 长 度 为 T 的 观 测 序 列 概 率 转 移 矩 阵 A = [ a i j ] n × n a i j = P ( i t + 1 = q j ∣ i t = q i ) ( 在 t 时 刻 ) 观 测 概 率 矩 阵 B = [ b j ( k ) ] N × M b j ( k ) = P ( o t = v k ∣ i t = q j ) 初 始 状 态 概 率 向 量 π = ( π i ) π i = P ( i 1 = q i ) Q=[q_1,q_2...,q_N]是所有可能的状态集合 qquad V=[v_1,v_2...v_M]是所有目标集合\ I=[i_1,i_2...i_T]表示长度为T的状态序列qquad O=[o_1,o_2...o_T]表示长度为T的观测序列\ \ 概率转移矩阵A=[a_{ij}]_{n×n}qquad a_{ij}=P(i_{t+1}=q_j|i_{t}=q_i)qquad(在t时刻)\ 观测概率矩阵B=[b_j(k)]_{N×M}qquad b_j(k)=P(o_t=v_k|i_t=q_j)\ 初始状态概率向量pi=(pi_i)qquad pi_i=P(i_1=q_i) Q=[q1,q2...,qN]V=[v1,v2...vM]I=[i1,i2...iT]TO=[o1,o2...oT]TA=[aij]n×naij=P(it+1=qjit=qi)(t)B=[bj(k)]N×Mbj(k)=P(ot=vkit=qj)π=(πi)πi=P(i1=qi)

综上,HMM可以用模型 λ = ( A , B , π ) lambda=(A,B,pi) λ=(A,B,π)表示

基本假设

  • 从定义可知,HMM做了两个基本的假设
    • 1、齐次马尔科夫性假设:假设HMM在任意时刻 t t t只依赖于前的任意时刻
    • 2、观察独立性假设:假设任意观察序列只依赖于该时刻的状态与其他状态无关

三个基本问题

  • 1、概率计算问题:已知模型和观测序列,求在该模型下,观测序列出现的概率
  • 2、学习问题:已知观测序列估计模型参数,即用极大似然法估计参数
  • 3、预测问题:也称为解码问题。已知模型和观测序列,求最有可能的状态序列

一、概率计算问题

直接计算法

  • 列举所有可能的状态序列,然后求出状态序列的概率
  • 这样的时间复杂度是 O ( T N T ) O(TN^T) O(TNT)级别的

前向算法

设 前 向 概 率 为 α t ( i ) = P ( o 1 , o 2 . . . , o t , i t = q i ∣ λ ) 显 然 有 以 下 的 递 推 公 司 a t + 1 ( i ) = [ ∑ j = 1 N α t ( j ) a j i ] b i ( o t + 1 ) α 1 ( i ) = π i b i ( o 1 ) 所 以 P ( O ∣ λ ) = ∑ i = 1 N α T ( i ) 设前向概率为alpha_t(i)=P(o_1,o_2...,o_t,i_t=q_i|lambda)\ 显然有以下的递推公司\ a_{t+1}(i)=[sum_{j=1}^Nalpha_t(j)a_{ji}]b_i(o_{t+1})qquad alpha_1(i)=pi_ib_i(o_1)\ 所以\ P(O|lambda)=sum_{i=1}^N alpha_T(i) αt(i)=P(o1,o2...,ot,it=qiλ)at+1(i)=[j=1Nαt(j)aji]bi(ot+1)α1(i)=πibi(o1)P(Oλ)=i=1NαT(i)

这样的时间复杂度是 O ( T N 2 ) O(TN^2) O(TN2)级别的,这样的优化就在于,用一个递推状态来记录了前面搜索的结果,而不用像第一个方法一样重读搜索。

后向算法

  • 思想和前向的算法差不多,就是倒过来求

设 后 向 概 率 为 β t ( i ) = P ( o t + 1 , o t + 2 , . . . , o T ∣ i t = q i , λ ) β T ( i ) = 1 初 始 化 β t ( i ) = ∑ j = 1 N a i j b j ( o t + 1 ) β t + 1 ( j ) P ( O ∣ λ ) = ∑ i = 1 N π i b i ( o 1 ) β 1 ( i ) 设后向概率为beta_t(i)=P(o_{t+1},o_{t+2},...,o_{T}|i_t=q_i,lambda)\ beta_{T}(i)=1qquad 初始化\ beta_t(i)=sum_{j=1}^N a_{ij}b_j(o_{t+1})beta_{t+1}(j)\ P(O|lambda)=sum_{i=1}^N pi_ib_i(o_1)beta_1(i) βt(i)=P(ot+1,ot+2,...,oTit=qi,λ)βT(i)=1βt(i)=j=1Naijbj(ot+1)βt+1(j)P(Oλ)=i=1Nπibi(o1)β1(i)

结合前向后向概率的一些计算

  • 1、给定模型和观测,计算时刻t时处于状态 q i q_i qi的概率

    • 把式子化成上面 P ( O ∣ λ ) P(O|lambda) P(Oλ)的形式

    • γ t ( i ) = P ( i t = q i ∣ O , λ ) = P ( i t = q i , O ∣ λ ) P ( O ∣ λ ) = α t ( i ) β t ( i ) ∑ j = 1 N α t ( j ) β t ( j ) gamma_t(i)=P(i_t=q_i|O,lambda)=frac{P(i_t=q_i,O|lambda)}{P(O|lambda)}=frac{alpha_t(i)beta_t(i)}{sum_{j=1}^N alpha_t(j)beta_t(j)} γt(i)=P(it=qiO,λ)=P(Oλ)P(it=qi,Oλ)=j=1Nαt(j)βt(j)αt(i)βt(i)

  • 2、给定模型和观测,计算在时刻t处于状态 q t q_t qt,在时刻t+1处于 q j q_j qj的概率

    • 将t+1的状态空出来直接计算
      ξ t ( i , j ) = P ( i t = q i , i i + 1 = q j ∣ O , λ ) = P ( i t = q i , i i + 1 = q j , O ∣ λ ) P ( O ∣ λ ) = α t ( i ) a i j b j ( o t + 1 ) β t + 1 ( j ) ∑ i = 1 N ∑ j = 1 N α t ( i ) a i j b j ( o t + 1 ) β t + 1 ( j ) xi_t(i,j)=P(i_t=q_i,i_{i+1}=q_j|O,lambda)=frac{P(i_t=q_i,i_{i+1}=q_j,O|lambda)}{P(O|lambda)}=\frac{alpha_t(i)a_{ij}b_j(o_{t+1})beta_{t+1}(j)}{sum_{i=1}^Nsum_{j=1}^N alpha_t(i)a_{ij}b_j(o_{t+1})beta_{t+1}(j)} ξt(i,j)=P(it=qi,ii+1=qjO,λ)=P(Oλ)P(it=qi,ii+1=qj,Oλ)=i=1Nj=1Nαt(i)aijbj(ot+1)βt+1(j)αt(i)aijbj(ot+1)βt+1(j)
  • 3、。。。。。。

二、学习问题

监督学习方法

  • 已知观察序列和状态序列 [ ( O 1 , I 1 ) , ( O 2 , I 2 ) , . . . , ( O S , I S ) ] [(O_1,I_1),(O_2,I_2),...,(O_S,I_S)] [(O1,I1),(O2,I2),...,(OS,IS)],然后我们利用极大似然估计来计算参数

  • 直接用频率估计即可

非监督学习方法(Baum-Welch算法)

  • 只有观察序列,并没有对应的状态序列。
  • 这种情况也就是假设状态序列是隐变量 I I I,然后写出一个含隐变量的概率模型

P ( O ∣ λ ) = ∑ I P ( O ∣ I , λ ) P ( I ∣ λ ) P(O|lambda)=sum_{I}P(O|I,lambda)P(I|lambda) P(Oλ)=IP(OI,λ)P(Iλ)

  • 然后我们就可以用EM算法解决,所以其实Baum-Welch算法就是EM算法在HMM上的应用

    • EM算法简单来说就是,先明确隐函数是什么,然后把隐函数写进去写出对数似然,然后对隐变量取期望写出Q函数(E步),然后再极大化Q函数(M步)得到下一轮的参数初值

最后

以上就是漂亮电源最近收集整理的关于隐马尔科夫模型(HMM)学习小记隐马尔科夫模型(HMM)的全部内容,更多相关隐马尔科夫模型(HMM)学习小记隐马尔科夫模型(HMM)内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部