隐马尔科夫
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
隐马尔科夫模型
1.隐马尔科夫模型的定义及相关术语
定义:隐马尔科夫模型是关于时序的模型,其描述一个隐藏的马尔科夫链随机生成不可观测的随机状态序列,再由各个状态生成一个观测,从而生成可观测的随机序列的过程。
状态序列:隐藏的马尔科夫链随机生成状态序列;
观测序列:每一个状态可以生成一个观测,则状态序列可以生成观测序列。
模型参数:隐马尔科夫模型有三个参数:初始概率分布π,状态转移概率分布A,观测概率分布B。
2隐马尔科夫模型建立基于的假设
(1)齐次马尔科夫性假设。
隐藏的马尔科夫链在任意时刻t的状态只依赖于其前一刻的状态,与其他时刻的状态和观测无关,也与t时刻无关。
(2)观测独立性假设。
任意时刻的观测只与本时刻的状态有关,与其他状态及观测无关。
3隐马尔科夫的三个问题
(1)概率计算问题。给定隐马尔科夫模型λ=(π,A,B)和观测序列O,计算在该模型下,该观测序列出现的概率。
(2)学习问题。隐马尔科夫模型参数的学习。给定观测序列,估计模型λ=(π,A,B)的参数,使得在该模型下该观测序列出现的概率最大。
(3)预测问题。给定模型参数和观测序列,求最有可能的状态序列。
4.概率计算
前向计算和后向计算。<统计学习方法>P177有例子。
5.学习算法
(1)监督学习。
根据观测序列和状态序列组合。采用极大似然的思想估计状态转移概率:
^1a =ij
ij N j A Aij
=∑
其中,ij A 表示训练集中状态i 转移到状态j 中频数。
同样可以得到,状态为j 观测为k 的概率:
^1jk
ij M jk
k B b A
==∑ (2)非监督学习方法。
当我们只知道观测序列O 而不知道状态序列I 时,可以将状态序列I 看做隐变量,从而采用EM 算法进行求解,则我们要求解的目标是:
(|)(|,)(|)I
P O P O I P I λλλ=∑
EM 算法的E 步:
Q 函数: 其中(,|)(|,)|P I O P I O P λλλ---=
(O ),因为分母为常数,所以省略。即上式仍符合: (,)=(log (,|)|,)I Q E P O I O λλλλ--的形式。
有:
i11112221(,|)=()()...()i i i i iT iT iT T P O I b o a b o a b o λπ-
则:
i1()(1)()11(,)log (,|)(log())(,|)(log(()))(,|)
T T i t i t i t t I I t I t Q P O I a P O I b o P O I λλπλλλ----
+===++∑∑∑∑∑ 上式,右侧的三项分别独自包含了模型参数的一项,下面分别对每一项进行分析。
对第一项运用朗格朗日乘子法计算:
首先写出拉格朗日函数:
i
1i 11log (,|)(()1)N N
i i P O i i r πλπ-===+-∑∑ s.t.
i 1)1)N
i π=-∑=0; 对i π求偏导并令结果为0得到: 1i (,|)0P O i i r λπ-
=+= (2)
在两边分别对i 求和,得到:
(|)r P O λ-
=
带入(2)式得到: 1i (,|)(|)P O i i P O λπλ--== (3)
同理可以得到关于,ij ij a b 的式子。 6预测算法
采用的是动态规划的思想,具体预测过程见《统计学习方法》P187。