机器学习 40 讲
王天一
工学博士,副教授
35376 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 46 讲
机器学习 40 讲
15
15
1.0x
00:00/00:00
登录|注册

33 | 序列化建模:隐马尔可夫模型

观测概率矩阵
状态转移概率矩阵
初始状态概率向量
文字处理
语音识别
自然语言处理
条件随机场
混合模型
生成模型
三要素
观测独立性
齐次马尔可夫过程
观测序列
状态序列
序列化建模
动态贝叶斯网络
系统状态
应用领域
应用
模型描述
介绍
隐马尔可夫模型

该思维导图由 AI 生成,仅供参考

前几讲中介绍概率图模型都没有涉及“时间”尺度,模型所表示的都是同一时刻下的状态,因而不能建模随机变量的动态特性。如果要定义系统在时间尺度上的演化,就需要引入系统状态(system state)的概念,每一时刻的系统状态都是表示系统属性的随机变量。
将图模型中的结点用表示时间流动的有向边连接起来,得到的是动态贝叶斯网络(dynamic Bayesian nework),其最简单的实现是隐马尔可夫模型(hidden Markov model)。
隐马尔可夫模型实现的是序列化的建模,它打破了对数据独立同分布的固有假设,侧重于时序上的依赖关系。在自然语言和金融市场数据这类时间序列(time series)中,某个数据往往会受到之前数据的影响,这种情况下还要强行套用独立同分布假设的话,肯定不会符合实际情况。隐马尔可夫模型正是将过去对现在的影响纳入模型中,以此来实现更加准确的预测。
隐马尔可夫模型则是通过隐藏状态生成观测序列的马尔可夫过程。在更简单的马尔可夫链(Markov chain)里,所有状态是都直接可见的,因此状态转移概率是唯一的参数。而在隐马尔可夫模型中,状态本身不是直接可见的,可见的是取决于状态的输出。由于每个状态都有和输出相关的概率分布,因而隐马尔可夫模型的输出就能够提供关于隐藏状态的信息。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

隐马尔可夫模型(HMM)是一种概率图模型,用于建模时间序列数据的动态特性。相较于传统的独立同分布假设,HMM更加侧重于时序上的依赖关系,能够更准确地预测时间序列数据。HMM通过隐藏状态生成观测序列,其中状态转移概率、观测概率和初始状态概率构成了HMM的三要素。该模型在信号分析、控制论等领域有着广泛的应用,并且可以从贝叶斯的角度加以审视。隐马尔可夫模型的特点是能够表示输出之间更复杂的依赖关系,因此被广泛应用于时间序列数据的建模和预测。此外,HMM在自然语言处理领域也有着重要的应用,特别是在语音和文字之间的时序关联方面。文章还介绍了HMM在条件随机场中的对应关系,以及Python中用于实现HMM的库hmmlearn。总的来说,隐马尔可夫模型是一种强大的工具,能够有效地处理时间序列数据,并在多个领域中发挥重要作用。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《机器学习 40 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • Smirk
    状态转移矩阵那里说是N维对称方阵. 这个不一定对称吧,N维方阵是对的,但是ij两个状态转移概率不一定一样 听了好多遍,王教授的课很棒,还在反复听

    作者回复: 说得对,看得非常仔细,感谢指正👍

    2018-09-20
    1
  • 林彦
    查了一下,词性标注是不是用到维特比算法? 维特比算法是一种动态规划算法用于寻找最有可能产生观测事件序列的-维特比路径-隐含状态序列。维特比算法其实就是多步骤每步多选择模型的最优选择问题,其在每一步的所有选择都保存了前续所有步骤到当前步骤当前选择的最小总代价(或者最大价值)以及当前代价的情况下前继步骤的选择。依次计算完所有步骤后,通过回溯的方法找到最优选择路径。

    作者回复: 是的,最早接触维特比是通信里的卷积码译码,也是非常经典的应用。

    2018-09-09
    1
  • 林彦
    隐马尔可夫在自然语言里可以用来做词性标注,实体标注和分词。 在词性标注的任务中,我们可以将一个句子看成是可见状态序列,每一个词都是一个可见的状态(oi),而每一个词都对应着一个词性,这个词性就是隐藏状态(qi),而整个文本中的所有词汇表就是观察状态的集合(W),预定义的词性标记集就是隐藏状态集合(S)。而我们的目标是,在给定一个观察序列O(句子,或者可以看成是词组的序列)的情况下,寻找其对应的隐藏状态序列Q(每一个词对应的词性标记)。 词性标注中我的理解转移概率矩阵A就是已知上个词的词性,紧接下一个可能的词性会是什么的概率。观测概率矩阵B是已知这个词的词性,它会对应哪个词。当HMM是2阶时,转移概率矩阵由前2个词的词性决定;是3阶时,转移概率矩阵由前3个词的词性决定。初始状态概率向量π我不太理解如何生成。按照整体词性标注库中在句子中不同位置的统计概率决定? 最后如何做标注我也不完全理解。是有了观察序列和3中HMM的参数,就能反过来推导计算出隐藏状态序列的值吗?或者是计算隐藏状态序列中每一个值的概率?这个中要解决的问题和老师文中的例子不太一样。

    作者回复: 做标注一般就是根据观测找到后验概率最大的状态,也就是在给定词语时找到最可能的一组词性。求解时利用的是Viterbi算法,简单说就是每走一步都只保留最优的状态,比穷举效率高很多。 在监督学习里,隐马尔可夫的三个矩阵需要在初始化时确定,根据训练数据计算出来。两个矩阵你理解的都是对的。初始状态其实就是词性的先验,每类词在文本中出现的频率。

    2018-09-09
    1
  • 黄拔峰
    但对于隐藏状态本身的变化而言,我们默认了它们的先验分布是不包含信息的均匀分布。老师,这个怎么解释

    作者回复: 意思就是不对他做任何假设,每种取值的可能性是均等的。

    2019-07-18
  • ifelse
    学习打卡
    2023-06-19归属地:浙江
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部