隐马尔科夫模型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={q1q2…qN} 所有可能的状态的集合 ( N (N (N 个 ) ) )
V = { v 1 v 2 … v M } V=\\left\\{v_{1} v_{2} \\ldots v_{M}\\right\\} \\quad V={v1v2…vM} 所有可能的观测的集合 ( M (M (M 个 ) ) )
I = ( i 1 i 2 … i T ) I=\\left(i_{1} i_{2} \\ldots i_{T}\\right) \\quad I=(i1i2…iT) 长度为 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=(o1o2…oT) 长度为 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=qj∣it=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=vk∣it=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的两个基本假设
-
齐次马尔可夫性假设:隐藏的马尔科夫链在时刻t的状态只与t-1的状态有关
P ( i t ∣ i t − 1 , o t − 1 , . . . , i 1 , o 1 ) = P ( i t ∣ i t − 1 ) , t = 1 , 2 , . . . , 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(it∣i
以上是关于隐马尔科夫模型HMM详解的主要内容,如果未能解决你的问题,请参考以下文章 大道至简机器学习算法之隐马尔科夫模型(Hidden Markov Model, HMM)详解---学习问题:Baum-Welch算法推导