当前课程知识点:机器学习概论 > 第四章 马尔可夫模型和隐马尔可夫模型 > 4.2 马尔可夫模型 > 马尔可夫模型
那么今天我们涉及到会给大家讲两个系列算法
但它大的来说是一个分支 就是马尔可夫模型和隐马尔可夫模型
我们首先来看马尔科夫模型 这个用的特别的多
在介绍之前 我们先介绍一下马尔可夫这个人
他其实是俄罗斯的非常著名的数学家
1856年就是19世纪中叶出生的到1922年去世
他是有多重要 他最重要的贡献之一是
他扩大了大数定律和中心极限定律的应用范围
而在我们的应该是在下周或者下下周的课上
我们就会讲到机器学习的第一堂理论课
然后第一堂理论课里面就会用到这些大数定律和中心极限定律
还有他其实被切比雪夫
当然 切比雪夫也是大数学家
我想大家在座的同学都已经听说过这几个人的名字
然后切比雪夫认为他是整个俄罗斯的圣彼得堡学院
在数论方面的最重要的一个人
获得了最棒的成就
就是由马尔可夫给出来的
确实一直到今天它的应用非常的广泛
我们马上会看到
在他不到40 他刚好40岁的时候
就成为俄罗斯的科学院的院士
俄罗斯的数学基础是非常棒的
基本上是在1907年就在他50岁的时候
提出来了马尔可夫过程 就是马尔可夫链这样的思想
然后到今天我们用的马尔可夫过程
其实包括大家应该你们还会有课程叫随机过程
我不确定本科的时候你们会不会后面会上
研究生会是一个非常重要的也是很挑战的课程之一
那个时候会反复提到很多次
那么什么是马尔可夫和隐马尔可夫模型
我们先在讲之前先跟大家说一说它的应用的背景
应用场景其实特别简单 比如说一种常见的是天气预报
我们今天刮风下雨晴天等等阴天等等这样的天气预报
还有比如说某种疾病的它的发展的状态
疾病本身的转移状态 以及它的有时候人们把它的传播的状态
也用马尔可夫链的过程来描述
以及我们常见的一些任务 语音识别中文拼音输入法
我们后面还会再提到
还有就是一些人口学上的人口的预测等等
你会发现 有没有想到我们提到的这些东西
它有一些共同点 就提到的这些应用
它可能涉及到各个不同的领域 但它都有一些共同点
给大家一点点时间几秒钟想想 我们说的这些天气预报
然后我们说的语音的连续语音的这种语音的识别
然后还有疾病它的发展预测
它跟时间是有关系的 它有一个先后发展的顺序的关系
而且在它先后的两个时刻会有一些变化产生
于是大家也抓住了马尔可夫的模型
它对应适用的情况和适用的范围
比如说我们以天气来举例
我们看看在马尔可夫模型下面我们是怎么解决的
我们首先来给大家看一些简单得非常简化的情况
假设我就一共有三种天气状态 晴天 下雨和有雾
然后我们其实在马尔可夫模型里面在马尔可夫链里面
有一个非常基本的假设是说我们今天的天气的情况
就是Wn是当前的天气的情况
它是和前面的n-1天的状态都有关的
这个是马尔可夫链的一个非常重要的假设
也是马克夫模型它适用的情况
就大家刚才有人说它和时间有关
它是一个序列相关的这样的一个问题
那么事实上如果我们知道了前三天的天气分别是
晴天 晴天 有雾
我们现在想预测一下说现在的第四天下雨的概率有多大
这个问题其实还挺容易计算的
那么这样的问题我们把它就叫做马尔可夫过程
在这马尔可夫过程里面 我们会陆续地讨论几个问题
首先让我们形式化一下这个问题
首先我们是有一系列的数据 序列的数据
就是从x1到xN 它是有先后关系的 有这样的序列
然后我们为了简单起见 我们先从一阶马尔可夫假设来讨论起
今天我们的课程都讨论一阶马尔可夫假设
所谓一阶马尔可夫假设就是
事实上本身马尔可夫过程是说我今天天气怎么样
今天这个状态怎么样
和历史上所有的都有关
比如说夸张一点说
和盘古开天辟地的第一天的天气状况
你接下来第二天第三天一直延续到今天它都是有关的
但是这样问题会比较复杂 一阶马尔可夫假设想说的是
今天天气怎么样只和昨天有关
当前时刻的状态怎么样只和前一个状态前一个时刻的状态有关
和在之前的n-1 我们假设独立了没有关系了
这叫一阶马尔可夫假设
如果你会觉得他和前两个时刻都有关前两个时刻的状态有关
那就是二阶马尔可夫假设以及更多的
我们事实上在语言模型里面一般来说有精确一点
会就是考虑到效率和精确性通常会用到三阶
有的时候会用到五阶 但是五阶就已经非常的复杂了
我们先从一阶来看开始考虑
那么事实上你对现在观察到的数据序列
从x1到xN的数据序列的这样的它的概率
其实就等于最初始的那一天的状态的概率乘以
给定了第一天之后第二天的状态的概率
然后再乘以给定第二天之后第三天的概率 一直乘 是一个连乘
给定xn-1时刻的状态 然后要看xn这个时刻状态的概率
那么这个是我们在一阶马尔可夫假设下面的这样的马尔可夫链
于是我们很自然地就提到了一个概率 叫做转移概率
从一个状态转移到另外一个状态的概率
比如说从晴天转移到下雨 或者从晴天还是转移到晴天的概率
它们分别是多少 我们这个就把它称作转移概率
就把一般把它记做aij 然后i和j就分别是说
前一个时刻的状态为i 后一个状态时刻的状态为j
它的概率我们把它简写为aij
那么关于转移概率 事实上会有一些属性
第一转移概率一定是大于等于0 它是一个概率
还有我们认为转移概率具有时间不变性
时间不变性的意思就是我昨天是晴天
转移到今天也是晴天的概率和一周前的某一天
前一天是晴天 第二天是晴天的概率是一样的
它和你的绝对的时刻无关
它只和相对的前一天和当天这个状态前后关系有关
但和绝对时刻没有关系 所以这个叫时间不变性
第二个就是我们可以基于转移概率
就可以写出一个转移概率矩阵
我们比如说 A11就是从一状态转移到一
然后A13就是从状态一转移到状态三
同样的A21就是从状态二转移到状态一 所以基于概率的特性
我们会发现在这个转移概率矩阵里面
每一行的之和应该等于1
在状态为晴天的时候 你后面如果我们只有三种状态
晴天 下雨和有雾 如果只有三种状态的话
从晴天它转移出去只有三种选择
要么是下雨 要么是有雾 要么它自己晴天
只有这三种情况 所以这三种情况加到一起是完备的
这三种情况的转移概率加到一起应该等于1
但是特别注意的是每一列加到一起可不一定等于1
你是从晴天转移成当前晴天
以及加上从阴天转移过来的概率
以及从下雨转移过来的概率
每一列加到一起不一定等于1
我们在转移概率矩阵里面只有行
每一行的概率之和应该是等于1的
那么接下来就给大家看一个马尔可夫过程的这样
马尔可夫模型的一个图形化的描述
所以我们今天的课程里面你会看到很多图形化的表示
也会从里面有所获益
比如说the这个词后面加big或者加old
都会各自有一些概率0.4 0.4
所以我没有写全 这是一个大的一个语言模型的一部分
没有写全 所以你会看到它the转移出来的0.4+0.4不等于1
因为还会有别的 我们其他的就省略了
在这里特别说明 大家注意
the到big是0.4,然后big到dog 0.6
接下来说cat是0.4等等
任何两个节点之间就是它只要存在有关系
那么前一个词到后一个词之间他如果有先后关系
那么就能够学到一个概率
如果这个是我们已经建立好的一个马尔可夫模型
中间转移概率都有了
那么我们就很容易从这个模型上面会看到一句话
The big dog just died
说这句话它的概率就是0.4×0.6×0.2×0.5
这就是我从这个模型里面生成出这句话的概率
你当然还可以发现the dog just died有另外一个概率
所以我们在语言模型里面有非常多的这种
其实就是用这种马尔可夫的模型来去描述
当然我们这个只是一阶马尔可夫假设
回到天气预报这个问题
我们就假设给出来一个当前的转移概率矩阵
这个是你需要知道的或者模型需要知道
每天它都有这样的转移概率是这样
所以每一行的概率和都是等于1的
这是今天的就是你在天气里面
如果给出今天的天气 我想知道明天的天气是什么
根据这样的转移概率矩阵
我们就可以画出这样一个马尔可夫模型的图形化的描述
这种转移概率图是特别常见 因为非常的直观
就是从哪里转移到哪里的这个状态
你能够画出这样一个图来
那么现在我们可以基于马尔可夫的假设
就是一阶马尔可夫假设当前状态只和前一个状态有关
那么接下来我们其实就可以说
如果我想知道过去的这十天里面
取天气是这些状态的概率
它就等于第一天乘以给定的第一天是什么样
第二天是什么样的 这样连乘下来就可以了
这就是一个很非常基本的马尔可夫模型
就是这样的一个模型
那么第一个问题我们就可以用它来解决一些预测的问题了
比如说如果你学习根据你的历史数据
你能够得到这样的转移概率矩阵 画出这样刚才的那个图来
那么就非常容易能回答这样一个问题说
今天是晴天 那么我想问明天是晴天并且后天下雨的概率是多少
因为太简单了是说今天是晴天 那么明天是晴天
这个概率直接在模型里就已经有了在这个模型里就有了
但是我们想预测说今天是晴天那么明天也是晴天后天下雨
就是0.8×0.05这个是什么意思呢
就从晴天到从晴天到晴天 然后再从晴天到雨天是吗
是的就可以了 所以非常简单
第一个问题你直接跳两步就可以了乘两个转移概率就OK了
问题非常简单 稍微复杂一点的问题
如果说今天有雾 我想知道后天下雨的概率是多少
这个要怎么算
非常好 就是一个穷举 你列出来 给出的是w1和w3
那么每一个就是用刚才的问题一的解答来回答
好这个问题很简单 马尔可夫的模型的问题也给出来了
我们后面还会有更复杂的问题 但是对于马尔可夫过程
我们会发现看起来很简单
但是我们生活中好多问题都可以用这个来解决
你唯一要做的就是把参数估计出来就行
而且去看看你的假设是不是符合的
-1.1 课程介绍
--课程介绍(1)
--课程介绍(2)
-1.2 机器学习的背景
--机器学习的背景
-1.3 什么是机器学习
--什么是机器学习
-1.4 机器学习系统设计
-第一章作业
-2.1 决策树的基本概念
--决策树的基本概念
-2.2 决策树的实例和发展历史
-2.3 经典决策树算法ID3
-2.4 过拟合和前剪枝
--过拟合和前剪枝
-第二章作业
-3.1 下午茶时间:勒索软件
-3.2 后剪枝
--后剪枝
-3.3 决策树的改进和归纳学习假设
-3.4 贝叶斯学习的背景
--贝叶斯学习的背景
-3.5 极大似然假设、朴素贝叶斯和最小描述长度
-第三章作业
-4.1 下午茶时间:微博的垃圾检测
-4.2 马尔可夫模型
--马尔可夫模型
-4.3 隐马尔可夫模型
--隐马尔可夫模型
-4.4 评估问题
--评估问题(1)
--评估问题(2)
-4.5 解码问题
--解码问题
-4.6 隐马尔可夫模型的应用
-第四章作业
-5.1 下午茶时间:图灵奖
-5.2 假设评估
--假设评估(1)
--假设评估(2)
--假设评估(3)
-5.3 置信度和置信区间
-5.4 有限数据下的比较
--有限数据下的比较
-第五章作业
-6.1 下午茶时间:黑洞照片
-6.2 基于实例的学习的基本概念
-6.3 最近邻算法
--最近邻算法
-6.4 K邻近算法
--K近邻算法
-6.5 KD树
--KD树
-6.6 距离加权的K近邻算法
-第六章考试
-7.1 支持向量机的背景
--支持向量机的背景
-7.2 线性支持向量机
-第七章作业
-8.1 核函数支持向量机
-8.4 支持向量机总结
--支持向量机总结
-8.5 无监督学习简介
-8.6 层次聚类
--层次聚类
-8.7 K-means聚类和K-medoids聚类
-第八章作业