隐马尔可夫模型HMM整理

周志华《机器学习》

1 概率图模型:描述随机过程的一个工具

  • 节点表示随机变量,边表示变量之间的概率关系;
  • 分类:
    在这里插入图片描述

2 马尔可夫模型

  • 每个结点的随机变量是可观测的;
  • 给定一个随机序列: S : s 1 , s 2 , s 3 . . . s T S:s_1,s_2,s_3...s_T S:s1,s2,s3...sT,其联合概率分布为:
    P ( s 1 , s 2 , s 3 . . . s T ) = P ( s 1 ) ⋅ P ( s 2 ∣ s 1 ) ⋅ P ( s 3 ∣ s 2 ) ⋅ ⋅ ⋅ ⋅ P ( s T ∣ s T − 1 ) P(s_1,s_2,s_3...s_T)=P(s_1)\cdot P(s_2|s_1)\cdot P(s_3|s_2)\cdot \cdot \cdot\cdot P(s_T|s_{T-1}) P(s1,s2,s3...sT)=P(s1)P(s2s1)P(s3s2)P(sTsT1)
  • 其中的所有条件概率都可以在概率图模型中查到:
    在这里插入图片描述
    图片来源:https://zhuanlan.zhihu.com/p/46160757

3 隐马尔可夫模型:动态贝叶斯网

3.1 两组随机变量、两个空间

  • 每个节点的状态是不可观测(隐藏)的,但是每个节点的随机变量会生成一个观测变量,这个观测变量是可观测的。
    在这里插入图片描述
  • 状态变量(隐变量): { y 1 , y 2 , y 3 , . . . , y n } , y i ∈ Y = { s 1 , s 2 , s 3 , . . . , s N } \{y_1, y_2 , y_3 ,...,y_n \}, \quad y_i\in\mathcal{Y}=\{s_1, s_2 , s_3 ,...,s_N \} {y1,y2,y3,...,yn},yiY={s1,s2,s3,...,sN}状态空间
  • 观测变量 { x 1 , x 2 , x 3 , . . . , x n } , x i ∈ X = { o 1 , o 2 , o 3 , . . . , o M } \{x_1, x_2 , x_3 ,...,x_n \}, \quad x_i\in\mathcal{X}=\{o_1, o_2 , o_3 ,...,o_M \} {x1,x2,x3,...,xn},xiX={o1,o2,o3,...,oM}观测空间

3.2 两个基本假设

  • 马尔可夫性假设:系统下一时刻的状态仅由当前状态决定, 即 y i + 1 y_{i+1} yi+1仅依赖于 y i y_{i} yi
  • 观测独立性假设:任一时刻,观测变量的取值仅依赖于状态向量,即 x i x_i xi仅依赖于 y i y_i yi

3.3 三组模型参数

  • 所有变量的联合概率分布为:
    P ( y 1 , y 2 , y 3 . . . y n , x 1 , x 2 , x 3 . . . x n ) = P ( y 1 ) P ( x 1 ∣ y 1 ) ∏ i = 2 n P ( y i ∣ y i − 1 ) P ( x i ∣ y i ) P(y_1,y_2,y_3...y_n,x_1,x_2,x_3...x_n)=P(y_1) P(x_1|y_1)\prod_{i=2}^n P(y_i |y_{i-1})P(x_i|y_i) P(y1,y2,y3...yn,x1,x2,x3...xn)=P(y1)P(x1y1)i=2nP(yiyi1)P(xiyi)
  • 因此,要确定联合概率分布,需要的参数有以下3组:
    • 状态转移概率:记为矩阵 A = [ a i j ] N × N A=[a_{ij}]_{N\times N} A=[aij]N×N
      a i j = P ( s j ∣ s i ) , i , j ∈ [ 1 , N ] a_{ij}=P(s_j|s_i), \quad i,j\in [1,N] aij=P(sjsi),i,j[1,N]
    • 输出观测概率:记为矩阵 B = [ b i j ] N × M B=[b_{ij}]_{N\times M} B=[bij]N×M
      b i j = P ( o j ∣ s i ) , i ∈ [ 1 , N ] , j ∈ [ 1 , M ] b_{ij}=P(o_j|s_i), \quad i\in[1,N], j\in [1,M] bij=P(ojsi),i[1,N],j[1,M]
    • 初始状态概率:模型在初始时刻N个状态出现的概率,记为 π = ( π 1 , π 2 , . . . , π N ) \pi=(\pi_1,\pi_2,...,\pi_N) π=(π1,π2,...,πN)
      π i = P ( y 1 = s i ) , i ∈ [ 1 , N ] \pi_i = P(y_1=s_i),\quad i\in[1,N] πi=P(y1=si),i[1,N]
  • 通过指定状态空间 Y \mathcal{Y} Y、观测空间 X \mathcal{X} X 还有三组模型参数,就能确定一个马尔可夫模型;
  • 可以用 λ = [ A , B , π ] \lambda=[A,B,\pi] λ=[A,B,π]来表示一个马尔可夫模型;

4 隐马尔可夫模型的三个基本问题

  • 给定模型 λ = [ A , B , π ] \lambda=[A,B,\pi] λ=[A,B,π],如何计算其产生观测序列 x = { x 1 , x 2 , x 3 , . . . , x n } x = \{x_1, x_2 , x_3 ,...,x_n \} x={x1,x2,x3,...,xn}的概率 P ( x ∣ λ ) P(x|\lambda) P(xλ) ?即如何评估模型与观测序列之间的匹配程度?
  • 给定模型 λ = [ A , B , π ] \lambda=[A,B,\pi] λ=[A,B,π]和观测序列 x = { x 1 , x 2 , x 3 , . . . , x n } x = \{x_1, x_2 , x_3 ,...,x_n \} x={x1,x2,x3,...,xn},如何找到与此观测序列最匹配的状态序列 y = { y 1 , y 2 , y 3 , . . . , y n } y =\{y_1, y_2 , y_3 ,...,y_n \} y={y1,y2,y3,...,yn}?即如何根据观测序列推断隐藏状态?
  • 给定观测序列 x = { x 1 , x 2 , x 3 , . . . , x n } x = \{x_1, x_2 , x_3 ,...,x_n \} x={x1,x2,x3,...,xn},如何调整参数 λ = [ A , B , π ] \lambda=[A,B,\pi] λ=[A,B,π]使得该序列出现的概率 P ( x ∣ λ ) P(x|\lambda) P(xλ)最大?即如何训练模型使其能最好的描述观测数据?

应用场景

  • 预测推断:根据以往的观测序列 x = { x 1 , x 2 , x 3 , . . . , x n − 1 } x = \{x_1, x_2 , x_3 ,...,x_{n-1} \} x={x1,x2,x3,...,xn1}来推测当前时刻最有可能的观测值 x n x_n xn,可以转化为第一个问题;
  • 语音识别:观测值为语音信号,隐藏状态为文字,根据观测序列来推断最有可能的状态序列,即对应的文字,可以转化为第二个问题;
  • 模型拟合:根据样本(状态值和观测值),训练最优模型参数,使得其最好的拟合观测数据,可以转化为第三个问题;

5 马尔可夫随机场 MRF

  • 马尔可夫随机场是典型的马尔可夫网,是一种无向图模型;
    在这里插入图片描述

团:对于图中结点的一个子集,若其中任意两结点之间都有边连接,则该子集成为一个“团”。若在一个团中加入任意一个其他结点都不再构成团,则该团称为“极大团”

  • 马尔可夫随机场是生成式模型,因此对联合概率建模,MRF中,多个变量之间的联合概率分布能基于团分解为多个因子的乘积,也可以基于极大团来定义,假定所有极大团构成的集合为 C ∗ C^* C
    P ( x ) = 1 Z ∗ ∏ Q ∈ C ∗ ϕ Q ( x Q ) P(x)=\frac{1}{Z^*}\prod_{Q\in C^*}\phi_Q(x_Q) P(x)=Z1QCϕQ(xQ)
    Z ∗ Z^* Z为规范化因子, ϕ Q ( x Q ) \phi_Q(x_Q) ϕQ(xQ)是定义在团 x Q x_Q xQ上的势函数;

6 条件随机场CRF

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值