HMM(隐马尔可夫)

简介: HMM(隐马尔可夫)

前言


隐马尔可夫模型:是结构最简单的动态贝叶斯网络,是一种尤其著名的有向图结构,主要用于时序数据的建模,在语音识别、自然语言处理等领域有广泛应用,在分词算法中,隐马尔可夫经常用作能够发现新词的算法,通过海量的数据学习,能够将人名、地名、互联网上的新词等——识别出来,具有广泛的应用场景。


一、马尔可夫链


马尔可夫过程:随机过程的每一步结果与且仅与上一步有关,与其他无关。

马尔可夫链:将来的状态分布只是取决于上一步状态,与过去的每一个状态都没有关系,按照这种规律构成的状态集合就是马尔可夫链。

根据马尔可夫链,我们计算状态概率,需要两个条件

1、知道初始状态(状态分布矩阵)

2、有规律的状态转移矩阵,即根据初始状态,之后的状态转移是有规律的。(状态转移概率矩阵)

例子

假设初始状态为 s=[0.3 0.4 0.3] (即吃饭的概率是0.3,睡觉的概率是0.4 学习的概率是0.3)

假设状态转移概率矩阵为:

6152c27598af4164903e05bca80a9c7b.png


(第一列为初始状态)

import numpy as np
matrix = np.matrix([[0.05, 0.75, 0.2],
                    [0.8, 0.05, 0.15],
                    [0.25, 0.5, 0.25]])
vector1 = np.matrix([[0.3, 0.4, 0.3]])
for i in range(100):
    vector1 = vector1 * matrix
    print('第{}次状态吃饭、睡觉、学习的概率分别为:'.format(i+1))
    print(vector1)
# result:
第1次状态吃饭、睡觉、学习的概率分别为:
[[0.41  0.395 0.195]]
第2次状态吃饭、睡觉、学习的概率分别为:
[[0.38525 0.42475 0.19   ]]
第3次状态吃饭、睡觉、学习的概率分别为:
[[0.4065625 0.405175  0.1882625]]
第4次状态吃饭、睡觉、学习的概率分别为:
[[0.39153375 0.41931188 0.18915438]]
第5次状态吃饭、睡觉、学习的概率分别为:
[[0.40231478 0.40919309 0.18849213]]
…………………………………………………………………………
第95次状态吃饭、睡觉、学习的概率分别为:
[[0.39781591 0.41341654 0.18876755]]
第96次状态吃饭、睡觉、学习的概率分别为:
[[0.39781591 0.41341654 0.18876755]]
第97次状态吃饭、睡觉、学习的概率分别为:
[[0.39781591 0.41341654 0.18876755]]
第98次状态吃饭、睡觉、学习的概率分别为:
[[0.39781591 0.41341654 0.18876755]]
第99次状态吃饭、睡觉、学习的概率分别为:
[[0.39781591 0.41341654 0.18876755]]
第100次状态吃饭、睡觉、学习的概率分别为:
[[0.39781591 0.41341654 0.18876755]]

总结:从图中我们可以看出,最终状态的概率分布趋于同一个稳定的概率分布[0.39781591, 0.41341654, 0.18876755]。经过实验发现,更换初始状态,对最终状态的概率分布不会产生影响,也就是说,马尔可夫链模型的状态转移矩阵收敛得到的稳定概率分布和初始状态无关


二、隐马尔可夫模型


隐马尔可夫模型:统计模型,用来描述一个含有隐含未知参数的马尔可夫过程。

任何一个隐马尔可夫模型都可以通过下列的五元组来描述


1、观测序列

2、隐含状态

3、初始概率(对应马尔可夫链中的初始状态分布矩阵)

4、转移概率(对应马尔可夫链中的状态转移概率矩阵)

5、发射概率


未完待续……

参考文章:

写给小白看的马尔科夫链(Markov Chain)最佳入门教程.

一文搞懂HMM(隐马尔可夫模型)


未看:

隐马尔可夫模型(HMM)


总结

相关文章
|
5月前
|
自然语言处理 算法 语音技术
隐马尔可夫模型(HMM)
隐马尔可夫模型(HMM)
|
7月前
|
自然语言处理 算法 数据挖掘
R语言中的隐马尔可夫HMM模型实例
R语言中的隐马尔可夫HMM模型实例
|
7月前
|
算法
matlab贝叶斯隐马尔可夫hmm模型实现
matlab贝叶斯隐马尔可夫hmm模型实现
|
机器学习/深度学习 算法 语音技术
隐马尔科夫模型HMM
本文介绍常见的机器学习模型隐马尔科夫模型HMM。 HMM也是generative model。 我是因为看到一篇论文需要用HMM来优化,所以速成。日后如有新的理解将会持续更新,可以收藏关注本文以待。
隐马尔科夫模型HMM
01 隐马尔可夫模型 - 马尔可夫链、HMM参数和性质
一、马尔可夫性质 __先直白得讲性质:__当前的状态只和上一时刻有关,在上一时刻之前的任何状态都和我无关。我们称其__符合__马尔可夫性质。 下面是理论化的阐述:设{X(t), t ∈ T}是一个__随机过程__,E为其状态空间,若对于任意的t1 二、马尔可夫链 马尔可夫链 是指具有马尔可夫性质的随机过程。
1644 0
隐马尔科夫模型
隐马模型还是看李航的《统计学习方法》,写的很明了。 以下内容来自邹博的ppt: ...
850 0
|
机器学习/深度学习 算法 自然语言处理
隐马尔科夫模型HMM(一)HMM模型
隐马尔科夫模型(Hidden Markov Model,以下简称HMM)是比较经典的机器学习模型了,它在语言识别,自然语言处理,模式识别等领域得到广泛的应用。当然,随着目前深度学习的崛起,尤其是RNN,LSTM等神经网络序列模型的火热,HMM的地位有所下降。
3899 0