贝叶斯思想和专业术语

来源:互联网 发布:极客学院php百度网盘 编辑:程序博客网 时间:2024/06/07 01:21

虽然很早就学过贝叶斯,对贝叶斯公式记得也很熟,但是最近看论文的时候,里面提到贝叶斯滤波器,里面的专业名词还是不明白,还有一直说的,先验概率和后验概率的真实意义也说不明白。

下面就一个常用的例子说明一下,以检查病情为例,x 表示有没有某种病,z表示仪器测出来的数据。
x其实是不知道的,就像看不见到隐参数,叫 true state,z是可见的参数,或者叫观测observed states。一个医院可以将得病的人的检测参数 z 做一个统计,得到病人的参数分布,即 p(z|x),人群中得这种病的比例也可以大致估计出 就是p(x).那么一个人的测试数据为z,那么他得病的概率就正比于得病的人出现这个测试数据的概率和人群得这种病的概率,公式化就是

p(x|z)=p(z|x)p(x)/p(z)

之所以叫 p(x|z)为后验概率,我想是因为x这个 state到底是什么,是在当下不知道的,可能过一段时间才可以观察到,比如一个人的病情早期看不出来,过一段时间如果有病,就会严重暴露出来,如果没有病就没事了,这个状态可以通过之后的观察发现。在当下是看不见,观察不到的。这样说就和隐马尔可夫模型结合起来了。

还有个问题,就是p(x|z)这个概率是测不出来的,因为x这个state在’现在‘是观察不到的,等到观察到,可能病情已经发展的严重,或者在别的问题下,x这个状态的意义已经没有了。所以不能直接测这个概率,最根本的问题还不是好不好测的问题,而是测出来也失去意义了。

这个博客里讲的比较全面


下面说说贝叶斯滤波器(Bayesian filter),下面的图说明了HMM(隐马尔可夫模型):
hmm

上面的例子中,x就是隐状态,测不到,而z就是y是可测的数据,首先要明确,是x决定了z(y),
而且yk 只和 xk有关,xk只和之前的状态xk-1有关,这是HMM的基本假设。用公式表示就是

p(xk|xk1,,x0)=p(xk|xk1)(1)

表示xk 只和 xk1 有关
p(zk|xk,,x0)=p(zk|xk)(2)

表示zk只和xk 有关
p(x0,,xk,z1,,zk)=p(x0)i=1kp(zi|xi)p(xi|xi1)(3)
左侧是一个联合分布,意思是出现 x0xk,这些状态和 z1,,zk这些观测的概率,其实这里有简写,比如 xk 表示在k时刻,系统的状态是 xk 这个值,完整的表示是Xk=xk。所有左侧是一个大的事件空间里一种情况出现的可能性,这些事件之间存在依赖关系,比如已知 xk1 的值,那么 xk的值是什么的概率是已知的,假设xk,可能取三个值 1 2 3,在xk10 时,xk等于1,2,3的概率是确定的,但是实际我们是不知道的,但是我们可以先假设已知,然后用别的方法,比如采样方法估计出来。既然左侧的一堆事件之间是有联系的,那么可以简化一下,顺序得理一理,x1 只和 x0 z1由关,所有p(x1,x0,z1)=p(x1|x0)p(z1|x1),在这个模型中,联合概率分布是计算不出的,但是转换概率x0>x1,和观测概率x1>z1 可以估计出来,所以就采样这种形式化简。


下面说下statistical inversion 翻译出来叫数学反演,我的理解是,虽然xk 决定了 zk 即真实的状态决定我们的观测(至于观测的为何不一定就是真实的状态,那就是因为测量误差,实际整个系统都是因为存在测量误擦好,以及如何减小误差对我们认识真正状态的影响进行的),但是我们在观测到一个东西的时候,可以反过来猜测真正的状态,这个概念是用来说明p(xk|zk)的意义。实际我们想得到的是

p(x0:k|y1:k)=p(y1:k|x0:k)p(x0:k)p(y1:k)(4)
即我们现在观测到一系列现象,然后我们反过来推测,真实的状态是什么,这里会用到MAP(Maximum a posterior),其实就是,遍历x0:k,计算(4)的概率,哪个值最大,就认为那个是我们猜的结果。但是x是一个序列里的一个值,我们实际是想每观测一个值,就猜测当下的状态,这样计算就比较简单,而且具有实效性。
贝叶斯滤波器对于当前状态的估计分两步。

1.
使用之前的观测序列 预测当前的状态,即p(xk|z1:k1) 因为xkxk1关系密切,我们可以用之前的观测对xk1求积分,来得到,也方便进行迭代,

p(xk|z1:k1)=p(xk|xk1)p(xk1|z1:k1)dxk1(5)

2.使用现在的观测,反演现在的状态,
p(xk|zk)p(zk|xk)p(xk)(6)
因为真实状态被噪声干扰了,或者看(这是观测,测量)的东西本身就不是真实的(这个太多了,你以为你看到的就是真的吗,谎言,欺骗,吹牛到处都是)。

综合预测方程,和观测方程这两个维度对现在的状态进行估计,得到的结果是:

p(xk|z1:k)=p(zk|xk)p(xk|z1:k1)p(zk|z1:k1)(7)
方程7看起来好像跟贝叶斯公式不太一样,其实这个是贝叶斯滤波器里面的更新模型,应该是和p(z1:k|xk)p(xk)p(z1:K)等价的。之所以形式不一样,是因为想通过迭代的方式得到现在的状态,这样通过方程6,7得到8的结果,然后可以不断的进行迭代就能得到每个时刻真实状态的分布。

0 0
原创粉丝点击