こんにちは、アラです。
最近色々機械学習関係について趣味で調べているのですが、
本とかを読んでいるとよく、ベイズ推定という物がでてきます。
ベイズの定理はとても強力で、すごいということがだんだん
分かってきました。
また、別件で色々デジタルフィルタについて調べているときに
たまたまカルマンフィルタについて調べたのですが、
カルマンフィルタにも、ベイズの定理が使われると知って
興味をもって詳しく理解しようと思ってずっとしらべていました。
折角なので、忘れないように、備忘録として( ..)φメモメモしておこうと
思います。
■カルマンフィルタの特徴
カルマンフィルタの一番の特徴は、
逐次的に、推定値を算出できるところだと思います。
ノイズの入ったデータを後でポスト処理してノイズを取り除いた
平滑データを得るとかとは、対極にあります。
リアルタイムに誤差の入ってくる系に対して
リアルタイムにより確かな推定値を得れるそれが特徴です。
■どういう時に使えるか。
ノイズが正規分布でそれぞれが独立と過程
また線形で表せる系でないと使えない。
非線形のものに対しては、拡張カルマンフィルタとか
UKF(無香カルマンフィルタ)とか使うらしいですが
まだ理解できていないので、もし理解できたらまた記事を書くかも
しれません。
■何がむずかしいか
式展開が複雑なので、とっつきにくい。
考え方が難しい。
ベイズの定理とか確率的な話がはいってくるのも
理解を妨げているのかもしれない。
■参考になるサイト
https://logics-of-blue.com/kalman-filter-concept/ まあまあ
https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%AB%E3%83%9E%E3%83%B3%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%BC ウィキペディアこれもまあまあ
https://qiita.com/IshitaTakeshi/items/740ac7e9b549eee4cc04 とっつきやすくてわかりやすい
https://qiita.com/MoriKen/items/da8d290dcefad81b478d これもよい
http://www1.accsnet.ne.jp/~aml00731/kalman.pdf
つまりカルマンフィルタは、
予測モデル(状態方程式っぽいやつ)を使って次の時刻の値を予測する(事前分布)
さらに、その事前分布が分かっているときにさらに、観測値(観測誤差あり)の値を得た際の確率(ベイズの定理を使う)
から事後分布を出している。
その事後分布と予測モデルから次の時間ステップの予測をする(次の時刻の事前分布)
それを繰り返す。
つまり逐次的に、ベイズ推定をしているっぽい。
なぜ、カルマンフィルタが事前分布と観測値の内分になるのかよくわからないが、
ベイズの定理をごりごり計算していくと、そういう式になるのかなと思いました。
http://cookie-box.hatenablog.com/entry/2018/05/14/084835 これが式変形が丁寧だと思いました。なんか難しいことかいてありますが、
間違っているところがあれば連絡くだされば幸いです。
宜しくお願いします。