程序员的数学基础课
黄申
LinkedIn资深数据科学家
立即订阅
23351 人已学习
课程目录
已完结 57 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 作为程序员,为什么你应该学好数学?
免费
导读 (1讲)
导读:程序员应该怎么学数学?
基础思想篇 (18讲)
01 | 二进制:不了解计算机的源头,你学什么编程
02 | 余数:原来取余操作本身就是个哈希函数
03 | 迭代法:不用编程语言的自带函数,你会如何计算平方根?
04 | 数学归纳法:如何用数学归纳提升代码的运行效率?
05 | 递归(上):泛化数学归纳,如何将复杂问题简单化?
06 | 递归(下):分而治之,从归并排序到MapReduce
07 | 排列:如何让计算机学会“田忌赛马”?
08 | 组合:如何让计算机安排世界杯的赛程?
09 | 动态规划(上):如何实现基于编辑距离的查询推荐?
10 | 动态规划(下):如何求得状态转移方程并进行编程实现?
11 | 树的深度优先搜索(上):如何才能高效率地查字典?
12 | 树的深度优先搜索(下):如何才能高效率地查字典?
13 | 树的广度优先搜索(上):人际关系的六度理论是真的吗?
14 | 树的广度优先搜索(下):为什么双向广度优先搜索的效率更高?
15 | 从树到图:如何让计算机学会看地图?
16 | 时间和空间复杂度(上):优化性能是否只是“纸上谈兵”?
17 | 时间和空间复杂度(下):如何使用六个法则进行复杂度分析?
18 | 总结课:数据结构、编程语句和基础算法体现了哪些数学思想?
概率统计篇 (14讲)
19 | 概率和统计:编程为什么需要概率和统计?
20 | 概率基础(上):一篇文章帮你理解随机变量、概率分布和期望值
21 | 概率基础(下):联合概率、条件概率和贝叶斯法则,这些概率公式究竟能做什么?
22 | 朴素贝叶斯:如何让计算机学会自动分类?
23 | 文本分类:如何区分特定类型的新闻?
24 | 语言模型:如何使用链式法则和马尔科夫假设简化概率模型?
25 | 马尔科夫模型:从PageRank到语音识别,背后是什么模型在支撑?
26 | 信息熵:如何通过几个问题,测出你对应的武侠人物?
27 | 决策树:信息增益、增益比率和基尼指数的运用
28 | 熵、信息增益和卡方:如何寻找关键特征?
29 | 归一化和标准化:各种特征如何综合才是最合理的?
30 | 统计意义(上):如何通过显著性检验,判断你的A/B测试结果是不是巧合?
31 | 统计意义(下):如何通过显著性检验,判断你的A/B测试结果是不是巧合?
32 | 概率统计篇答疑和总结:为什么会有欠拟合和过拟合?
线性代数篇 (13讲)
33 | 线性代数:线性代数到底都讲了些什么?
34 | 向量空间模型:如何让计算机理解现实事物之间的关系?
35 | 文本检索:如何让计算机处理自然语言?
36 | 文本聚类:如何过滤冗余的新闻?
37 | 矩阵(上):如何使用矩阵操作进行PageRank计算?
38 | 矩阵(下):如何使用矩阵操作进行协同过滤推荐?
39 | 线性回归(上):如何使用高斯消元求解线性方程组?
40 | 线性回归(中):如何使用最小二乘法进行直线拟合?
41 | 线性回归(下):如何使用最小二乘法进行效果验证?
42 | PCA主成分分析(上):如何利用协方差矩阵来降维?
43 | PCA主成分分析(下):为什么要计算协方差矩阵的特征值和特征向量?
44 | 奇异值分解:如何挖掘潜在的语义关系?
45 | 线性代数篇答疑和总结:矩阵乘法的几何意义是什么?
综合应用篇 (6讲)
46 | 缓存系统:如何通过哈希表和队列实现高效访问?
47 | 搜索引擎(上):如何通过倒排索引和向量空间模型,打造一个简单的搜索引擎?
48 | 搜索引擎(下):如何通过查询的分类,让电商平台的搜索结果更相关?
49 | 推荐系统(上):如何实现基于相似度的协同过滤?
50 | 推荐系统(下):如何通过SVD分析用户和物品的矩阵?
51 | 综合应用篇答疑和总结:如何进行个性化用户画像的设计?
加餐 (3讲)
数学专栏课外加餐(一) | 我们为什么需要反码和补码?
数学专栏课外加餐(二) | 位操作的三个应用实例
数学专栏课外加餐(三):程序员需要读哪些数学书?
结束语 (1讲)
结束语 | 从数学到编程,本身就是一个很长的链条
程序员的数学基础课
登录|注册

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

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

马尔科夫模型

在介绍语言模型的时候,我们提到了马尔科夫假设,这个假设是说,每个词出现的概率和之前的一个或若干个词有关。我们换个角度思考就是,每个词按照一定的概率转移到下一个词。怎么个转移呢?我来解释一下。
如果把词抽象为一个状态,那么我们就可以认为,状态到状态之间是有关联的。前一个状态有一定的概率可以转移到到下一个状态。如果多个状态之间的随机转移满足马尔科夫假设,那么这类随机过程就是一个马尔科夫随机过程。而刻画这类随机过程的统计模型,就是马尔科夫模型(Markov Model)。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《程序员的数学基础课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(14)

  • qinggeouye
    机器翻译,比如一个中文句子翻译为英文,中文句子可拆分为多个词,每个中文词可能会匹配多个英文单词,一句中文翻译为英文,可能会有多种翻译结果。那么:
    隐藏状态层 -> 多种翻译结果可能性中的一种
    输出层 -> 每个中文词可能匹配多个英文单词

    这样理解不知是否正确?

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

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

    作者回复: 是的👍

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

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

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

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

    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
  • 拉欧
    输出层:被翻译语言,隐藏状态层:翻译语言
    比如要翻译 get busy living ,or get busy dying
    输出层为 get busy living ,or get busy dying
    隐藏层可能为:
    1、要么忙于生存,要么赶着去死
    2、忙于活,或忙于死
    。。。
    然后按照隐马尔科夫概率乘积选择概率最大的
    不知道这么理解对不对?

    作者回复: 思路是对的👍

    2019-02-12
    1
  • 硬着头皮看完。比如英文翻译目标语言,我认为要翻译的文本的直接看出来的特征(单词包括的意思),单词之间的语法规则和词性,时态是隐藏层。
    数学差看起来就是费劲o(╥﹏╥)o,英文差看不懂最新论文。不清楚大家啥水平,我建议老师多给几个例子好理解些。深刻体会到没多一个公式,少一分看下去的兴趣。

    作者回复: 后面我会多一些关于公式的解释,帮助理解

    2019-02-12
    1
  • 南边
    对于隐马尔科夫模型的推导公式,我有点疑问:

    作者回复: 请问具体疑问是?

    2019-12-02
  • Paul Shan
    思考题
    输出层是原语言的句子,隐藏状态层是目标语言的单词和句子,我们要求解的是找到隐藏层中的句子,使得输出层(原语句,也就是被翻译的句子)出现概率最大。
    2019-09-06
  • Paul Shan
    隐式马尔可夫的公式是不是计算y1 y2 y3 出现的联合概率,如果是的话,感觉少乘了两个p(x 1),不知道是不是这样.

    作者回复: 不完全是,实际上需要用到贝叶斯定理进行推导,并用马尔科夫假设简化

    2019-09-06
  • Paul Shan
    Pagerank公式可以分成两部分,第一部分,根据入链接,计算出每个入链接对该页面的PageRank贡献。第二部分,是把这个值和1/N,用α和1-α加权。第一部分体现的是其他指向该网页贡献。但是第二部分,我看不懂,老师能否解释一下,为什么要和1/N加权,多谢!

    作者回复: 这里假设,有(1-α)的概率,从当前页面跳转到任何一个其他的页面,假设页面总共有N张,所以就是1/N的概率了。

    2019-09-06
  • 凝神寂照
    老师您好,对于PageRank的web拓扑图,网页A链接网页B,网页B链接网页C,一个网页只和前一个网页有关,这是一个一阶的马尔科夫链,但实际中网页A也可能链接C吧,为什么PageRank不用高阶的马尔科夫链呢?

    作者回复: 确实是可以的,我理解PageRank不用高阶是为了减少计算量

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

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

    2019-07-11
  • 唯她命
    老师 语音识别的例子
    隐藏层 :项目开发时间 或者 橡木开发事件
    输出层 : xiang(四声)mu(四声) kai(一声)fa(一声) shi(四声)jian(四声)
                   xiang(一声)mu(-声) kai(一声)fa(一声) shi(四声)jian(四声)
                   xiang(四声)mu(-声) kai(一声)fa(一声) shi(二声)jian(四声)
                   等等所有可能的音调
    不知道这么理解对不对?

    另外还望老师解答下课后思考题

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

    2019-03-05
收起评论
14
返回
顶部