关于时间的不确定性推理

时间与不确定性

基本思想:按照自然的时序顺序对变量进行排序,按因果次数添加变量,记录每个时间片的观测预证据。

困难:变量集合是无界的,因为它需要包含全部时间片的状态与证据
在这里插入图片描述

Markov过程

在这里插入图片描述
一阶马尔科夫:当前状态只与上一个状态有关;
二阶马尔科夫:当前状态与上两个状态有关;
传感器模型:当前状态只与自己有关

马尔科夫过程中除了转移模型和传感器模型之外,还需要指定0时刻的先验概率 P ( X 0 ) P(X_0) P(X0), 一个稳态Markov过程的所有变量上的完整的联合概率分布为:
P ( X 0 , X 1 , . . . , X t , E 1 , . . . , E t ) = P ( X 0 ) ∏ P ( X i ∣ X i − 1 ) P ( E i ∣ X i ) P(X_0, X_1, ...,X_t, E_1, ..., E_t) \\ = P(X_0)\prod P(X_i|X_{i-1})P(E_i|X_i) P(X0,X1,...,Xt,E1,...,Et)=P(X0)P(XiXi1)P(EiXi)
P ( E i ∣ X i ) P(E_i|X_i) P(EiXi)是传感器模型 P ( X i ∣ X i − 1 ) P(X_i|X_{i-1}) P(XiXi1) 是转移模型

下面是一个例子:
在这里插入图片描述

这是一个一阶的Markov过程,通过这个把整个联合概率分布表示成上图的样子。

但是一阶Markov过程不精确,可以通过以下方式弥补:
1、提高Markov过程结数;
2、扩大状态变量集合

推理任务

  • 滤波: P ( X t ∣ e 1 : t ) P(X_t | e_{1:t}) P(Xte1:t) :一个信任状态 – 输入与其有关的决策过程,给定目前已有的证据,估计当前状态的后验概率分布
  • 预测: P ( X t + 1 ∣ e 1 : t ) P(X_{t+1} | e_{1:t}) P(Xt+1e1:t)对所有的 k > 0 k > 0 k>0 : 给定目前为止的所有证据,计算未来状态的后验概率。
  • 平滑: P ( X k ∣ e 1 : t ) P(X_k|e_{1:t}) P(Xke1:t)对所有的 0 ≥ k &lt; t 0 \geq k &lt; t 0k<t:给定目前已有的证据,估计过去某一状态的后验概率分布
  • 最可能解释:给定观察序列,找到最可能生成这些观察结果的状态序列
    在这里插入图片描述
滤波

目的:为了设计一个递归的状态估计算法
P ( X t + 1 ∣ e 1 : t + 1 ) = f ( e t + 1 , P ( X t ∣ e 1 : t ) ) P(X_{t+1} | e_{1:t+1}) = f(e_{t+1}, P(X_t|e_{1:t})) P(Xt+1e1:t+1)=f(et+1,P(Xte1:t)) : 通过前一个状态得到的

P ( X t + 1 ∣ e 1 : t + 1 ) = P ( X t + 1 ∣ e 1 : t , e t + 1 ) ( 证 据 分 解 ) = ( P ( e t + 1 ∣ X t + 1 , e 1 : t ) ∗ P ( X t + 1 , e 1 : t ) ) / P ( X t + 1 , e 1 : t ) ( 因 为 e t + 1 只 与 当 前 状 态 有 关 ) = a ∗ P ( e t + 1 ∣ X t + 1 ) P ( X t + 1 ∣ e 1 : t ) − − ( 3 ) P(X_{t+1}|e_{1:t+1}) \\= P(X_{t+1}|e_{1:t}, e_{t+1})(证据分解)\\ = ({P(e_{t+1}|X_{t+1}, e_{1:t})*P(X_{t+1},e_{1:t})})/P(X_{t+1}, e_{1:t})(因为e_{t+1}只与当前状态有关)\\ =a*P(e_{t+1}|X_{t+1})P(X_{t+1}|e_{1:t}) --(3) P(Xt+1e1:t+1)=P(Xt+1e1:t,et+1)(=(P(et+1Xt+1,e1:t)P(Xt+1,e1:t))/P(Xt+1,e1:t)et+1=aP(et+1Xt+1)P(Xt+1e1:t)(3)
这里的a是归一化常数,保证所有的概率和为1.
上述式子中的第三行前面一项表示修正,后面一项表示预测,预测结果使用 X t X_t Xt加和得到。

接下来展示如何计算 P ( X t + 1 ∣ e 1 : t + 1 ) P(X_{t+1}|e_{1:t+1}) P(Xt+1e1:t+1)
P ( X t + 1 ∣ e 1 : t + 1 ) = a ∗ P ( e t + 1 ∣ X t + 1 ) P ( X t + 1 ∣ e 1 : t ) P(X_{t+1}|e_{1:t+1})\\ = a*P(e_{t+1}|X_{t+1})P(X_{t+1}|e_{1:t}) P(Xt+1e1:t+1)=aP(et+1Xt+1)P(Xt+1e1:t)

P ( X t + 1 ∣ e 1 : t ) = P ( X t + 1 , e 1 : t ) P ( e 1 : t ) = ∑ x t P ( X t + 1 , x t , e 1 : t ) P ( e 1 : t ) = ∑ x t P ( X t + 1 ∣ x t , e 1 : t ) P ( x t , e 1 : t ) P ( e 1 : t ) = ∑ x t P ( X t + 1 ∣ x t , e 1 : t ) P ( x t ∣ e 1 : t ) P ( e 1 : t ) P ( e 1 : t ) = ∑ x t P ( X t + 1 ∣ x t , e 1 : t ) P ( x t ∣ e 1 : t ) P(X_{t+1}|e_{1:t})\\ = \frac{P(X_{t+1},e_{1:t})}{P(e_{1:t})}\\ =\frac{ \sum_{x_t}P(X_{t+1}, x_t, e_{1:t})}{P(e_{1:t})}\\ =\frac{\sum_{x_t} P(X_{t+1}|x_t, e_{1:t})P(x_t,e_{1:t})}{P(e_{1:t})}\\ =\frac{\sum_{x_t} P(X_{t+1}|x_t, e_{1:t})P(x_t|e_{1:t})P(e_{1:t})}{P(e_{1:t})}\\ =\sum_{x_t} P(X_{t+1}|x_t, e_{1:t})P(x_t|e_{1:t}) P(Xt+1e1:t)=P(e1:t)P(Xt+1,e1:t)=P(e1:t)xtP(Xt+1,xt,e1:t)=P(e1:t)xtP(Xt+1xt,e1:t)P(xt,e1:t)=P(e1:t)xtP(Xt+1xt,e1:t)P(xte1:t)P(e1:t)=xtP(Xt+1xt,e1:t)P(xte1:t)
这里的 x t x_t xt表示的是 x t x_t xt这个时刻的各种状态,而不是1:t,我们可以认为滤波估计是沿着序列向前转播的“消息” f 1 : t f_{1:t} f1:t。他在每次转移时得到修正,并根据每个新的观察进行更新:
f 1 : t + 1 = a ∗ F O R W A R D ( f 1 : t , e t + 1 ) f_{1:t+1} = a*FORWARD(f_{1:t}, e_{t+1}) f1:t+1=aFORWARD(f1:t,et+1)

以上的滤波过程包括推理和验证,下面是一个例子:
在这里插入图片描述

模拟上面的滤波过程:

  • 在第零天,观察还没开始,只有先验信息,假设 P ( R 0 ) = &lt; 0.5 , 0.5 &gt; P(R_0) = &lt;0.5, 0.5&gt; P(R0)=<0.5,0.5>
  • 在第一天,出现了雨伞,所以 U 1 = t r u e U_1 = true U1=true,从 t = 0 t = 0 t=0 t = 1 t = 1 t=1的预测结果为:
    P ( R 1 ) = ∑ r 0 P ( R 1 ∣ r 0 ) P ( r 0 ) = &lt; 0.7 , 0.3 &gt; ∗ 0.5 + &lt; 0.3 , 0.7 &gt; ∗ 0.5 = &lt; 0.5 , 0.5 &gt; P(R_1) = \sum_{r_0} P(R_1|r_0)P(r_0)\\ = &lt;0.7,0.3&gt;*0.5 + &lt;0.3,0.7&gt;*0.5\\ =&lt;0.5, 0.5&gt; P(R1)=r0P(R1r0)P(r0)=<0.7,0.3>0.5+<0.3,0.7>0.5=<0.5,0.5>

然后使用t+1时刻的证据对预测结果进行验证:
P ( R − 1 ∣ u 1 ) = a P ( u 1 ∣ R 1 ) P ( R 1 ) = a &lt; 0.9 , 0.2 &gt; &lt; 0.5 , 0.5 &gt; = a &lt; 0.45 , 0.1 &gt; ≈ &lt; 0.818 , 0.182 &gt; P(R-1|u_1)\\ =aP(u_1|R_1)P(R_1)\\ =a&lt;0.9, 0.2&gt;&lt;0.5, 0.5&gt;\\ =a&lt;0.45,0.1&gt;\\ \approx &lt;0.818, 0.182&gt; P(R1u1)=aP(u1R1)P(R1)=a<0.9,0.2><0.5,0.5>=a<0.45,0.1><0.818,0.182>

  • 在第二天,又出现了雨伞,所以 U 2 = t r u e U_2 = true U2=true,由 t = 1 t=1 t=1 t = 2 t = 2 t=2的预测结果为:
    P ( R 2 ∣ u 1 ) = ∑ r 1 P ( R 2 ∣ r 1 ) P ( r 1 ∣ u 1 ) = &lt; 0.7 , 0.3 &gt; ∗ 0.818 + &lt; 0.3 , 0.7 &gt; 0.812 ≈ &lt; 0.627 , 0.373 &gt; P(R_2|u_1)\\ =\sum_{r_1} P(R_2|r_1)P(r_1|u_1)\\ =&lt;0.7, 0.3&gt;*0.818+&lt;0.3, 0.7&gt;0.812\\ \approx &lt;0.627,0.373&gt; P(R2u1)=r1P(R2r1)P(r1u1)=<0.7,0.3>0.818+<0.3,0.7>0.812<0.627,0.373>

根据 t = 2 t = 2 t=2时刻的证据进行更新,可得到:
P ( R 2 ∣ u 1 , u 2 ) = a P ( u 2 ∣ R 2 ) P ( R 2 ∣ u 1 ) = a &lt; 0.9 , 0.2 &gt; &lt; 0.627 , 0.373 &gt; ≈ &lt; 0.883 , 0.117 &gt; P(R_2|u_1,u_2)\\ =aP(u_2|R_2)P(R_2|u_1)\\ =a&lt;0.9, 0.2&gt;&lt;0.627, 0.373&gt;\\ \approx &lt;0.883, 0.117&gt; P(R2u1,u2)=aP(u2R2)P(R2u1)=a<0.9,0.2><0.627,0.373><0.883,0.117>

预测

预测可以认为是没有增加新证据的条件下的滤波:
在这里插入图片描述
就是只使用前1:t步的证据来推测后面的概率,根据t+k时刻就能推测t+k+1时刻的状态。我们对越来越远的未来进行会收敛到一个不动点,也就是转移模型所定义的马尔科夫过程的稳态分布。转移模型中的不确定性越多,混合时间就越短,未来就越模糊,对证据序列 P ( e 1 : t ) P(e_{1:t}) P(e1:t)的似然的计算可以采用类似的递归方式:
在这里插入图片描述

平滑

在这里插入图片描述

平滑是给定直到现在的已知证据,来计算过去的状态的分布过程:也就是对于 0 ≤ k &lt; t 0 \leq k &lt; t 0k<t计算 P ( X k ∣ e 1 : t ) P(X_k|e_{1:t}) P(Xke1:t)

寻找最可能序列(Most likely explanation)

假设 [ t r u e , t r u e , f a l s e , t r u e , t r u e ] [true,true,false,true,true] [true,true,false,true,true]是警卫观察到的前5天的雨伞序列,要我们解释最近嗯呢个的天气序列是什么,现在我们可以选择的天气序列共有 2 5 2^5 25个,是否有方法能直接找到这个序列而不用枚举呢?
在这里插入图片描述
上面是一个错误的想法,因为我们最后要找的是联合概率分布,上述做法变成单个时间步上的条件概率。

正确做法:采用Viterbi算法。
这个方法其实跟寻找最短路是一样的,递归寻找使得当前路径得到反馈最大的路,因为当前节点只与前一个节点有关,所以只要算出前一个节点沿哪条路转移到当前节点就行了,如下,其实也是一个马尔科夫过程。
在这里插入图片描述

最可能世界是在已知证据条件,所有查询变量的联合分布
假设我们已知 e 1 : t + 1 e_{1:t+1} e1:t+1 ,求 m a x P ( x 1 , x 2 , . . . , x t + 1 ∣ e 1 : t + 1 ) max P(x_1 , x_2, ... ,x_{t+1} | e_{1:t+1}) maxP(x1,x2,...,xt+1e1:t+1)这个公式可以如下展开:

m a x P ( x 1 , x 2 , . . . , x t + 1 ∣ e 1 : t + 1 ) = α ∗ P ( e 1 : t + 1 ∣ X t + 1 ) m a x x t ( P ( X t + 1 ∣ x t ) m a x x 1 : t P ( x 1 : t ∣ e 1 : t ) ) max P(x_1 , x_2, ... ,x_{t+1} | e_{1:t+1})\\ =\alpha*P(e_{1:t+1} | X_{t+1})max_{xt}(P(X_{t+1}|x_t)max_{x_{1:t}}P(x_{1:t}|e_{1:t})) maxP(x1,x2,...,xt+1e1:t+1)=αP(e1:t+1Xt+1)maxxt(P(Xt+1xt)maxx1:tP(x1:te1:t))

由于初始状态没有证据,所以第一天要用滤波。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值