机器学习

03 隐马尔可夫模型 - HMM的三个问题 - 学习问题 - B

2018-12-17  本文已影响130人  白尔摩斯

02 隐马尔可夫模型 - HMM的三个问题 - 概率计算问题

七、HMM的三个问题 - 学习问题

若训练数据包含观测序列和状态序列,则HMM的学习问题非常简单,是监督学习算法。
若训练数据只包含观测序列,则HMM的学习问题需要使用EM算法求解,是非监督学习算法。

若训练数据中包含观测序列和状态序列,直接利用大数定理的结论“频率的极限是概率”,直接给出HMM的参数估计

|Si| : Si的个数,表示状态i的总个数。
∑|Si|:表示所有时间点上的状态个数。
如下图所示:

πi - 例子

aij 表示i号状态转移到j号状态的概率。
|Sij| 表示i号状态转移到j号状态的个数。
∑|Sij| 表示所有时间点上i号状态转移到j号状态的个数。
如下图所示:

aij - 例子

bij 从当前状态转移到某个观测值的个数。
比如从1号盒子这个状态,转移到取出白球这个观测值的可能性 = b1白;
b1白 = (1->白)的个数 / [(1->白)的个数+(1->黑)的个数]
= |qij| / ∑|qij|
= |q1白| / (|q1白| + |q1黑|)


若训练数据中只有观测序列,则HMM的学习问题需要使用EM算法,属于非监督算法;此时一般使用Baum-Welch算法。

所有的观测数据为Q={q1,q2,...,qT},所有的隐状态为I={i1,i2,...,iT},则完整的数据为(Q,I),完整数据的对数似然函数为ln(p(Q,I;λ)); 然后直接使用EM算法的方式来进行参数估计。

Baum-Welch算法

Baum-Welch算法 - π求解

极大化L,使用拉格朗日乘子法,求解π的值:

Baum-Welch算法 - A求解

极大化L,使用拉格朗日乘子法,求解aij的值:

Baum-Welch算法 - B求解

极大化L,使用拉格朗日乘子法,求解bij的值:

Baum-Welch算法 - 极大化L函数,分别可以求得π、a、b的值

04 隐马尔可夫模型 - HMM的三个问题 - 预测问题

上一篇下一篇

猜你喜欢

热点阅读