隐马尔科夫模型(HMM)—— 数学推导,图文并茂

出处:视频截图,b站shuhuai008

目录

代码实现:hmmlearn

1. 背景

1.1 数理统计学两大派

1.2 概率图

2. HMM

2.1 一个模型,两个假设,三个问题

2.2 Evaluation问题

(1)前向

(2)后向

2.3 Learning问题 

2.4 Decoding问题 

3. 总结

3.1 HMM

3.2 动态模型(Dynamic Model)


例子:

HMM与分词、词性标注、命名实体识别

HMM求解三大问题的小例子

代码实现:hmmlearn

参考:

  • https://www.cnblogs.com/pinard/p/7001397.html或https://www.jianshu.com/p/b7758d4a59ca
  • http://www.huaxiaozhuan.com/%E5%B7%A5%E5%85%B7/scikit-learn/chapters/7.HMM.html

1. 背景

1.1 数理统计学两大派

隐马尔科夫模型(HMM)—— 数学推导,图文并茂_第1张图片

       贝叶斯学派与频率学派是当今数理统计学的两大学派,基于各自的理论,在诸多领域中都起到了重要作用。自20世纪初数理统计学大发展开始,一直到20世纪中叶,频率学派一直占据主导地位,当时诸多大咖如Fisher、K.Pearson等都属于频率学派,而从20世纪中叶以后,贝叶斯学派迅速发展壮大起来,可与频率学派分庭抗礼(我想这也是社会发展的需求,一些问题用原来的方法解决不了,需要一种的新的思维出现来解决问题),由于其发展较新,因此人们也将频率学派称为古典学派。

频率学派与贝叶斯学派的估计思想:

       对于样本分布F(X,\theta ),此时我们要对其中的未知进行估计,让我们来看看频率学派与贝叶斯学派分别是如何做的。

        (1)频率学派

        频率学派认为,对于一批样本,其分布F(X,\theta )是确定的,也即\theta是确定的,只不过\theta未知。为什么会有这样的想法?这就要从频率学派的基本宗旨来看了,频率学派认为概率即是频率,某次得到的样本X只是无数次可能的试验结果的一个具体实现,样本中未出现的结果不是不可能出现,只是这次抽样没有出现而已,因此综合考虑已抽取到的样本X以及未被抽取、实现的结果,可以认为总体分布是确定的,不过未知,而样本来自于总体,故其样本分布F(X,\theta )也同样的特点。  基于此,就可以使用估计方法去推断\theta

       (2)贝叶斯学派

       贝叶斯学派否定了概率及频率的观点,并且反对把样本X放到“无限多可能值之一”背景下去考虑,既然只得到了样本X,那么就只能依靠它去做推断,而不能考虑那些有可能出现而未出现的结果。与此同时,贝叶斯学派引入了主观概率的概念,认为一个事件在发生之前,人们应该对它是有所认知的,即F(X,\theta )中的\theta不是固定的,而是一个随机变量,并且服从分布H(\theta ),该分布称为“先验分布”(指抽样之前得到的分布),当得到样本X后,我们对\theta的分布则有了新的认识,此时H(\theta )有了更新,这样就得到了“后验分布”(指抽样之后得到的分布),此时可以再对\theta做点估计、区间估计,此时的估计不再依赖样本,完全只依赖\theta的后验分布了。

GMM:高斯混合模型,独立同分布

1.2 概率图

隐马尔科夫模型(HMM)—— 数学推导,图文并茂_第2张图片

Dynamic Model:普通模型 + 时间序列(时间、一个句子)的概率图模型

隐马尔科夫模型(HMM)—— 数学推导,图文并茂_第3张图片

(1)HMM:隐变量是离散的

(2)Kalman Filter:又叫 Linear Dynamic Model 或 Linear Gaussian Model 

           隐变量和观测变量都是连续的,都是服从高斯分布的       

(3)Particle Filter:Non-Linear、Non-Guaaian 

2. HMM

条件:隐状态必须是离散的

2.1 一个模型,两个假设,三个问题

                     隐马尔科夫模型(HMM)—— 数学推导,图文并茂_第4张图片

                               隐马尔科夫模型(HMM)—— 数学推导,图文并茂_第5张图片

                    隐马尔科夫模型(HMM)—— 数学推导,图文并茂_第6张图片

HMM的三个假设

  • 有限历史性假设,p(si|si-1,si-2,...,s1) = p(si|si-1)
  • 齐次性假设,(状态与具体时间无关),P(si+1|si)=p(sj+1,sj)
  • 观测独立性假设,输出仅与当前状态有关,P(o1,...ot|s1,...st) = P(ot|qt)
     

HMM解决的三个问题:参考https://www.jianshu.com/p/c80ca0aa4213

  • 评估问题:已知模型参数 λ= (A, B, π),计算某个观测序列发生的概率,即求P(O|λ),即概率计算问题

前向-后向算法:给定模型λ=(A,B,π)和观测序列Q={q1,q2,...,qT},计算模型λ下观测到序列Q出现的概率P(Q|λ)。

已知λ=(A,B,π),观测到序列 Q=白→黑→白→白→黑,但我们不知道 状态序列 I=①→③→②→②→③;我们要求解P(Q|λ),即Q=白→黑→白→白→黑 这个观测序列发生的概率。

  • 学习问题:如何调整模型参数 λ=(π, A, B),使得P(O|λ)最大?  

Baum-Welch算法:已知观测序列Q={q1,q2,...,qT},估计模型λ=(A,B,π)的参数,使得在该模型下观测序列P(Q|λ)最大。

Baum-Welch算法是EM算法的一个特例,专门用来求解隐马尔科夫中隐状态参数λ=(A,B,π)。即:根据已知的观测序列 Q=白→黑→白→白→黑,去寻找整个模型的一组隐状态参数λ=(A,B,π),使得在模型中观测序列发生的可能性P(Q|λ)最大。

  • 解码问题:给出观测序列O和模型μ,怎样选择一个隐藏状态序列S(s1,s2,...st+1),能最好的解释观测序列O;

Viterbi算法:给定模型λ=(A,B,π)和观测序列Q={q1,q2,...,qT},求使观测序列条件概率P(I|Q,λ)最大的状态序列I。

已知观测到序列 Q=白→黑→白→白→黑,当我们得到λ=(A,B,π)后,我们用Viterbi算法 求出在哪一种状态序列发生的可能性最大,即,求出状态序列 I=①→③→②→②→③;即,抽取什么样的盒子顺序,更可能得到白→黑→白→白→黑这种结果。

2.2 Evaluation问题

评估:概率计算问题

推导过程使用了两个假设和A、B的定义

(1)前向

直接求P(O|lamda)时,算法复杂度O(N^{T})太大,方式不可行,因此提出前向和后向算法

(2)后向

隐马尔科夫模型(HMM)—— 数学推导,图文并茂_第7张图片

2.3 Learning问题 

学习:也就是参数估计问题。已知观察序列,来对HMM模型的参数进行估计。

拉格朗日乘子法:https://blog.csdn.net/qq_40036484/article/details/80457800

EM算法

2.4 Decoding问题 

解码:已知观察序列,求什么样的隐藏状态序列最可能生成一个给定的观察序列

给定观测序列,求解最优隐状态序列——动态规划问题

3. 总结

隐马尔科夫模型(HMM)—— 数学推导,图文并茂_第8张图片

3.1 HMM

    隐状态必须是离散的,发射矩阵可以是连续的/离散的;P(O|I)~N(u, a)

3.2 动态模型(Dynamic Model)

   又叫状态空间模型State Space Model

隐马尔科夫模型(HMM)—— 数学推导,图文并茂_第9张图片

 

你可能感兴趣的:(机器学习,统计分析)