01 隐马尔可夫模型 - 马尔可夫链、HMM参数和性质-阿里云开发者社区

开发者社区> Java技术进阶> 正文

01 隐马尔可夫模型 - 马尔可夫链、HMM参数和性质

简介: 一、马尔可夫性质 __先直白得讲性质:__当前的状态只和上一时刻有关,在上一时刻之前的任何状态都和我无关。我们称其__符合__马尔可夫性质。 下面是理论化的阐述:设{X(t), t ∈ T}是一个__随机过程__,E为其状态空间,若对于任意的t1 二、马尔可夫链 马尔可夫链 是指具有马尔可夫性质的随机过程。

一、马尔可夫性质

__先直白得讲性质:__当前的状态只和上一时刻有关,在上一时刻之前的任何状态都和我无关。我们称其__符合__马尔可夫性质。

下面是理论化的阐述:
设{X(t), t ∈ T}是一个__随机过程__,E为其状态空间,若对于任意的t1


二、马尔可夫链

马尔可夫链 是指具有马尔可夫性质的随机过程。在过程中,在给定当前信息的情况下,过去的信息状态对于预测将来__状态__是无关的。

马尔可夫链

__例子:__在今天这个时间点而言,过去的股价走势对我预测未来的股价是毫无帮助的。
PS:上面马尔可夫链中提到的__状态__,在本例指的是__股价__。

在马尔可夫链的每一步,系统根据__概率分布__,可以从一个状态变成另外一个状态,也可以保持当前状态不变。状态的改变叫做__转移__,状态改变的相关概率叫做__转移概率__。

例子: 当前时间状态下的股价,可以转变成下一时刻的股价,股价的转变即__状态的改变__。这个状态现在可以上升(股价提高),状态也可以下降。我可以根据当前股票的价格去决定下一刻股价上升、下降、不变的概率。这种股价变动的概率称为__状态转移概率__。

马尔可夫链中的__三元素是__:状态空间S、转移概率矩阵P、初始概率分布π。


例子:假设认为股价有三种状态(高、中、低);

1、状态空间S - 例: S是一个集合,包含所有的状态 __S股价={高,中,低}__;

2、初始概率分布π - 例:
股价刚发行的时候有一个初始价格,我们认为初始价格为高的概率为50%,初始价格为中的概率是30%,初始价格为低的概率是20%。我们记股票价格的初始概率分布为:π=(0.5,0.3,0.2);对应状态:(高、中、低);__初始概率分布是一个向量__,如果有n个状态,π是n维向量。

3、转移概率矩阵P - 例:
现在有个股价为中,下一个时刻状态转变的可能性有三种,中→高、中→低、中→中;将三种转变的概率。此外当前时刻也有股票的价格属于低,对应的转变可能包括低→高、低→低、低→中;即每种状态都有可能转变成其他的状态,若一共有n个状态,形成的__转移概率矩阵__应该是n×n阶矩阵。这里需要注意的是,股价从高→低,和低→高的概率是不同的。


马尔可夫链案例:

设将天气状态分为晴、阴、雨三种状态,假定某天的天气状态只和上一天的天气状态有关,状态使用1(晴)、2(阴)、3(雨)表示,转移概率矩阵P如下:

第n+1天天气状态为j的概率为:

因此,矩阵P即为条件概率转移矩阵。矩阵P的第i行元素表示,在上一个状态为i的时候的分布概率,即每行元素的和必须为1。


三、HMM

隐马尔可夫模型(Hidden Markov Model, HMM)是一种统计模型,在语音识别、行为识别、NLP、故障诊断等领域具有高效的性能。

HMM是关于时序的概率模型,描述一个含有未知参数的马尔可夫链所生成的不可观测的状态随机序列,再由各个状态生成观测随机序列的过程。

HMM是一个双重随机过程---具有一定状态的隐马尔可夫链和随机的观测序列。

HMM随机生成的状态随机序列被称为状态序列;每个状态生成一个观测,由此产生的观测随机序列,被称为观测序列。

上-状态序列(天气) 下-观测序列(地面是否干燥)

__思考:__z1,z2...,zn是__不可观测的状态__,x1,x2,...xn是__可观测到的序列__;不可观测的状态觉得可观测序列的值(z的取值决定x的取值);

1、在__z1、z2 不可观测__的情况下,x1和z2独立吗?x1和x2独立吗?

__回答:__这个问题可以回顾之前的__贝叶斯网络__来理解。
首先z1,z2都是离散的值,但x1的值可能是离散的也可能是连续的。比如z是天气情况,每天天气的改变是离散的。x是因为天气而改变的一些其他状态,比如x=(地面是否潮湿、路上行人数量、雨伞销售数量...);
在z1和z2不可观测的情况下,x1和z2不独立,x1和x2也是不独立的。

2、 在__z1、z2可观测__的情况下,x1和z2独立吗?x1和x2独立吗?

回答: 在z1和z2可观测的情况下,因为x1和z2的取值只和z1有关,所以就独立了。同样在给定了z1和z2的情况下,x1和x2也独立。


请回顾贝叶斯网络中的独立性问题来思考这个问题。
04 贝叶斯算法 - 贝叶斯网络

回顾:
一般而言,贝叶斯网络的有向无环图中的节点表示随机变量,可以是可观察到的变量,或隐变量,未知参数等等。连接两个节点之间的箭头代表两个随机变量之间的因果关系(也就是这两个随机变量之间非条件独立);如果两个节点间以一个单箭头连接在一起,表示其中一个节点是“因”,另外一个节点是“果”,从而两节点之间就会产生一个条件概率值。

PS:每个节点在给定其直接前驱的时候,条件独立于其非后继。

所以隐马尔科夫也是贝叶斯网络的一种应用。


__HMM__由隐含状态S、可观测状态O、初始状态概率矩阵π、隐含状态转移概率矩阵A、可观测值转移矩阵B(又称为混淆矩阵,Confusion Matrix);

π和A决定了状态序列,B决定观测序列,因此HMM可以使用三元符号表示,称为HMM的三元素:

HMM三元素

S可以统计历史出现的所有状态;
初始概率分布π,统计S中各个状态各自出现的概率作为我们的初始概率分布π向量值;


四、HMM参数

S是所有可能的状态集合,O是所有可能的观测集合:

I是长度为T的状态序列,Q是对应的观测序列:

S={下雨,阴天,晴天};O={地上干,地上湿}
I = {晴,雨,雨,阴,晴,阴}
Q={干,湿,湿,湿,干,干}


A是隐含状态转移概率矩阵:

其中aij是在时刻t处于状态si的条件下时刻t+1转移到状态sj的概率。
a晴雨 = 某天是晴天条件下,下一天是雨天的概率。 (某一时刻→下一时刻)

B是可观测值转移概率矩阵:

其中bij是在时刻t处于状态si的条件下生成观测值oj的概率。
b晴干 = 某天是晴天条件下,某天是地是干的的概率。 (同一时刻)

π是初始状态概率向量:

其中πi是在时刻t=1处于状态si的概率。
π = 初始第一天是晴天的概率;
π = 初始第一天是雨天的概率;


五、HMM的两个基本性质

p(it | .....) 表示在从__t-1时刻的观测值qt-1,一直到第1时刻观测值q1__的条件下,在第t时刻发生状态的概率。

性质1: 最终分析结果发现,在第t时刻发生状态的概率it只和t-1时刻有关。
性质2: 第t时刻的观测值qt只和第t时刻的状态it有关。


HMM案例:

假设有三个盒子,编号为1,2,3;每个盒子都装有黑白两种颜色的小球,球的比例。如下:

按照下列规则的方式进行有放回的抽取小球,得到球颜色的观测序列:
1、按照π的概率选择一个盒子,从盒子中随机抽取出一个球,记录颜色后放回盒子中;
2、按照某种条件概率选择新的盒子,重复该操作;
3、最终得到观测序列:“白黑白白黑”

例如: 每次抽盒子按一定的概率来抽,也可以理解成随机抽。
第1次抽了1号盒子①,第2次抽了3号盒子③,第3次抽了2号盒子②.... ; 最终如下:
①→③→②→②→③ 状态值
白→黑→白→白→黑 观测值

1、__状态集合:__ S={盒子1,盒子2,盒子3}
2、__观测集合:__ O={白,黑}
3、__状态序列和观测序列的长度__ T=5 (我抽了5次)
4、__初始概率分布:__ π 表示初次抽时,抽到1盒子的概率是0.2,抽到2盒子的概率是0.5,抽到3盒子的概率是0.3。
5、__状态转移概率矩阵__ A:a11=0.5 表示当前我抽到1盒子,下次还抽到1盒子的概率是0.5;
6、__观测概率矩阵__ B:如最初的图,b11=第一个盒子抽到白球概率0.4,b12=第一个盒子抽到黑球概率0.6;

HMM案例思考

在给定参数π、A、B的时候,得到观测序列为“白黑白白黑”的概率是多少?

这个时候,我们不知道隐含条件,即不知道状态值:①→③→②→②→③ ;
我们如何根据π、A、B求出测序列为“白黑白白黑”的概率?

02 隐马尔可夫模型 - HMM的三个问题 - 概率计算、学习、预测

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
Java技术进阶
使用钉钉扫一扫加入圈子
+ 订阅

Java技术进阶成长,课程资料,案例解析,实战经验全都有!

官网链接