隐马尔可夫模型原理介绍

1. 引言

    隐马尔可夫模型(Hidden Markov Model,HMM)是可用于标注问题的统计学习模型,描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型,以下统一用简称HMM表示。HMM在语音识别、自然语言处理等都有着广泛的应用。

2. HMM原理介绍

2.1 HMM模型的定义

    HMM模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。隐藏的马尔可夫链随机生成不可观测的状态的序列称为状态序列;每个状态生成一个观测,再由此产生的观测的随机序列,称为观测序列。序列的每一个位置可以看作是一个时刻。

    HMM模型由初始概率分布、状态转移概率分布、观测概率分布确定。设 Q Q Q是所有可能的状态的集合, V V V是所有可能的观测的集合,即:
Q = { q 1 , q 2 , ⋯   , q N } , V = { v 1 , v 2 , ⋯   , v M } Q=\left\{q_{1}, q_{2}, \cdots, q_{N}\right\}, \quad V=\left\{v_{1}, v_{2}, \cdots, v_{M}\right\} Q={ q1,q2,,qN},V={ v1,v2,,vM}其中, N N N是可能的状态数, M M M是可能的观测数。记 I I I是长度为 T T T的状态序列, O O O是对应的观测序列,即:
I = ( i 1 , i 2 , ⋯   , i T ) , O = ( o 1 , o 2 , ⋯   , o T ) I=\left(i_{1}, i_{2}, \cdots, i_{T}\right), \quad O=\left(o_{1}, o_{2}, \cdots, o_{T}\right) I=(i1,i2,,iT),O=(o1,o2,,oT) A A A为状态转移概率矩阵:
A = [ a i j ] N × N A=\left[a_{i j}\right]_{N \times N} A=[aij]N×N其中, a i j = P ( i t + 1 = q j ∣ i t = q i ) , i = 1 , 2 , ⋯   , N ; j = 1 , 2 , ⋯   , N a_{i j}=P\left(i_{t+1}=q_{j} | i_{t}=q_{i}\right), \quad i=1,2, \cdots, N ; j=1,2, \cdots, N aij=P(it+1=qjit=qi),i=1,2,,N;j=1,2,,N,即在时刻 t t t处于状态 q i q_i qi的条件下在时刻 t + 1 t+1 t+1转移到状态 q j q_j qj的概率。

    记 B B B为观测概率矩阵:
B = [ b j ( k ) ] N × μ B=\left[b_{j}(k)\right]_{N \times \mu} B=[bj(k)]N×μ其中, b j ( k ) = P ( o t = v k ∣ i t = q j ) , k = 1 , 2 , ⋯   , M ; j = 1 , 2 , ⋯   , N b_{j}(k)=P\left(o_{t}=v_{k} | i_{t}=q_{j}\right), \quad k=1,2, \cdots, M ; j=1,2, \cdots, N bj(k)=P(ot=vkit=qj),k=1,2,,M;j=1,2,,N是在时刻 t t t处于状态 q j q_j qj的条件下生成观测 v k v_k vk的概率。

    记 π \pi π为初始状态概率向量:
π = ( π i ) \pi=\left(\pi_{i}\right) π=(πi)其中, π i = P ( i 1 = q i ) , i = 1 , 2 , ⋯   , N \pi_{i}=P\left(i_{1}=q_{i}\right), \quad i=1,2, \cdots, N πi=P(i1=qi),i=1,2,,N,表示时刻 t = 1 t=1 t=1处于状态 q i q_i qi的概率。

    因此,HMM模型 λ \lambda λ可以用三元符号表示,即:
λ = ( A , B , π ) \lambda=(A, B, \pi) λ=(A,B,π) A , B , π A, B, \pi A,B,π称为HMM模型的三要素。

    从HMM模型的定义可以发现,HMM其实做了两个基本的假设:

  1. 齐次马尔可夫性假设:即假设隐藏的马尔可夫链在任意时刻 t t t的状态只依赖于其前一时刻的状态,与其他时刻的状态及观测无关,也与时刻 t t t无关,即
    P ( i t ∣ i t − 1 , o t − 1 , ⋯   , i 1 , o 1 ) = P ( i t ∣ i t − 1 ) , t = 1 , 2 , ⋯   , T P\left(i_{t} | i_{t-1}, o_{t-1}, \cdots, i_{1}, o_{1}\right)=P\left(i_{t} | i_{t-1}\right), \quad t=1,2, \cdots, T P(itit1,ot1,,i1,o1)=P(itit1),t=1,2,,T
  2. 观测独立性假设:即假设任意时刻的观测只依赖于该时刻的马尔可夫链的状态,与其他的观测和状态无关。即
    P ( o t ∣ i t , o t , i t − 1 , o t − 1 , ⋯   , i t + 1 , o t + 1 , i t , i t − 1 , o t − 1 , ⋯   , i 1 , o 1 ) = P ( o t ∣ i t ) P\left(o_{t} | i_{t}, o_{t}, i_{t-1}, o_{t-1}, \cdots, i_{t+1}, o_{t+1}, i_{t}, i_{t-1}, o_{t-1}, \cdots, i_{1}, o_{1}\right)=P\left(o_{t} | i_{t}\right) P(otit,ot,it1,ot1,,it+1,ot+1,it,it1,ot1,,i1,o1)=P(otit)
2.2 概率计算方法

     概率计算即给定模型 λ = ( A , B , π ) \lambda=(A, B, \pi) λ=(A,B,π)和观测序列 O = ( o 1 , o 2 , ⋯   , o T ) O=\left(o_{1}, o_{2}, \cdots, o_{T}\right) O=(o1,o2,,oT),计算在模型 λ \lambda λ下,观测序列 O O O出现的概率 P ( O ∣ λ ) P(O | \lambda) P(Oλ)

2.2.1 直接计算法

     直接计算法是通过列举所有可能的长度为 T T T的状态序列 I = ( i 1 , i 2 , ⋯   , i T ) I=\left(i_{1}, i_{2}, \cdots, i_{T}\right) I=(i1,i2,,iT),求各个状态序列 I I I和观测序列 O = ( o 1 , o 2 , ⋯   , o T ) O=\left(o_{1}, o_{2}, \cdots, o_{T}\right) O=(o1,o2,,oT)的联合概率 P ( O , I ∣ λ ) P(O, I | \lambda) P(O,Iλ),然后对所有可能的状态序列求和,得到 P ( O ∣ λ ) P(O | \lambda) P(Oλ)

    状态序列 I = ( i 1 , i 2 , ⋯   , i T ) I=\left(i_{1}, i_{2}, \cdots, i_{T}\right) I=(i1,i2,,iT)的概率为:
P ( I ∣ λ ) = π i 1 a i 1 i 2 a i 2 i 3 ⋯ a i T − 1 i T P(I | \lambda)=\pi_{i_{1}} a_{i_{1} i_{2}} a_{i_{2} i_{3}} \cdots a_{i_{T-1} i_{T}} P(Iλ)=π

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值