机器学习之十六:HMM(隐马尔可夫模型)


1、什么是HMM:
    先来看一个例子:假设有4个盒子,每个盒子里面都装有红白两种颜色的球,盒子里面的红白球有下表给出:

盒子1234
红球数 5368
白球数 5742

    按照下面的方法抽球,产生一个球的颜色的随机序列:开始,从4个盒子里以等概率随机选取一个盒子,从这个盒子里随机抽出一个球,记录其颜色,放回;然后,从当前盒子随机转移到下一个盒子,规则是:如果当前盒子是盒子1,那么下一个盒子一定是盒子2,如果当前盒子是盒子2或者3,那么分别以概率0.4和0.6转移到左边或者右边盒子,如果当前盒子是4,那么各以0.5概率停留在盒子4或者转移到盒子3;确定转移盒子之后,再从这个盒子随机抽出一个球,记录其颜色,放回;如此下去,重复进行5次,得到一个球颜色的观测序列:

O={}O={红,红,白,白,红}

在这个过程中,观察者只能观测到球的颜色序列,观测不到球是从哪个盒子取出的,即观测不到盒子的序列。
    在这个例子中有两个随机序列,一个是盒子的序列(状态序列),一个是球颜色序列(观测序列)。前者是隐藏的,只有后者是可以观测的。这是一个隐马尔科夫的例子。根据所给条件,可以明确状态集合、观测集合、序列长度。
    盒子对应状态,盒子的状态集合是:
Q={1234}N=4Q={盒子1,盒子2,盒子3,盒子4},N=4

    球的颜色对应观测,观测集合是:
V={}M=2V={红,白},M=2

    状态序列和观测序列长度T=5
    初始概率分布为(从四个盒子选一个盒子的概率):
π=(0.25,0.25,0.25,0.25)Tπ=(0.25,0.25,0.25,0.25)T

    状态转移概率分布为(A[i][j]A[i][j]表示当前是第ii个盒子,下一个盒子是j个盒子的概率):
A=00.400100.4000.600.5000.60.5A=[01000.400.6000.400.6000.50.5]

    观测概率分布为(B[i][j]B[i][j]表示第ii个盒子下选择第j种颜色球的概率):
B=0.50.30.60.80.50.70.40.2B=[0.50.50.30.70.60.40.80.2]

HMMHMM的定义:
    隐马尔科夫模型是关于时序的概率模型,描述一个隐藏的马尔科夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。隐马尔科夫模型由初始概率分布、状态转移概率分布以及观测概率分布确定,隐马尔科夫模型的形式定义如下:
    设QQ是所有可能的状态的集合,V是所有可能的观测的集合:
Q={q1,q2,...,qN}V={v1,v2,...,vM}Q={q1,q2,...,qN}V={v1,v2,...,vM}

其中NN是可能的状态数,M是可能的观测数。
    II是长度为T的状态序列,OO是对应的观测序列:
I={i1,i2,...,iT}O={o1,o2,...,oT}

    AA是状态转移概率矩阵:
A=[aij]N×N

其中
aij=P(it+1=qj|it=qi),i=1,2,3,..,N,j=1,2,...,Naij=P(it+1=qj|it=qi),i=1,2,3,..,N,j=1,2,...,N

是在时刻tt处于qi的条件下时刻t+1t+1转移到qjqj的概率.
    BB是观测概率矩阵:
B=[bj(k)]N×M

其中
bj(k)=P(ot=vk|it=qj),k=1,2,...,M,j=1,2,...,Nbj(k)=P(ot=vk|it=qj),k=1,2,...,M,j=1,2,...,N

是在时刻tt处于状态qj的条件下生成观测vkvk的概率.
    ππ是初始状态概率向量:
π=(πi)π=(πi)

其中
πi=P(i1=qi),i=1,2,...,Nπi=P(i1=qi),i=1,2,...,N

是时刻t=1t=1处于状态qiqi的概率。
    隐马尔科夫模型由初始概率向量ππ、状态转移概率矩阵AA和观测概率矩阵B决定。ππAA决定状态序列,B决定观测序列。因此,隐马尔科夫模型λλ可以用三元符号表示:
λ=(A,B,π)λ=(A,B,π)

A,B,λA,B,λ称为隐马尔科夫模型的三要素。
    隐马尔科夫模型可以用于标注,这时状态对应标记。标注问题是给定观测的序列预测其对应的标记序列,可以假设标注问题的数据是由隐马尔科夫模型生成的。
2、隐马尔科夫模型的三个基本问题:
(1)概率计算问题:给定模型λ=(A,B,π)λ=(A,B,π)和观测序列O={o1,o2,...,oT}O={o1,o2,...,oT},计算在模型λλ下观测序列OO出现的概率P(O|λ).
(2)学习问题:已知观测序列O={o1,o2,...,oT}O={o1,o2,...,oT},估计模型λ=(A,B,π)λ=(A,B,π)的参数,使得在该模型下观测序列的概率P(O|λ)P(O|λ)最大。即用最大似然估计的方法估计参宿。
(3)预测问题,也称为解码问题。已知模型λ=(A,B,π)λ=(A,B,π)和观测序列O={o1,o2,...,oT}O={o1,o2,...,oT},求对给定观测序列条件概率P(I|O)P(I|O)最大的状态序列I=(i1,i2,...,iT)I=(i1,i2,...,iT),即给定观测序列,求最有可能对应的状态序列。
3、概率计算问题:待续。。
4、学习问题:待续。。
5、预测问题:待续。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值