Kalman filter
(2.4 hours to learn)
Summary
The Kalman filter is an algorithm for inference in linear dynamical systems. Specifically, the task is to infer the posterior over the current latent state given past observations. It forms the basis for approximate inference algorithms in more general state space models.
Context
This concept has the prerequisites:
- linear dynamical systems (The Kalman filter is an inference algorithm for linear dynamical systems.)
- multivariate distributions (The Kalman filter is an algorithm for marginalization.)
- conditional distributions (The Kalman filter computes conditional distributions.)
- computations on multivariate Gaussians (Kalman filtering requires a lot of operations on multivariate Gaussians.)
Core resources (read/watch one of the following)
-Paid-
→ Artificial Intelligence: a Modern Approach
A textbook giving a broad overview of all of AI.
Location:
Sections 15.2, up to "Smoothing" (pages 541-544) and 15.4 (pages 551-558)
Supplemental resources (the following are optional, but you may find them useful)
-Paid-
→ Machine Learning: a Probabilistic Perspective
A very comprehensive graudate-level machine learning textbook.
Location:
Section 18.3.1-18.3.1.5, pages 640-642
→ Probabilistic Robotics
→ Pattern Recognition and Machine Learning
A textbook for a graduate machine learning course, with a focus on Bayesian methods.
Location:
Section 13.3.1, pages 638-641
Additional dependencies:
- forward-backward algorithm
See also
- Mathematical derivation of the Kalman filter
- The Kalman smoother can be used to infer the posterior marginals over the whole sequence, not just the current state.
- Kalman smoothing can be regarded as a speical case of the [forward-backward algorithm](forward_backward_algorithm) for HMMs.