(2.4 hours to learn)
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.
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)
→ 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)
→ Machine Learning: a Probabilistic Perspective
A very comprehensive graudate-level machine learning textbook.
Location: Section 18.3.1-126.96.36.199, pages 640-642
→ Probabilistic Robotics
Location: Section 3.2.2-3.2.3, pages 43-45
→ 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
- forward-backward algorithm
- 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.
- create concept: shift + click on graph
- change concept title: shift + click on existing concept
- link together concepts: shift + click drag from one concept to another
- remove concept from graph: click on concept then press delete/backspace
- add associated content to concept: click the small circle that appears on the node when hovering over it
- other actions: use the icons in the upper right corner to optimize the graph placement, preview the graph, or download a json representation