ssk tech blog

自律移動ロボットの話を書きます

『確率ロボティクス』の練習問題を解いてベイズの定理を理解する

目次

はじめに

ことの発端は自分のtwitterのタイムラインに流れてきた以下のtweetです.

これをきっかけに「自分もカルマンフィルタを使って色々してきたけど,よく考えるとあまり理解していない!カルマンフィルタを勉強し直そう!」と思いました.
カルマンフィルタはベイズフィルタの一種です.多分自身のベイズの理解が甘いと思うので,まずは確率ロボティクスの練習問題がrecursiveなベイズを理解する上で良問なので改めて解いてみました。
余談ですが初めてtex使ったんですけど、分からな過ぎて辛かったです

ベイズの定理

以下、ベイズについての軽い説明をします.

ベイズ確率とは

ベイズ確率の直感的理解には以下のスライドが詳しいです.
コインと男女の例など導入からわかりやすいです。
頻度主義と違ってベイズ主義は主観の信念の度合いを確率にしているものなのだとわかります。
5分でわかるベイズ確率

ベイズの定理

ある事象Xが起こるという条件で別の事象Yがおこる確率 P(Y|X)ベイズの定理より以下になります.
 P(Y|X)= \frac{P(X|Y) P(Y)}{P(X)}
ここで, P(Y)は事前確率, P(Y|X)は事後確率, P(X|Y)を尤度, P(X)は正規化定数(周辺尤度・エビデンスとも呼ばれる)と呼びます.
正規化定数は  P(X)=P(X|Y) P(Y) + P(X|\overline{Y}) P(\overline{Y})で表されます.
ベイズ更新は尤度を通して事前確率を事後確率に更新することです.

データの追加

上のベイズの定理にZが追加で与えられた場合,以下のようになります.
 P(Y|X,Z)= \frac{P(Z|X,Y) P(Y|X)}{P(Z|X)}
事前確率がZ追加前の事後確率になっているのがポイントです.

問題(2章8節の問1)

問題内容

以下の場合に,n回の計測が全て1[m]以下であるデータ列z_{1:n}(=(z_1 z_2 ... z_n))に対し,センサが壊れている確率 P(A|z_{1:n})を求め,n=1~10の時の値を計算する。

  1. あるロボットが0[m]から3[m]の範囲まで計測できる距離センサを装備している。
  2. 計測対象がロボットの前方0〜3[m]の間で一様ランダムに出現する。
  3. 壊れたセンサは常に実際の距離に関係なく1[m]未満の値を出力し続ける。
  4. センサが壊れている確率P(A)0.01(=p)だと知っている.

答案

ベイズの式より
 P(A|z_{1:n})= \frac{P(z_n|A,z_{1:n-1}) P(A|z_{1:n-1})}{P(z_n|z_{1:n-1})}
=  \frac{P(z_n|A,z_{1:n-1}) (1 \cdot P(A))}{P(z_n|z_{1:n-1})} (問題文3より,再帰的に求まる)
=  \frac{1 \cdot p}{P(z_n|z_{1:n-1})} (問題文4より)
=  \frac{p}{P(z_n|A,z_{1:n-1}) P(A|z_{1:n-1}) + P(z_n|\overline{A},z_{1:n-1}) P(\overline{A}|z_{1:n-1})}(正規化定数の変形)
=  \frac{p}{P(z_n|A,z_{1:n-1}) (1 \cdot P(A)) + P(z_n|\overline{A},z_{1:n-1}) (\frac{1}{3^{n-1}} \cdot P(\overline{A}))}(問題文2~3より,再帰的に求まる)
=  \frac{p}{1 \cdot p+ \cdot \frac{1}{3} \frac{1}{3^{n-1}} (1-p)} (問題文2~4より)
=  \frac{p}{p+  \frac{1}{3^{n}} (1-p)}

 P(A|z_{1:n})= \frac{p}{p+  \frac{1}{3^{n}} (1-p)}
p=0.01より

n 確率
1 1/34 =0.0294...
2 1/12 =0.0833...
3 3/14 =0.2143...
4 9/20 =0.4500...
5 27/38 =0.7105...
6 81/92 =0.8804...
7 243/254 =0.9567...
8 729/740 =0.9851...
9 2188/2198 =0.9950...
10 6561/6572=0.9983...

参考にした資料

関連記事

ssk0109.hatenablog.com