KL divergence, roughly speaking, is a measure of the distance between two probability distributions P and Q, and corresponds to the number of extra bits required to encode samples from P using an optimal code for Q. It is not truly a distance function, because it's not symmetric and it doesn't satisfy the triangle inequality. Despite this, it's widely used in information theory and probabilistic inference.
This concept has the prerequisites:
- Know the definition of KL divergence.
- Derive some basic properties:
- that it is nonnegative
- that the KL divergence between a distribution and itself is 0
- Show that it is not a true distance metric because
- it is not symmetric
- it doesn't satisfy the triangle inequality
Core resources (we're sorry, we haven't finished tracking down resources for this concept yet)
Supplemental resources (the following are optional, but you may find them useful)
→ Elements of Information Theory
A graduate level textbook on information theory.
- Section 2.3, "Relative entropy and mutual information," pages 19-20
- Section 2.6, "Jensen's inequality and its consequences," up to Theorem 2.6.3, pages 25-28
→ Pattern Recognition and Machine Learning
A textbook for a graduate machine learning course, with a focus on Bayesian methods.
Location: Section 1.6.1, "Relative entropy and mutual information," pages 55-58
→ Probabilistic Graphical Models: Principles and Techniques
A very comprehensive textbook for a graduate-level course on probabilistic AI.
Location: Section A.1.3.1, "Relative entropy," page 1139
- Variational Bayes is a class of approximate inference algorithms which try to minimize the KL divergence between distributions.
- KL divergence is a special case of more general families of divergences:locally approximated by the [Fisher information metric](fisher_information_metric) .
- Mutual information can be [defined](mutual_information_and_kl_divergence) in terms of KL divergence.
- 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