马尔科夫模型初探
2015-03-25 21:50
127 查看
以下是读《数学之美》中马尔科夫模型相关部分的学习笔记。
马尔科夫模型:
一句话S可以由特定序列的单词w1,w2,...,wn组成,不同序列会产生不同的句子,而产生句子S的概率可以表示为:
,注意这里w1,w2,...,wn是有序的,也就是说w1一定在w2前面。
由贝叶斯公式(链式规则)可以扩展为:
,在这里前面若干项是比较容易求出来的,但是后面的项很难求,而马尔科夫模型正是对这个链式模型的改进。即每个单词出现的概率只与它前面的单词有关,而与更前面的单词无关:
这里面的每一项都比较容易求出来,根据贝叶斯公式可得:
这个概率可以通过统计语料库中单词i和单词i-1成对出现的次数和单词i-1出现的次数来计算得到(计算这个概率又用到了大数定律)。
以上就是最简单的二元马尔科夫模型,如果某个单词出现的概率与其前面N-1个单词相关,那就是N元马尔科夫模型。一元马尔科夫模型认为每个单词出现的概率是独立的。现在最多一般做到4元模型。
有时候我们接收到的信息并不是发送的信息(纠错),或者要根据接收到的信息推断出发送信息(翻译),这时就要用到隐含马尔科夫模型。
假设信息源发出的信息为s1,s2,s3,...,而我们收到的信息为o1,o2,o3,...,我们就要根据接收的信息推断发送的信息,即求使概率
最大的s1,s2,s3,...。
还是用贝叶斯公式(非常强大!)可知:
其中
s1,s2,s3,...变成o1,o2,o3,...的可能性。假设目前处理的是一个纠错问题,用户想输入的是“连衣裙”(s),但是由于粗心打成了“练衣裙”(o),而我们接收到的就是o,现在就是想根据接收到的信息,推断出用户想真正输入的信息。而此时
就表示由“连衣裙”产生错误到“练衣裙”的可能性。
表示用户输入信息是s的可能性,
表示用户输入错误产生o的可能性。
由于o是我们接收的信息,其产的概率可以认为是一个常数而被忽略。所以可得:
这个概率的估计就可以使用隐马尔科夫模型了!
隐马尔科夫模型:
假设有一个随机序列s1,s2,s3,...,sT,如果该随机序列是可以被观察到的,那么就可以使用正常的马尔科夫模型来算出该序列出现的概率。
现在假设该序列的值是无法观测到的(隐),但是该序列中每个变量会输出一个符号oT,也就是说我们可以观测到o1,o2,o3,...oT。并且oT仅与sT相关(独立输出假设),如下图:
由独立输出假设我们可以知道:
由马尔科夫模型我们可以知道:
这时候上面的概率
就可以求了,即:
至于怎么求这个概率的最大值,据说要用到威特比算法,还没有研究。注意右边项中的每个概率的求法又会使用到贝叶斯公式。
马尔科夫模型:
一句话S可以由特定序列的单词w1,w2,...,wn组成,不同序列会产生不同的句子,而产生句子S的概率可以表示为:
,注意这里w1,w2,...,wn是有序的,也就是说w1一定在w2前面。
由贝叶斯公式(链式规则)可以扩展为:
,在这里前面若干项是比较容易求出来的,但是后面的项很难求,而马尔科夫模型正是对这个链式模型的改进。即每个单词出现的概率只与它前面的单词有关,而与更前面的单词无关:
这里面的每一项都比较容易求出来,根据贝叶斯公式可得:
这个概率可以通过统计语料库中单词i和单词i-1成对出现的次数和单词i-1出现的次数来计算得到(计算这个概率又用到了大数定律)。
以上就是最简单的二元马尔科夫模型,如果某个单词出现的概率与其前面N-1个单词相关,那就是N元马尔科夫模型。一元马尔科夫模型认为每个单词出现的概率是独立的。现在最多一般做到4元模型。
有时候我们接收到的信息并不是发送的信息(纠错),或者要根据接收到的信息推断出发送信息(翻译),这时就要用到隐含马尔科夫模型。
假设信息源发出的信息为s1,s2,s3,...,而我们收到的信息为o1,o2,o3,...,我们就要根据接收的信息推断发送的信息,即求使概率
最大的s1,s2,s3,...。
还是用贝叶斯公式(非常强大!)可知:
其中
s1,s2,s3,...变成o1,o2,o3,...的可能性。假设目前处理的是一个纠错问题,用户想输入的是“连衣裙”(s),但是由于粗心打成了“练衣裙”(o),而我们接收到的就是o,现在就是想根据接收到的信息,推断出用户想真正输入的信息。而此时
就表示由“连衣裙”产生错误到“练衣裙”的可能性。
表示用户输入信息是s的可能性,
表示用户输入错误产生o的可能性。
由于o是我们接收的信息,其产的概率可以认为是一个常数而被忽略。所以可得:
这个概率的估计就可以使用隐马尔科夫模型了!
隐马尔科夫模型:
假设有一个随机序列s1,s2,s3,...,sT,如果该随机序列是可以被观察到的,那么就可以使用正常的马尔科夫模型来算出该序列出现的概率。
现在假设该序列的值是无法观测到的(隐),但是该序列中每个变量会输出一个符号oT,也就是说我们可以观测到o1,o2,o3,...oT。并且oT仅与sT相关(独立输出假设),如下图:
由独立输出假设我们可以知道:
由马尔科夫模型我们可以知道:
这时候上面的概率
就可以求了,即:
至于怎么求这个概率的最大值,据说要用到威特比算法,还没有研究。注意右边项中的每个概率的求法又会使用到贝叶斯公式。
相关文章推荐
- 引用:初探Sql Server 执行计划及Sql查询优化
- RabbitMQ:安装、配置与使用初探
- 隐马尔科夫模型
- webcollector 初探(一)
- 响应式Web设计之初探图像处理
- 基于产品的测试管理(用友软件测试流程初探)
- 异常分析初探
- nodejs初探
- 初探RecyclerView开发
- 菜鸟级Spring初探。
- CommonJS/AMD/CMD/UMD概念初探
- K最邻近算法(K-Nearest Neighbor,KNN)(初探)
- 【手把手教你全文检索】Apache Lucene初探
- Android Sqlite数据库版本升级管理初探
- VSCODE 插件初探,顺便还有博主的写的背景图插件
- Traits技术初探
- 初探 MySQL 的 Binlog
- Extjs面板和布局初探
- docker 初探之简单安装 ----Windows10