前序文章:
机器学习笔记—模式分类(二)参数判别估计法(最大似然估计和贝叶斯参数估计)1
机器学习笔记—模式分类(三)参数判别估计法2(最大似然估计)
机器学习笔记—模式分类(四)参数判别估计法3(贝叶斯参数估计)
机器学习笔记—模式分类(五)参数判别估计法4(充分统计量、维数、特征线性组合、特征缺失)
同类文章:
暂无
10、隐马尔可夫模型
参数估计判别方法(贝叶斯)中,我们所处理的问题都是估计类条件概率密度p(x|wi)中的参数,目的是做出一个判决,现在我们将转到需要进行一个序列的判决的问题。
在一些与时间相关的问题中,t时刻发生的事件要受t-1时刻发生的时间的直接影响。在处理这些问题时,隐马尔可夫模型HMM获得了较好的应用,如在语音识别领域或手势的识别。
隐马尔可夫模型具有一组已经设置好的参数,他们可以最好地解释特定类别中的样本,在使用中一个测试样本被归类为能产生最大后验概率的那个类别,也就是这个类别的模型最好地解释了这个测试样本。
产生序列的机理是通过转移概率,记
aij=P(wj(t+1)|wi(t))
表示系统在某一个时刻处于状态wi的情况下,在下一个时刻变为状态wj的概率,注意这个概率与具体的时刻t无关所以不需要用aij(t)进来表示,也不需要转移概率是对称的即不需要有aij=aji。
以上是马尔可夫模型或更准确地说是一阶离散时间的马尔可夫模型,因为某一时刻的概率只与前一时刻有关。
假设在某一个时刻t,系统处于某一个状态w(t)中,同时这个系统还激发某种可见或可被观测到的符号v(t),这里为简单起见只考虑发出离散符号的情形。
能够发出可见状态模型的工作过程如下:在t时刻的状态w(t)下,每一个可能发出的状态vk(t)都有相应的概率,记为
bjk=P(vk(t)|wj(t))
因为我们只能观测到可见的状态,而不能直接知道wj处于哪个内部状态,所以整个模型就被称为“隐马尔可夫模型”HMM。
隐马尔可夫模型的核心问题:
(1)估值问题
假设我们有一个HMM,其转移概率aij和bjk均已知,计算这个模型产生某一个特定观测序列VT的概率;
产生某一个特定观测序列/可见状态给序列VT的概率等于所有可能产生这个可见状态序列的隐状态序列情况的概率相加,而每一种可能的隐状态序列情况的发生概率,都是隐状态之间的转移概率和产生可见符号的概率依次相乘得到的;
估值问题概率求解的算法有HMM前向算法、HMM后向算法。
(2)解码问题
假设已经有了要给HMM和它所产生的一个观测序列,计算最有可能产生这个可见观测序列的因状态序列wT;
如果采用穷举每一个所有可能的状态序列的方法计算每种可能性的概率,计算复杂度为O(c^T*T)非常之高;
采用简单的隐马尔可夫模型解码算法可以把每一时刻t最大的aj值所对应的隐状态链接起来,但算法存在无法保证找到的路径是一条合法路径的缺陷,即找到的路径有可能是无法连贯的。
(3)学习问题
假设知道一个HMM的大致结构如隐状态数量和可见状态数量,但aij和bjk均未知,计算如何从一组可见符号的训练序列中决定这些参数;
到目前为止还没有能够根据训练样本确定最有参数集合的方法,但是通过一种非常直接的前向-后向/Baulm-Welch算法,总能够得到一个令人满意的解答;
前向--后向/Baulm-Welch算法可以说是广义期望最大化算法的一种具体实现,其核心思想是通过递归方式更新权重,以得到能够更好解释训练样本序列的模型参数。
期望最大化算法的部分内容可以参考
机器学习笔记—模式分类(五)参数判别估计法4(充分统计量、维数、特征线性组合、特征缺失)
中的特征缺失部分。