用隐马尔可夫模型推测女朋友心情(Ⅱ):求心情序列与事件序列的联合概率

上一期,王同学凭着自己对女友的了解,预估了 π \pi π A A A B B B,三个参数矩阵的取值。过去一周,通过与女友聊天,王同学了解到女友从周一到周日晚上做的事情分别为:看书、看剧、跑步、看书、看剧、逛商超、看剧。他想用这个观测序列预测女友这周的心情。
要预测女友的心情,换说话说,就是要求最大概率的心情序列,即,求某一心情序列,它与事件序列的联合概率最大。

循序渐进地解决问题,我们先考虑如何求心情序列与做事序列的联合概率,再考虑如何求最大概率。

假设王同学根据事件序列:{看书,看剧,跑步,看书,看剧,逛商超,看剧},凭直觉给出了女友的心情序列:{正常,正常,不开心,正常,开心,开心,正常},现在,如何求这两个序列的联合概率。

为表示方便,给出如下符号定义:
x i x_{i} xi:第i天的事件, i ∈ [ 1 , 7 ] i\in[1,7] i[1,7]
y i y_{i} yi:第i天的心情, i ∈ [ 1 , 7 ] i\in[1,7] i[1,7]

于是,上述序列的联合概率可表示为:
P ( [ y 1 , y 2 , y 3 , … , y 7 ] , [ x 1 , x 2 , x 3 , … , x 7 ] ) P([y_{1},y_{2},y_{3}, \dots,y_{7}], [x_{1},x_{2},x_{3}, \dots,x_{7}]) P([y1,y2,y3,,y7],[x1,x2,x3,,x7])

先来张示意图,直观感受一下:

在这里插入图片描述

图-1 隐马尔可夫示意图

图-1显示了每个时刻状态 y y y的取值和事件 x x x的取值。
为方便查询,将上一期的三张参数表也放这里。

表-1 初始状态概率分布 π

正常开心不开心
0.70.20.1

表-2 状态转移概率分布 A

正常开心不开心
正常0.50.30.2
开心0.40.50.1
不开心0.60.10.3

表-3 发射概率分布 B

看书逛商超跑步看剧
正常0.40.10.20.3
开心0.20.50.10.2
不开心0.10.10.60.2

现在,我们看着图-1来计算每个时刻的概率乘积。
(1) t = 1 t=1 t=1时,没有前驱状态,发生的概率由 π \pi π决定,即求 P ( y 1 = 正常 ) P(y_{1}=正常) P(y1=正常),查表-1得, P ( y 1 = 正常 ) = π 1 P(y_{1}=正常)=\pi_{1} P(y1=正常)=π1。当 { y 1 = 正常 } \{y_{1}=正常\} {y1=正常}时, { x 1 = 看书 } \{x_{1}=看书\} {x1=看书}的概率由发射概率矩阵 B B B决定。查表-3得, P ( x 1 = 看书 ∣ y 1 = 正常 ) = B 11 P(x_{1}=看书|y_{1}=正常)=B_{11} P(x1=看书y1=正常)=B11。所以, t = 1 t=1 t=1时的概率乘积为,
π 1 ⋅ B 11 \pi_{1} \cdot B_{11} π1B11
(2) t = 2 t=2 t=2时,状态 y 2 y_{2} y2由前驱状态 y 1 y_{1} y1转移而来,其发生的概率由矩阵 A A A决定,查表-2得, P ( y 2 = 正常 ∣ y 1 = 正常 ) = A 11 P(y_{2}=正常|y_{1}=正常)=A_{11} P(y2=正常y1=正常)=A11。当 { y 2 = 正常 } \{y_{2}=正常\} {y2=正常}时, { x 2 = 看剧 } \{x_{2}=看剧\} {x2=看剧}的概率由发射概率矩阵 B B B决定。查表-3得, P ( x 2 = 看剧 ∣ y 2 = 正常 ) = B 14 P(x_{2}=看剧|y_{2}=正常)=B_{14} P(x2=看剧y2=正常)=B14。所以, t = 2 t=2 t=2时的概率乘积为,
A 11 ⋅ B 14 A_{11} \cdot B_{14} A11B14
(3) 以此类推,得到其它时刻的概率乘积。
(4) 最后,可得7天的概率乘积,也就是心情序列和事件序列的联合概率,
P ( [ y 1 , y 2 , y 3 , … , y 7 ] , [ x 1 , x 2 , x 3 , … , x 7 ] ) = π 1 ⋅ B 11 ⋅ A 11 ⋅ B 14 ⋅ A 13 ⋅ B 33 ⋅ A 31 ⋅ B 11 ⋅ A 12 ⋅ B 24 ⋅ A 22 ⋅ B 22 ⋅ A 21 ⋅ B 14 \begin{equation} \begin{aligned} P([y_{1},y_{2},y_{3}, \dots,y_{7}], [x_{1},x_{2},x_{3}, \dots,x_{7}])=&\pi_{1} \cdot B_{11} \\ &\cdot A_{11} \cdot B_{14} \\ &\cdot A_{13} \cdot B_{33} \\&\cdot A_{31} \cdot B_{11} \\ &\cdot A_{12} \cdot B_{24} \\ &\cdot A_{22} \cdot B_{22} \\ &\cdot A_{21} \cdot B_{14} \end{aligned} \end{equation} P([y1,y2,y3,,y7],[x1,x2,x3,,x7])=π1B11A11B14A13B33A31B11A12B24A22B22A21B14

由式(1)可以看出,联合概率=初始时刻的概率×每个时刻的状态转移概率×每个时刻的发射概率。
为表述方便,用向量 y \boldsymbol{y} y表示状态序列 { y 1 , y 2 , y 3 , … , y T } \{y_{1},y_{2},y_{3}, \dots,y_{T}\} {y1,y2,y3,,yT},用向量 x \boldsymbol{x} x表示事件序列 { x 1 , x 2 , x 3 , … , x T } \{x_{1},x_{2},x_{3}, \dots,x_{T}\} {x1,x2,x3,,xT}
由马尔可夫条件独立假设知,当前时刻的状态只与前一时刻状态相关,于是有,
P ( y ) = P ( y 1 ) ⋅ P ( y 2 ∣ y 1 ) ⋅ P ( y 3 ∣ y 2 ) … P ( y T ∣ y T − 1 ) = P ( y 1 ) ∏ t = 2 T P ( y t ∣ y t − 1 ) \begin{equation} \begin{aligned} P(\boldsymbol{y})&=P(y_{1}) \cdot P(y_{2}|y_{1})\cdot P(y_{3}|y_{2})\dots P(y_{T}|y_{T-1})\\&=P(y_{1})\prod_{t=2}^{T} P(y_{t}|y_{t-1}) \end{aligned} \end{equation} P(y)=P(y1)P(y2y1)P(y3y2)P(yTyT1)=P(y1)t=2TP(ytyt1)
当给定 y \boldsymbol{y} y,对应事件序列发生的概率为: P ( x ∣ y ) = ∏ t = 1 T P ( x t ∣ y t ) P(\boldsymbol{x}|\boldsymbol{y})=\prod_{t=1}^{T} P(x_{t}|y_{t}) P(xy)=t=1TP(xtyt)。所以序列 y \boldsymbol{y} y与序列 x \boldsymbol{x} x的联合概率为:

P ( x , y ) = P ( y ) P ( x ∣ y ) = P ( y 1 ) ∏ t = 2 T P ( y t ∣ y t − 1 ) ∏ t = 1 T P ( x t ∣ y t ) \begin{equation} \begin{aligned} P(\boldsymbol{x},\boldsymbol{y})&=P(\boldsymbol{y})P(\boldsymbol{x}|\boldsymbol{y}) \\ &=P(y_{1})\prod_{t=2}^{T} P(y_{t}|y_{t-1})\prod_{t=1}^{T} P(x_{t}|y_{t}) \end{aligned} \end{equation} P(x,y)=P(y)P(xy)=P(y1)t=2TP(ytyt1)t=1TP(xtyt)

将本例中状态转移概率和发射概率代入式(3),就可求得心情序列与事件序列的联合概率。

现在问题来了,心情有三种情况,七天的心情序列共有 3 7 3^{7} 37种情况。王同学想找到的是概率最大的那个序列。如果一个个试过去,太花时间了,下一期我们一起讨论更好的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遥望山海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值