虽然很早就学过贝叶斯,对贝叶斯公式记得也很熟,但是最近看论文的时候,里面提到贝叶斯滤波器,里面的专业名词还是不明白,还有一直说的,先验概率和后验概率的真实意义也说不明白。
下面就一个常用的例子说明一下,以检查病情为例,x 表示有没有某种病,z表示仪器测出来的数据。
x其实是不知道的,就像看不见到隐参数,叫 true state,z是可见的参数,或者叫观测observed states。一个医院可以将得病的人的检测参数 z 做一个统计,得到病人的参数分布,即
p(z|x)
,人群中得这种病的比例也可以大致估计出 就是
p(x)
.那么一个人的测试数据为z,那么他得病的概率就正比于得病的人出现这个测试数据的概率和人群得这种病的概率,公式化就是
之所以叫 p(x|z) 为后验概率,我想是因为x这个 state到底是什么,是在当下不知道的,可能过一段时间才可以观察到,比如一个人的病情早期看不出来,过一段时间如果有病,就会严重暴露出来,如果没有病就没事了,这个状态可以通过之后的观察发现。在当下是看不见,观察不到的。这样说就和隐马尔可夫模型结合起来了。
还有个问题,就是 p(x|z) 这个概率是测不出来的,因为x这个state在’现在‘是观察不到的,等到观察到,可能病情已经发展的严重,或者在别的问题下,x这个状态的意义已经没有了。所以不能直接测这个概率,最根本的问题还不是好不好测的问题,而是测出来也失去意义了。
这个博客里讲的比较全面
下面说说贝叶斯滤波器(Bayesian filter),下面的图说明了HMM(隐马尔可夫模型):
上面的例子中,x就是隐状态,测不到,而z就是y是可测的数据,首先要明确,是x决定了
z(y)
,
而且yk 只和 xk有关,xk只和之前的状态xk-1有关,这是HMM的基本假设。用公式表示就是
表示 xk 只和 xk−1 有关
表示 zk 只和 xk 有关
下面说下statistical inversion 翻译出来叫数学反演,我的理解是,虽然 xk 决定了 zk 即真实的状态决定我们的观测(至于观测的为何不一定就是真实的状态,那就是因为测量误差,实际整个系统都是因为存在测量误擦好,以及如何减小误差对我们认识真正状态的影响进行的),但是我们在观测到一个东西的时候,可以反过来猜测真正的状态,这个概念是用来说明 p(xk|zk) 的意义。实际我们想得到的是
贝叶斯滤波器对于当前状态的估计分两步。
1.
使用之前的观测序列 预测当前的状态,即
p(xk|z1:k−1)
因为
xk
和
xk−1
关系密切,我们可以用之前的观测对
xk−1
求积分,来得到,也方便进行迭代,
2.使用现在的观测,反演现在的状态,
综合预测方程,和观测方程这两个维度对现在的状态进行估计,得到的结果是: