定义: 关于时序的概率模型,描述由一个隐藏得马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生的观测随机序列的过程。
状态序列: 隐藏的马尔可夫链随机生成的状态的序列
观测序列: 每一个状态生成一个观测,而由此产生的观测的随机序列
序列的每一个位置又可以看做是一个时刻
隐马尔可夫模型由初始概率分布、状态转移概率分布以及观测概率分布确定。形式定义如下:
所有可能的状态的集合:Q={q1,q2,q3,q4...qN}
所有可能的观测的集合:V={v1,v2,v3,v4...vN}
长度为T的状态序列:I=(i1,i2,i3,i4,...iT)
对于的长度为T的观测序列:O=(o1,o2,o3,o4...oT)
状态转移概率矩阵:A = [aij]NxN,其中
aij = P(it+1=qj|it=qi), i=1,2,...,N; j=1,2,...,N, 是在时刻t处于状态qi的条件下在时刻t+1转移到qj的概率。
观测概率矩阵:B=[bj(k)]NxM, 其中bj(k)=P(ot=vk|it=qj), k=1,2,...,M; j=1,2,...,N 是指时刻t处于状态qj的条件下生成观测vk的概率。
PP 代表初始状态概率向量: PP = (ppi); 其中ppi=P(i1=qi) , i = 1,2,...,N 指时刻t=1处于状态qi的概率。
简述的bug无法插入数学公式,好坑爹
隐马尔可夫由初始状态概率向量PP、状态转移概率矩阵A和观测概率矩阵B决定。PP和A决定状态序列,B决定观测序列。因此隐马尔可夫模型lambda可以用用三元符号表示,即 lambda = (A, B, PP), A、B、PP称为隐马尔可夫模型的三要素。
隐马尔可夫模型的两个基本假设:
(1) 齐次马尔可夫性假设,即假设隐藏得马尔可夫链再任意时刻t的状态只依赖于其前一时刻的状态,与其他时刻的状态及观测无关,也与时刻t无关。
P(it|it-1, ot-1,it-2, ot-2,...i1, o1) = P(it|it-1)
(2)观测独立性假设,即假设任意时刻的观测只依赖于该时刻的马尔可夫链的状态,与其他观测及状态无关。
P(ot|iT, oT, iT-1, oT-1,...,it+1, ot+1, it, it-1, ot-1,...,i1,o1) = P(ot|it)
隐马尔可夫模型可以用于标注,这是状态对应这标记。标注问题是给定观测的序列预测其对应标记序列。可以假设标注问题的数据是由隐马尔可夫模型生成的。
观测序列的生成过程
算法(观测序列的生成)
输入:隐马尔可夫模型 lambda = (A, B, PP), 观测序列长度T
输出:观测序列 O = (o1,o2,o3,o4,...,oT)
(1) 按照初始状态分布PP产生状态i1
(2)令t=1
(3)安装状态it的观测概率分布bi1(k)生成ot
(4)安装状态it的状态转移概率分布{aitit+1}产生状态it+1; it+1 = 1, 2, 3,...,N
(5)令t=t+1;如果t< T, 转(3);否则,终止
隐马尔可夫模型的3个基本问题
(1)概率计算问题:给定模型lambda = (A, B, PP)和观测序列O = (o1,o2,o3,o4,...,oT),计算再模型lambda下观测序列O出现的概率P(O|lambda).
(2)学习问题:已知观测序列O = (o1,o2,o3,o4,...,oT),估计模型lambda参数,使得在该模型下观测序列概率P(O|lambda)最大。即用最大似然估计的方法估计参数。
(3)预测问题:也称为解码问题,已知模型lambda = (A, B, PP)和观测序列O = (o1,o2,o3,o4,...,oT),求对给定观测序列条件概率P(I|O)最大的状态序列I=(i1, i2,i3,..,iT)。即给定观测序列,求最有可能的对应的状态序列。
Reference:
《统计学习方法》李航