隐马尔科夫模型HMM详解

Posted 栋次大次

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了隐马尔科夫模型HMM详解相关的知识,希望对你有一定的参考价值。

HMM学习算法参考下篇文章
代码地址:6.1公布

隐马尔科夫模型基本概念

先看一个小问题:

问题:假设你是2077年的气候学家,正在进行气候研究,无法获得西安2021年的天气记录。你找到了果冻的日记本,上面列出了果冻这个夏天每天吃的冰淇淋数目。你的目标是:根据观测量(果冻夏天每天吃的冰淇淋数目)估计夏天每天的天气。假设天气只有冷和热两种可能,果冻吃的冰淇淋数目只有1,2,3三种可能。

你的任务是:

  • 给定观测序列 O O O,如 O = ( 3 , 1 , 3 ) O=(3,1,3) O=(3,1,3),其中每个整数表示果冻当天吃的冰淇淋数目
  • 找出隐藏的天气状态序列 Q Q Q,比如 Q = ( H O T , C O L D , H O T ) Q=(HOT,COLD,HOT) Q=(HOT,COLD,HOT)

隐马尔科夫模型定义

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

HMM由初始概率分布、状态转移概率分布和观测概率分布决定,当观测为离散值时:

Q = { q 1 q 2 … q N } Q=\\left\\{q_{1} q_{2} \\ldots q_{N}\\right\\} \\quad Q={q1q2qN} 所有可能的状态的集合 ( N (N (N ) ) )
V = { v 1 v 2 … v M } V=\\left\\{v_{1} v_{2} \\ldots v_{M}\\right\\} \\quad V={v1v2vM} 所有可能的观测的集合 ( M (M (M ) ) )
I = ( i 1 i 2 … i T ) I=\\left(i_{1} i_{2} \\ldots i_{T}\\right) \\quad I=(i1i2iT) 长度为 T T T的状态序列,每个来自 Q Q Q
O = ( o 1 o 2 … o T ) O=\\left(o_{1} o_{2} \\ldots o_{T}\\right) \\quad O=(o1o2oT) 长度为 T T T的观测序列,每个来自 V V V
A = [ a i j ] N × N A=\\left[a_{i j}\\right]_{N \\times N} \\quad 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} \\mid i_{t}=q_{i}\\right), i=1,2, \\ldots, N ; j=1,2, \\ldots, 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 j ( o t ) ] N × M B = [b_{j}\\left(o_{t}\\right)]_{N \\times M} B=[bj(ot)]N×M 观测概率矩阵,其中 b j ( o t ) = P ( o t = v k ∣ i t = q j ) , k = 1 , 2 , , … , M ; j = 1 , 2 , … , N b_{j}\\left(o_{t}\\right)=P\\left(o_{t}=v_{k} \\mid i_{t}=q_{j}\\right), k=1,2,, \\ldots, M ; j=1,2, \\ldots, N bj(ot)=P(ot=vkit=qj),k=1,2,,,M;j=1,2,,N,是在时刻t处于状态 q j q_j qj的条件下生成观测 v k v_k vk的概率。
π = ( π i ) \\pi=\\left(\\pi_{i}\\right) \\quad π=(πi) 初始状态概率向量,其中 π i = P ( i 1 = q i ) , i = 1 , 2 , … , N \\pi_{i}=P\\left(i_{1}=q_{i}\\right), i=1,2, \\ldots, N πi=P(i1=qi),i=1,2,,N, 是时刻 t = 1 t=1 t=1 处于状态 q i q_i qi的概率

HMM λ = ( A , B , π ) \\lambda=(A,B,\\pi) λ=(A,B,π) A , B , π A,B,\\pi A,B,π称为HMM的三要素

HMM的两个基本假设