数学を使わないカルマンフィルター
現実世界のあらゆるものを表す値を使用してプログラミングする場合は、おそらく少なくともカルマン フィルターについて聞いたことがあるでしょう。 フィルターを使用すると、複数の値の推定値を取得し、それらを処理してより適切な推定値を得ることができます。 たとえば、GPS、推測航法、光学システムを介して自分の位置を把握できるロボットがある場合、それらのすべての情報源に多少の誤差やノイズがある場合でも、カルマン フィルターを使用すると、実際の位置をより正確に推定できるようになります。 ご想像のとおり、多くの数学が含まれていますが、[Pravesh] はコードをベースにした優れた直観的な処理を備えており、一緒に操作できる Jupyter ノートブックも用意されています。
私たちは常に、数学よりもコードを追う方が簡単だったので、この種の投稿を称賛します。 数学をさらに深く掘り下げたい場合でも、最初に数学が何を意味するかについて基本的な直観を持っていると、数学がはるかに親しみやすくなります。
もちろん、最終的にはいくつかの数学が必要になりますが、欠けているものを示すためにそこに掲載されている「実際の」数学を示す Wikipedia のスクリーンショットを数えなければ、複雑なことは何もありません。 この例は、ランダムな風と潮汐の影響を受ける推測航法データと GPS 測定値を備えたボートです。これらのデータにも多少の誤差があり、現実世界と同様に利用できない場合があります。
もちろん、測定値の単純な平均は役に立ちますが、それによって適切な測定値が狂う可能性もあります。 カルマン手法では、ソースの重みを使用してこれを軽減し、信頼性の高いと思われるソースが、信頼性の低いソースよりも最終的な答えに大きく寄与するようにします。
ロボットの例がお好みであれば、ロボットの例もあります。 シンプルで、おそらく機能が低いものが必要な場合は、ノイズの多いデータをクリーンアップする他の方法があります。