程序员的数学基础课
黄申
LinkedIn 资深数据科学家
83374 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 58 讲
导读 (1讲)
基础思想篇 (18讲)
程序员的数学基础课
15
15
1.0x
00:00/00:00
登录|注册

25 | 马尔科夫模型:从PageRank到语音识别,背后是什么模型在支撑?

隐藏状态层
输出层
隐马尔科夫模型
PageRank公式
随机冲浪者模型
链接分析
机器翻译中的隐马尔科夫模型
语音识别
PageRank算法
多元文法模型
马尔科夫链
马尔科夫假设
思考题
应用
介绍
马尔科夫模型

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

你好,我是黄申。
上一节,我们介绍了基于概率的语言模型。概率语言模型的研究对象其实是一个词的序列,以及这个词序列出现的概率有多大。那语言模型是不是也可以用于估算其他序列出现的概率呢?答案是肯定的。
通过上一节我们知道,语言模型中有个重点:马尔科夫假设及对应的多元文法模型。如果我们把这一点进一步泛化,就能引出马尔科夫模型。也就是说,只要序列的每个状态之间存在转移的概率,那么我们就可以使用马尔科夫模型。有时候情况会更复杂,不仅每个状态之间的转移是按照一定概率进行的,就连每个状态本身也是按照一定概率分布出现的,那么还需要用到隐马尔科夫模型。
今天这一节,我们就来学习马尔科夫模型、隐马尔科夫模型,以及它们在 PageRank 和语音识别中的应用。

马尔科夫模型

在介绍语言模型的时候,我们提到了马尔科夫假设,这个假设是说,每个词出现的概率和之前的一个或若干个词有关。我们换个角度思考就是,每个词按照一定的概率转移到下一个词。怎么个转移呢?我来解释一下。
如果把词抽象为一个状态,那么我们就可以认为,状态到状态之间是有关联的。前一个状态有一定的概率可以转移到到下一个状态。如果多个状态之间的随机转移满足马尔科夫假设,那么这类随机过程就是一个马尔科夫随机过程。而刻画这类随机过程的统计模型,就是马尔科夫模型(Markov Model)。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

马尔科夫模型和隐马尔科夫模型在PageRank和语音识别中的应用展示了它们在不同领域中的重要性和实际应用。马尔科夫模型描述了状态之间的转移概率,可用于刻画随机过程,而隐马尔科夫模型则处理某些状态未知的情况,如语音识别。文章通过PageRank算法和语音识别的例子说明了马尔科夫链在链接分析和处理部分信息的重要性。隐马尔科夫模型的两层结构,即“隐藏状态层”和“输出层”,解决了观测到的部分信息和隐藏信息之间的关系,为语音识别、手写识别、机器翻译等提供了可行的解决方案。文章还提到了隐马尔科夫模型的应用,以及如何利用动态规划的维特比算法来找出最优路径。总的来说,马尔科夫模型和隐马尔科夫模型在处理复杂的概率模型和状态转移中发挥着重要作用,为解决实际问题提供了有力工具。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《程序员的数学基础课》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(29)

  • 最新
  • 精选
  • qinggeouye
    机器翻译,比如一个中文句子翻译为英文,中文句子可拆分为多个词,每个中文词可能会匹配多个英文单词,一句中文翻译为英文,可能会有多种翻译结果。那么: 隐藏状态层 -> 多种翻译结果可能性中的一种 输出层 -> 每个中文词可能匹配多个英文单词 这样理解不知是否正确?

    作者回复: 是的,理解正确

    2019-03-06
    4
    23
  • Thinking
    不理解一个地方,由读音推测汉字的过程为什么要算P(xiang(4)mu(4)|项目)概率而不是P(项目|xiang(4)mu(4))概率?隐马尔科夫解决由输出层找到产生输出的隐藏状态层,为什么不换个角度说成由看得到的输入层找到隐藏状态层呢?

    作者回复: 这个问题很好!这主要是从统计的可行性出发,以语音识别为例,我们的语料(或者说标注数据、历史数据)都是给定文本,比如说中文,然后收集用户的发音(如果是中文,发音也就对应是拼音),所以可以很自然的拿到P(拼音|中文)这种概率。

    2019-02-12
    18
  • Joe
    隐马尔科夫模型在语音中的应用,流程是: 1,根据拼音去找到单个对应的词语,不考虑声调的概率。 2,再根据词语之间转移的概率,词语对应目标音高的概率,进而求出整个句子输出的概率。概率越大,可能性越高。 因此第一个词可以是xiangmu 对应语料库的所有词,不一定是四声,可以是香木之类的词语。 不知道这样理解对不对?

    作者回复: 是的👍

    2019-02-21
    11
  • Temme
    学习了之后,又看了几篇隐马尔可夫的一些收获: 隐马尔科夫适用于,只知道表象(观测层或者输出层),而内部的状态是隐藏的,未知的,可能有无数种的。语音识别分为3步 1.表象推测出隐藏,比如xiangmu的拼音读音可以推出隐藏的的实际字是项目,也可以是香木,各自有一定的概率,也可以是木香,只不过概率为0。推出概率在一定值以上的,做为隐藏状态。 2.各自推出隐藏的状态后,这些状态可以组合成各种状态链,比如橡木凯发世间这种,可以想象会有各种诡异的词组,这时候就用到马尔科夫状态转移的方法,筛选出靠谱的词组,得出结论,比如项目转开发转时间,这个状态转移的概率很高。概率在一定值以上的,挑出来作为状态序列。 3.语音识别只需要一个解。也是隐马尔科夫的关键,隐藏层推出表象层的概率(有点反人类认知,但是贝叶斯告诉我们这个无非是个数学的转换),大概就是,p(隐藏)*p(表象|隐藏)。好像p(表象|隐藏),就是隐藏推表象的概率,其实不然,这里的推出还要考虑到隐藏层本身是个状态转移。

    作者回复: 很好的总结,第3点可以使用贝叶斯定理推导出来,你可以尝试一下

    2019-07-11
    9
  • 学习学个屁
    输出层 是输出的文字(被正确翻译的句子) 隐藏层句子中每个字 单词 背后的意思 , 连在一起组成的顺通句子。 可以这么理解吧。

    作者回复: 这里容易混淆,举个例子,如果我们想将英文翻译成中文,那么输出层是英文,而隐藏层是中文,我们要看哪种中文的隐藏层,可以输出目标英文的概率最大,那么这个中文是最可能的翻译

    2020-01-08
    2
  • 唯她命
    老师你好 , “隐藏状态层”产生“输出层”的概率 这句话是什么意思。 还有 “隐藏状态层”产生“输出层”的概率 那个公式是怎么推导出来的。

    作者回复: 我看你另外一个问题,应该是已经理解了“隐藏状态层”和“输出层”的概念,简单的来理解,就是“隐藏层”到“输出层”是有一定概率分布的,不是必然的。如果必然了,就不需要区分这两层了,直接把“输出层”当做“隐藏层”就好了。 也正是因为如此,公式推导使用了条件概率公式。在“隐藏层”的某个状态给定的情况下,出现“输出层”某个输出的概率是多少,以此类推。

    2019-03-05
    2
  • 吴小智
    希望老师可以说一下这些模型在实际的工程项目中,主要的难点在哪里?比如说,在运用语言模型来解决 PageRank 的实践中,在那个步骤会是难点。

    作者回复: 涉及到实践的话,要考虑的东西就比较多。作为数学模型,我们只需要知道PageRank的公式,可是如果Web网络的规模相当之大,那么实现的时候就无法只存储在内存之中,就需要考虑磁盘和内存的切换,或者采用分布式系统来利用多台机器的内存,或者是采用近似的优化,降低内存的消耗。

    2020-01-31
    1
  • teddytyy
    输出层是目标语言的分词,状态层是源语言的分词,这么建模对吗?

    作者回复: 分词是其中一步,还有就是对应的翻译。另外,假设咱们要把中文翻译成英文,我理解你说的源语言和目标语言分别对应于中文和英文。如果是这样,需要对调,也就是源语言(中文)是我们所能观测到的输出层,而目标语言(英文)是要分析出的状态层。

    2019-12-18
    1
  • 唯她命
    老师 语音识别的例子 隐藏层 :项目开发时间 或者 橡木开发事件 输出层 : xiang(四声)mu(四声) kai(一声)fa(一声) shi(四声)jian(四声) xiang(一声)mu(-声) kai(一声)fa(一声) shi(四声)jian(四声) xiang(四声)mu(-声) kai(一声)fa(一声) shi(二声)jian(四声) 等等所有可能的音调 不知道这么理解对不对? 另外还望老师解答下课后思考题

    作者回复: 对文中的例子,这个理解是对的。至于思考题,我暂时不回答,给其他读者更多的思考机会 😆

    2019-03-05
    1
  • 李皮皮皮皮皮
    讲马尔可夫链的第一张图中,就是ABC的那种图,链上的概率是如何得出的? 我的理解是:根据语境中出现的AB,BC这些组合的概率,比如说总共有10个二元组,AB出现了一次,所以A到B的链上概率是0.1。如果按这么理解的话,那么所以的概率之和应该等于1吧。但是我算了一下,图中概率和等于1.1。不知道我理解的对不对,望老师解答😢

    作者回复: 不是这个意思。实际上每条出链接上的概率,表示给定出发点,到目标点的概率,是一种条件概率。比如,从A到B的概率是0.1,就是P(B|A)=0.1。所以,不能把这些条件概率相加。 我这里只是示意图,A可能还会链接到其他我没有画在图中的点,从A到所有目标点的概率加起来应该是1。比如从A出发一共到三个点,B,X和Y,P(B|A)=0.1,P(X|A)=0.5,P(Z|A)=0.4,加起来是1

    2019-03-02
    1
收起评论
显示
设置
留言
29
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部