这是一个非常重要的模型,凡是学统计学、机器学习、数据挖掘的人都应该彻底搞懂。

python包:

hmmlearn 0.2.0

https://github.com/hmmlearn/hmmlearn

参考链接:

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

如何用简单易懂的例子解释隐马尔可夫模型? - 知乎

有些文章里面已经介绍得非常清楚了,只是需要在项目中进行实践,然后做一下总结。


数学之美里有一章专门讲了隐含马尔科夫模型,讲得非常的通俗易懂。

在自然语言处理方面得到了广泛的应用,此外还有语音识别,机器翻译。

通信是一个编码、传输和解码的过程。自然语言的处理应该使用通信原理解决,而不是在语言的语法和语义上。

通信六要素:信息源、信道、接受者、信息、上下文和编码。

解码就是通过接受到的信号(o)还原出发送的信号(s)。

语音识别就是听话的人去采说话人要表达的意思,机器翻译也是同理。

上式等价于:

而上面的分母可以省略,因为一旦信息产生了,它就不会变了,事件就是一个固定的事件,一个固定事件发生的概率必然是一个常数,对这个公式而言它就可以省略了。  余下的式子就可以通过隐马尔科夫模型来求解。

马尔科夫链:概率论的研究对象从静态的随机变量转移到动态的序列随机变量上,一个简化的假设:随机过程中每个状态的概率分布只与它的前一个状态有关,即:

马尔科夫链:我们已经知道一个马尔科夫链的所有的状态,让它随机运行,随机初始化,后面随机选择,运行完了会产生一个状态序列,可以因此估计转移概率。

隐马尔科夫模型:状态是不可见的,无法通过观察状态序列推算转移概率,但它会输出一个结果序列(仅与状态相关,独立输出假设),

可以计算出某个特定状态序列(s)产生输出序列(o)的概率:

等价于:

这就与前面的式子联系在了一起,可以解码问题就得到了解决。

隐马尔可夫模型有三个问题:

  1. 给定一个模型(参数),计算某个特定输出序列的概率;(forward-backward算法)
    1. 给定模型和某个特定的输出序列,找到最可能的状态序列;(维特比算法)  解码算法
  2. 给定观测数据,估计隐马尔科夫模型的参数。(鲍姆-韦尔奇算法(Baum-Welch)) 训练算法

需要知道:状态转移概率,生成概率等模型参数,估计这两个参数称为模型的训练。

有两种训练方法:一是有监督训练方法;一是无监督训练。

有监督的需要得到人工的标注训练集,成本高,而且一些情况下无法得到训练集,如语音识别。

可行的方式是仅仅通过观察信号(o)推算出模型的这两个参数,使用鲍姆-韦尔奇算法(Baum-Welch)

鲍姆-韦尔奇算法(Baum-Welch):

初始化可行的模型参数,在此模型下,计算出产生观察信号(o)的所有路径及其概率,作为标注的训练数据,计算出新的模型参数,此时迭代后的模型参数一定优于原来的模型参数。不断迭代,直至最后模型质量不再提升。

这也是个期望最大化的过程,简称EM过程,目前只能寻找出局部最优解,除非目标函数是凸函数。


待续~

最新文章

  1. 用pageGroup.js实现分页功能
  2. Mac下的快速回到桌面快捷方式
  3. json字符串的拼接,并转换为json对象
  4. DX 绘制位图
  5. 适配----Autolayout
  6. UITextView 输入长度限制
  7. wamp在win7下64位系统memcache/memcached安装教程
  8. apicloud ios 打包流程
  9. [BJOI2006]狼抓兔子
  10. SpringBoot文件上传
  11. 【bzoj4817】[Sdoi2017]树点涂色&&bzoj3779-重组病毒
  12. foreach 引发的值类型与引用类型思考
  13. [No000016A]CSS常用三种选择器
  14. synchronized 和 lock 的区别
  15. (转)Python Mixins 机制
  16. 活字格Web应用平台学习笔记3-显示数据列表
  17. Java 多线程实现
  18. Ubutun使用记录——语系错误(转)
  19. java代码---------陈勇老师的
  20. 前向渲染路径细节 Forward Rendering Path Details

热门文章

  1. WinFormd多窗体 菜单和工具栏:
  2. DataSet 关系
  3. BZOJ 2229 最小割
  4. 关于JDK的配置
  5. Run_Product Example Form - Oracle Forms 6i
  6. 起点CG原创教程——digicel.FlipBook.6教程
  7. [SAP ABAP开发技术总结]几个小问题
  8. kvc kvo(摘录)
  9. FJNU 1155 Fat Brother’s prediction(胖哥的预言)
  10. LAMP配置