目录

  • 前言
  • 一、马尔可夫链
  • 二、隐马尔可夫模型
  • 总结

前言

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


一、马尔可夫链

马尔可夫过程:随机过程的每一步结果与且仅与上一步有关,与其他无关。
马尔可夫链:将来的状态分布只是取决于上一步状态,与过去的每一个状态都没有关系,按照这种规律构成的状态集合就是马尔可夫链。
根据马尔可夫链,我们计算状态概率,需要两个条件
1、知道初始状态(状态分布矩阵)
2、有规律的状态转移矩阵,即根据初始状态,之后的状态转移是有规律的。(状态转移概率矩阵)
例子
假设初始状态为 s=[0.3 0.4 0.3] (即吃饭的概率是0.3,睡觉的概率是0.4 学习的概率是0.3)
假设状态转移概率矩阵为:

(第一列为初始状态)

import numpy as npmatrix = 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 * matrixprint('第{}次状态吃饭、睡觉、学习的概率分别为:'.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)


总结

HMM(隐马尔可夫)相关推荐

  1. NLP基础 : HMM 隐马尔可夫模型

    Hidden Markov Model, HMM 隐马尔可夫模型,是一种描述隐性变量(状态)和显性变量(观测状态)之间关系的模型.该模型遵循两个假设,隐性状态i只取决于前一个隐性状态i-1,而与其他先 ...

  2. 李航《统计学习方法》之HMM隐马尔可夫模型

    李航<统计学习方法>之HMM隐马尔可夫模型 文章目录 前言 一.基本概念 1.语言描述: 2.符号表示 3.基本假设 4.例子 5.隐马尔可夫模型解决的三个基本问题 二.概率计算算法 1. ...

  3. HMM隐马尔科夫时间序列预测 Markov马尔科夫时间序列预测(Matlab)

    HMM隐马尔科夫时间序列预测 Markov马尔科夫时间序列预测(Matlab) 1.所有程序经过验证,保证可以运行 2.程序包括源码(主程序一个,子函数两个)和数据集: 3.程序适用于单变量时间序列预 ...

  4. HMM隐马尔科夫模型(附维特比代码)

    背景知识:马尔科夫模型 1 马尔科夫的局限性 在一些情况下,我们并不能直接得到观测的结果,比如在天气系统中,我们不能直接得到天气的状态,但是我们有一堆蚂蚁,可以从蚂蚁的行为状态找到天气变化的关系规律. ...

  5. hmm隐马尔可夫真的那么难吗?

    hmm隐马尔可夫真的那么难吗? 首先上代码 这里是github上的关于hmm的:链接 概率计算问题:前向-后向算法 学习问题:Baum-Welch算法(状态未知) 预测问题:Viterbi算法 htt ...

  6. 第五篇:HMM 隐马尔可夫模型

    目录 概览 训练 预测(维特比算法) 概览 HMM本身也是用于序列标注,为什么需要HMM? POS 标记,我们按照一句话为一个类别,也就是将该句子中的每个词的对应的类别,连起来作为一个类别,比如NN_ ...

  7. 【自然语言处理】hmm隐马尔可夫模型进行中文分词 代码

    本文摘要 · 理论来源:[统计自然语言处理]第七章 自动分词:[统计学习方法]第十章 隐马尔可夫模型 · 代码目的:手写HMM进行中文分词 作者:CSDN 征途黯然. 一.数据集   数据集的形式如下 ...

  8. 【机器学习基础】数学推导+纯Python实现机器学习算法24:HMM隐马尔可夫模型

    Python机器学习算法实现 Author:louwill Machine Learning Lab HMM(Hidden Markov Model)也就是隐马尔可夫模型,是一种由隐藏的马尔可夫链随机 ...

  9. HMM隐马尔科夫模型浅析

    http://www.zhihu.com/question/20962240 著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:Yang Eninala 链接:http:/ ...

  10. HMM隐马尔可夫模型(HMM)攻略

    隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价 ...

最新文章

  1. IE8的parseInt
  2. 卡尔蔡司携手神策数据,赋能近视防控数字化
  3. 小程序实现长按删除图片
  4. 配置Bean的作用域对象
  5. DTO(领域数据传输对象)是做什么的
  6. [css] 在页面上隐藏元素的方法有哪些?
  7. 16位整型数据matlab,matlab的整型数据
  8. 利用UrlRewrite,asp.net动态生成htm页面(补充说明)
  9. 1206. 设计跳表
  10. 密度图的密度估计_R-ggridges包:山峰叠峦图
  11. Iptables详解之iptables命令的参数
  12. CATransition 动画处理视图切换
  13. (转)用PS删除去掉GIF动画图片的背景
  14. MessageDigest 详解
  15. mac用u盘安装linux系统教程视频,教你如何用u盘重装mac系统教程
  16. 微信小程序开发费用一览表
  17. STM32智能家居系统设计(门禁、人体感应、GSM远程控制)
  18. 如何在 R 中找到卡方临界值
  19. 启动Selenium报错:session not created……解决方案
  20. birthday中文是什么_ffappybirthday翻译

热门文章

  1. 服务器阻止程序运行怎么破,Discuz论坛对服务器的请求已遭到某个扩展程序的阻止问题解决方法...
  2. 【入门到精通】安装与运行PHP脚本语言
  3. Ubuntu 下安装Chrom浏览器
  4. android pm list,Android pm命令
  5. 解决Ubunt20.04安装Sogou输入法失败进不去桌面 及 中文输入法安装
  6. 数据挖掘各种算法JAVA的实现方法
  7. 对于阻抗的理解与记录
  8. 关于数据库的内模式、模式、外模式,数据的逻辑独立性,数据的物理独立性的个人体会
  9. 深入浅出低功耗蓝牙(BLE)协议栈,使用Ubertooth one扫描嗅探低功耗蓝牙
  10. 一键卸载oracle11,Oracle11完全卸载