马尔可夫模型
一个马尔科夫过程是状态间的转移仅依赖于前n个状态的过程。这个过程被称之为n阶马尔科夫模型,其中n是影响下一个状态选择的(前)n个状态。最简单的马尔科夫过程是一阶模型,它的状态选择仅与前一个状态有关。
对于有M个状态的一阶马尔科夫模型,共有M^2个状态转移,可以用一个状态转移矩阵(M*M)表示。注意这些概率并不随时间变化而不同——这是一个非常重要(但常常不符合实际)的假设。
通常定义一个马尔可夫过程需要三个要素:
状态:M个
pi向量:初始化时的每一个状态的概率
转移矩阵:初始化后各个状态进行相互转移的概率矩阵
通过这三个要素就可以定义一个马尔可夫过程
隐马尔可夫模型
在马尔可夫过程的基础上,我们不用前一状态来推测后一个状态,而是运用一些隐态的、与要研究状态相关的其余状态信息来推测后一个状态。(eg:水藻推测天气状态)
HMM五元组:
观测序列-O (水藻状态)
状态序列-I (天气状态)
初始状态概率向量-pi
状态转移概率矩阵-A
观测概率矩阵-B (观测-状态)
后三个又被称为HMM三要素。
两个假设
- 齐次马尔可夫性假设
任意时刻t的状态只依赖于前一个状态 - 观测独立性假设
任意时刻的观测只依赖于该时刻的状态,与其他时刻的观察和状态无关
HMM三类经典问题
概率计算问题
给定模型{pi,A,B}和状态序列I的情况下,求观测序列O出现的概率(Forward-backward算法)
解码问题
已知模型{pi,A,B}和观测序列O,求对给定观测序列条件概率P(I|O)最大的状态序列I,即给定观测序列,求最有可能的对应状态序列(Viterbi算法)
学习问题
观测序列O已知的情况下,求解模型参数{pi,A,B},使得观测序列在这个模型参数下观测序列概率最大。(极大似然估计算法)