ロボット工学において ベイズフィルタは、コンピュータサイエンスにおいて、 ロボットが 自身の位置と向きを推測できるように、複数の信念の確率を計算するために使用されるアルゴリズムです。基本的に、ベイズフィルタは、ロボットが最近取得したセンサーデータに基づいて、座標系内で最も可能性の高い位置を継続的に更新できるようにします。これは再帰的なアルゴリズムであり、予測とイノベーションの2つの部分から構成されます。変数が正規分布し 、遷移が線形である場合、ベイズフィルタはカルマンフィルタ と等しくなります。
簡単な例として、グリッド内を移動するロボットは、周囲の情報を提供する複数の異なるセンサーを備えている場合があります。ロボットは、最初は位置(0,0)にいると確信しているかもしれません。しかし、元の位置から遠ざかるにつれて、ロボットの位置に関する確信度は徐々に低下していきます。ベイズフィルターを使用すると、ロボットの現在の位置に関する確信度に確率を割り当てることができ、その確率は追加のセンサー情報に基づいて継続的に更新されます。
モデル 測定値z {\displaystyle z} これらは隠れマルコフモデル (HMM)の現れで あり、真の状態はx {\displaystyle x} これは、観測不可能なマルコフ過程 であると仮定されます。以下の図は、HMMのベイジアンネットワークを示しています。
隠れマルコフモデル マルコフ仮定により、直前の状態が与えられた場合の現在の真の状態の確率は、それ以前の他の状態とは条件付きで独立している。
p ( x k | x k − 1 、 x k − 2 、 … 、 x 0 ) = p ( x k | x k − 1 ) {\displaystyle p({\textbf {x}}_{k}|{\textbf {x}}_{k-1},{\textbf {x}}_{k-2},\dots ,{\textbf {x}}_{0})=p({\textbf {x}}_{k}|{\textbf {x}}_{k-1})} 同様に、 k 番目のタイムステップでの測定値は現在の状態のみに依存するため、現在の状態が与えられた場合、他のすべての状態とは条件付きで独立している。
p ( z k | x k 、 x k − 1 、 … 、 x 0 ) = p ( z k | x k ) {\displaystyle p({\textbf {z}}_{k}|{\textbf {x}}_{k},{\textbf {x}}_{k-1},\dots ,{\textbf {x}}_{0})=p({\textbf {z}}_{k}|{\textbf {x}}_{k})} これらの仮定を用いると、HMMのすべての状態における確率分布は次のように簡単に記述できる。
p ( x 0 、 … 、 x k 、 z 1 、 … 、 z k ) = p ( x 0 ) ∏ 私 = 1 k p ( z 私 | x 私 ) p ( x 私 | x 私 − 1 ) 。 {\displaystyle p({\textbf {x}}_{0},\dots ,{\textbf {x}}_{k},{\textbf {z}}_{1},\dots ,{\textbf {z}}_{k})=p({\textbf {x}}_{0})\prod _{i=1}^{k}p({\textbf {z}}_{i}|{\textbf {x}}_{i})p({\textbf {x}}_{i}|{\textbf {x}}_{i-1}).} しかし、カルマンフィルターを用いて状態x を推定する場合、対象となる確率分布は、現在のタイムステップまでの測定値に基づいて条件付けられた現在の状態に関連付けられます。(これは、以前の状態を周辺化し、測定値セットの確率で割ることによって実現されます。)
これにより、カルマンフィルタの予測 ステップと更新ステップが確率的に記述される。予測された状態に関連付けられた確率分布は、( k -1)番目のタイムステップからk 番目のタイムステップへの遷移に関連付けられた確率分布と、前の状態に関連付けられた確率分布の積の合計(積分)であり、これはすべての可能な状態について計算される。x k − 1 {\displaystyle x_{k-1}} 。
p ( x k | z 1 : k − 1 ) = ∫ p ( x k | x k − 1 ) p ( x k − 1 | z 1 : k − 1 ) d x k − 1 {\displaystyle p({\textbf {x}}_{k}|{\textbf {z}}_{1:k-1})=\int p({\textbf {x}}_{k}|{\textbf {x}}_{k-1})p({\textbf {x}}_{k-1}|{\textbf {z}}_{1:k-1})\,d{\textbf {x}}_{k-1}} 更新の確率分布は、測定尤度と予測状態の積に比例する。
p ( x k | z 1 : k ) = p ( z k | x k ) p ( x k | z 1 : k − 1 ) p ( z k | z 1 : k − 1 ) ∝ p ( z k | x k ) p ( x k | z 1 : k − 1 ) {\displaystyle p({\textbf {x}}_{k}|{\textbf {z}}_{1:k})={\frac {p({\textbf {z}}_{k}|{\textbf {x}}_{k})p({\textbf {x}}_{k}|{\textbf {z}}_{1:k-1})}{p({\textbf {z}}_{k}|{\textbf {z}}_{1:k-1})}}\propto p({\textbf {z}}_{k}|{\textbf {x}}_{k})p({\textbf {x}}_{k}|{\textbf {z}}_{1:k-1})} 分母
p ( z k | z 1 : k − 1 ) = ∫ p ( z k | x k ) p ( x k | z 1 : k − 1 ) d x k {\displaystyle p({\textbf {z}}_{k}|{\textbf {z}}_{1:k-1})=\int p({\textbf {z}}_{k}|{\textbf {x}}_{k})p({\textbf {x}}_{k}|{\textbf {z}}_{1:k-1})d{\textbf {x}}_{k}} は、x {\displaystyle x} なので、係数の代わりにいつでも代入できますα {\displaystyle \alpha } これは実際には通常無視できる。分子は計算して正規化すればよく、その積分値は必ず1になる。
逐次ベイズフィルタリング 逐次ベイズフィルタリングは、観測値が時間とともに変化する場合にベイズ推定を拡張したものです。これは、時間とともに変化する観測変数の真の値を推定するための手法です。
いくつかのバリエーションがあります。
フィルタリング 過去および現在の観測値に基づいて現在の 値を推定する場合、 平滑化 過去と現在の観測値に基づいて過去の 値を推定する場合、予測 過去および現在の観測値に基づいて、将来の 可能性のある値を推定する場合。 逐次ベイズフィルタリングの概念は、制御工学 やロボット工学 において広く用いられている。
さらに読む Arulampalam, M. Sanjeev; Maskell, Simon; Gordon, Neil (2002). "オンライン非線形/非ガウス型ベイズ追跡のためのパーティクルフィルタに関するチュートリアル". IEEE Transactions on Signal Processing . 50 (2): 174–188 . Bibcode : 2002ITSP ...50..174A . CiteSeerX 10.1.1.117.1144 . doi : 10.1109/78.978374 . Burkhart, Michael C. (2019). 「第 1 章 ベイズフィルタリングの概要」。人間の 神経デコーディングへの応用を伴うベイズフィルタリングへの識別的アプローチ 。米国ロードアイランド州プロビデンス:ブラウン大学。doi : 10.26300/nhfp-xv22。 Chen, Zhe Sage (2003). 「ベイズフィルタリング:カルマンフィルタからパーティクルフィルタ、そしてその先へ」。Statistics : A Journal of Theoretical and Applied Statistics . 182 (1): 1–69 . Diard, Julien; Bessière, Pierre; Mazer, Emmanuel (2003). 「ベイズプログラミング手法を統一的な枠組みとして用いた確率モデルの概観」(PDF) . cogprints.org. サーッカ、シモ (2013)。ベイジアン フィルタリングと平滑化 (PDF) 。ケンブリッジ大学出版局。 Volkov, Alexander (2015). "NLOS環境における非ガウス型ベイズ追跡の精度限界". Signal Processing . 108 : 498–508 . Bibcode : 2015SigPr.108..498V . doi : 10.1016/j.sigpro.2014.10.025 .