HMM(Forward algorithm)向前算法

由马尔科夫模型MM可知:对于一个系统,由一个状态转至另一个状态的转换过程中,存在着转移概率,并且这种转移概率可以依据其紧接的前一种状态推算出来,与该系统的原始状态和此次转移前的马尔可夫过程无关。

隐马尔可夫模型(HiddenMarkov models,HMM)是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。

假设连续观察3天的海藻湿度为(Dry,Damp, Soggy),求出该观察序列的概率。天气只有三类(Sunny,Cloudy, Rainy),而且海藻湿度和天气有一定的关系。

已知:

  1. 隐藏的状态:Sunny, Cloudy, Rainy;海藻湿度有四类{Dry,Dryish, Damp, Soggy }

  2. 观察状态序列:{ Dry, Damp, Soggy };

  3. 初始状态序列:Sunny(0.63), Cloudy(0.17),Rainy(0.20);

  4. 状态转移矩阵:

nullsunnuycloudyrainny
suuny0.50.3750.125
cloudy0.250.1250.625
rainny0.250.3750.375

Cloudy(昨天)->Sunny(今天)的概率是0.25;
Sunny(昨天)->Rainy(今天)的概率是0.125.
5. 混淆矩阵(海藻湿度与天气的相关性):

nullDryDryishDampSoggy
suuny0.60.20.150.05
cloudy0.250.250.250.25
rainy0.050.100.350.50

观察到海藻湿度Dry,则当天Sunny的概率是0.6;Cloudy的概率是0.25;而当天Rainy的概率是0.05.

How to calculate the probability of this observation list?

即统计P(observation|Sunny, Sunny, Sunny)+P(observation| Sunny, Sunny, Cloudy)+ P(observation| Sunny,Sunny, Rainy)+ P(observation| Sunny, Cloudy, Sunny) + P(observation| Sunny, Cloudy,Cloudy) + P(observation| Sunny, Cloudy, Rainy) + …

总共的可能性有3^3种。

实际由于马尔科夫模型,我们得知其实第二天的状况只取决于第一天,第三天的天气已经与第一天的天气没有关系了。

我们可以先求P(Day1-Sunny),P(Day1-Cloudy), P(Day1-Rainy),Day1的海藻湿度是Dry.

P(Day1-Sunny) = 0.63*0.6;

P(Day1-Cloudy)=0.17*0.25;

P(Day1-Rain)=0.20*0.05;

继续求P(Day2-Sunny), P(Day2-Cloudy),P(Day2-Rainy), Day2的海藻湿度是Damp.

P(Day2-Suny)= (P(Day1-Sunny)0.5 + P(Day1-Cloudy)*0.25 +P(Day1-Rainy)*0.25) 0.15

P(Day2-Cloudy) = (P(Day1-Sunny)0.375+ P(Day1-Cloudy)*0.125 + P(Day1-Rainy)*0.625) 0.25

P(Day2-Rainy) =(P(Day1-Sunny)0.125+ P(Day1-Cloudy)*0.625 + P(Day1-Rainy)*0.375) 0.35

同理继续求第三日的各天气概率,Day3的海藻湿度是Soggy.

P(Day3-Suny)= (P(Day2-Sunny)0.5 + P(Day1-Cloudy)*0.25 +P(Day1-Rainy)*0.25) 0.05

P(Day3-Cloudy) = (P(Day2-Sunny)0.375+ P(Day1-Cloudy)*0.125 + P(Day1-Rainy)*0.625) 0.25

P(Day3-Rainy) =(P(Day2-Sunny)0.125+ P(Day1-Cloudy)*0.625 + P(Day1-Rainy)*0.375) 0.50

推出:

P(observation list) =P(Day3-Sunny)+P(Day3-Cloudy)+P(Day3-Rainy) = 0.030319

向前算法

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值