贝叶斯滤波
1. 概率基础回顾
条件概率:
p ( x ∣ y ) = p ( x , y ) / p ( y ) p ( x , y ) = p ( x ∣ y ) p ( y ) = p ( y ∣ x ) p ( x ) p(x|y)=p(x,y)/p(y) \\ \ \\ p(x,y)=p(x|y)p(y)=p(y|x)p(x) p(x∣y)=p(x,y)/p(y) p(x,y)=p(x∣y)p(y)=p(y∣x)p(x)
全概率公式:
p ( x ) = ∑ y p ( x , y ) = ∑ y p ( x ∣ y ) p ( y ) p(x) = \sum\limits_y {p(x,y)}=\sum\limits_y {p(x|y)p(y)} p(x)=y∑p(x,y)=y∑p(x∣y)p(y)
全概率公式的意义在于,当某一事件的概率难以求得时,可转化为在一系列条件下发生概率的和。
2. 贝叶斯公式
2.1 贝叶斯公式
基于条件概率公式和全概率公式,我们可以导出贝叶斯公式:
$$
\begin{array}{c} P(x,y) = P(x|y)P(y) = P(y|x)P(x)\
\Rightarrow \
\end{array}
$$
P ( x ∣ y ) = P ( y ∣ x ) P ( x ) P ( y ) = P ( y ∣ x ) P ( x ) ∑ y p ( x ∣ y ) p ( y ) P(x\,\left| {\,y} \right.) = \frac{ {P(y|x)\,\,P(x)}}{ {P(y)}} = \frac { {P(y|x)\,\,P(x)}} { { \sum\limits_y {p(x|y)p(y)} }} P(x∣y)=P(y)P(y∣x)P(x)=y∑p(x∣y)p(y)P(y∣x)P(x)
- 这里x是某种状态,y 是某种预观测。下面例子中 x 代表门开关,y 代表距离z
- 我们称P(y|x)为causal knowledge(因果知识),意即由x的已知情况,就可以推算y发生的概率,例如在图2的例子中,已知如果门开着,则z=0.5m的概率为0.6;如果门关着,则z=0.5m的的概率为0.3。
- P(x) 为prior knowledge,先验概率。可以设开关概率都是 0.5。
- P(x|y) 是基于观测对状态的诊断或推断。贝叶斯公式的本质就是利用causal knowledge和prior knowledge来进行状态推断或推理
2.2 贝叶斯公式的计算
可以把分母项看成归一化系数 η \eta η
P ( x ∣ y ) = P ( y ∣ x ) P ( x ) P ( y ) = η P ( y ∣ x ) P ( x ) η = P ( y ) − 1 = 1 ∑ x P ( y ∣ x ) P ( x ) \begin{array}{l} P(x\,\left| {\,y} \right.) = \frac{
{P(y|x)\,\,P(x)}}{
{P(y)}} = \eta \;P(y|x)\,P(x)\\ \eta = P{(y)^{ - 1}} = \frac{1}{
{\sum\limits_x {P(y|x)} P(x)}} \end{array} P(x∣y)=P(y)P(y∣x)P(x)=ηP(y∣x)P(x)η=P(y)−1=x∑P(y∣x)P(x)1
Algorithm:
∀ x : a u x x ∣ y = P ( y ∣ x ) P ( x ) η = 1 ∑ x a u x x ∣ y