首先引入两个概念:1.频率派(后来逐渐发展称为统计机器学习,其核心问题就是优化问题,把他的loss function定义出来,求解) 2.贝叶斯派(后来发展为概率图模型,最终是要做推断,实际上就是求后验概率,围绕拿到后验概率怎么去求解他的期望方差等。进而把他隐身为积分问题,最重要的是一个积分问题,进行数值积分(MCMC))
个人认为接下来所表述的HMM从根本上来讲他其实是一个概率图模型。概率图模型根据其有向还是无向可以进行划分,有向的叫做贝叶斯网络,无向的叫做马尔科夫随机场也可以叫做马尔可夫网络。如果将其概率图加上时间序列的化他就叫做动态模型(意思就是我们平时所说的模型,比如说高斯混合模型GMM,假入他有n个样本分别为这些x独立同分布于一个概率分布,他可能是一个混合模型,但其内部之间没有关联是独立的同分布的,但是呢这个动态模型可以认为在普通的模型上加上了时间的序列,这个time时间可以是一个抽象的,可以是真正的时间也可以是一段话、一个句子、一个序列等)
动态模型的特点:(1)首先样本与样本之间不是独立同分布(iid)的。
(2)往往他们之间又是混合的。(意思就是)
动态模型进一步划分根据隐变量系统状态之间的关系,如果系统状态是离散的话,每一个系统状态都是一个隐变量,如果说这个隐变量它的取值范围是离散的话,我们称为这是HMM;假如说是非离散,它就是连续我们可以进一步细分,如果他是线性的化我们可以进一步细分线性Dynamic Model;线性代表就是Kalman Filter如果说是非线性的那就是非线性的Dynamic Model,一个代表就是Particle Filter。总而言之HMM他的状态实际上是离散的,也就是说他的隐变量实际上是服从于一个离散的概率分布。
一个模型
状态转移矩阵就是说系统的状态之间的一个概率相关的一个矩阵。比如说系统的隐状态t=1时刻有一个隐状态,然后这个状态他到t=2时刻他会往哪些方向去变化。
HMM他的另外的几个记号,这里面有两个假设:
(1)齐次马尔科夫(Markov)假设;可以认为他是无后效性,具体如公式(1)
(2)观测独立假设
HMM要解决的三个问题:
(1)Evaluation;(就是求值的意思) P(O|)---->常用的算法是前向后向算法(Forward backward Evaluation)
意思就是假设已知了,已知了初始的概率分布,已知了状态转移矩阵,已知了发射矩阵。都已经知道的情况下,比如说(说一句话:我爱小鹿)这个句子他出现的概率是多大;那就是已知的情况下这个状态序列这个O(大偶)就表示一个序列它的长度就是t(从)他出现的概率是多大。
(2)Learning;(Learning问题顾名思义就是要求参数了)就是参数估计问题就是这个如何求。----->用的算法是EM算法
=argmax P(O|)---->就是令似然达到最大。
(3)Decoding;(Decoding问题就是我们要找到一个状态序列I,使得P(I|O)能够达到最大。意思就是这个观测序列是O(大偶)我们唯一能够看到的是从,然后Decoding问题就是我们要找出来能够使得我们看到的这个序列最大的状态序列是什么)
就是要找出来I=argmax P(I|O) 令这个特征序列能够达到最大的i的序列。
再细化一下可以引申出来另外两个问题:
(1)预测;(预测问题就是说已知O(大偶),当前时刻是t时刻我们要求这个t+1时刻的隐状态,这个就是预测。顾名思义就是已经当前时刻要预测下一个时刻他的隐状态的概率就叫预测问题)
(2)滤波;(已知观测变量到t时刻,然后我们要去求t时刻的隐状态,也就是他是多少。这个就是滤波问题)
整个状态序列求出来之后,再做一个积分求和,就得到了以上两个。
在HMM里边最主要关心的