KL 散度
Kullback–Leibler 散度(Kullback–Leibler divergence,简称 KL 散度)是衡量两个分布之间相似性的一种指标。
定义
对于两个离散型分布(概率质量函数) p(x) 和 q(x),其 KL 散度为:
D_{\text{KL}}(p \parallel q) = \sum_{x_i} p(x_i) \log \frac{p(x_i)}{q(x_i)}.
对于两个连续型分布(概率密度函数) p(x) 和 q(x),其 KL 散度为:
D_{\text{KL}}(p \parallel q) = \int_{- \infty}^{+\infty} p(x) \log \frac{p(x)}{q(x)} \mathrm{d} x.
设随机变量 X 服从分布 p(x),则离散型和连续型的 KL 散度也可以写为:
D_{\text{KL}}(p \parallel q) = \mathbb{E} \left( \log \frac{p(X)}{q(X)} \right).
统计学与机器学习
极大似然估计
(链接未公开) 与 KL 散度也有联系。假设我们已经有一组观测数据 \mathcal{X} = (x_1, \dots, x_n),我们可以利用它构造一个经验分布函数:
F(x) = \begin{cases}
\frac{1}{n} \cdot \# \{x_i \in \mathcal{X}:x_i = x\}, & x \in \mathcal{X}; \\
0, & x \notin \mathcal{X}. \\
\end{cases}
其对应的密度函数为
p(x) = \sum_{i = 1}^n \delta(x - x_i).
那么,在参数分布族 q_{\theta} 中,寻找与这组观测数据最接近的分布,就是最小化 KL 散度:
D_{\text{KL}}(p \parallel q_{\theta}) = \mathbb{E} \left( \log \frac{p(X)}{q_{\theta}(X)} \right).
概率生成模型
在机器学习中,KL 散度通常可以用于衡量分布拟合的效果:设 p(x) 是数据的真实分布(未知),而 q_\theta(x) 是模型产生的近似分布,则机器学习的目标就是调节参数 \theta 从而最小化 KL 散度 D_{\text{KL}}(p(x) || q_{\theta}(x))。
从机器学习的角度看,数据的真实分布 p(x) 往往是确定的(尽管未知), 因此最小化 KL 散度等价于最小化 -\mathbb{E}[\log q_\theta(x)]。
许多概率生成模型应用了 KL 散度,例如:
- (链接未公开)
- (链接未公开)
BEYOND THE ARTICLE
读完了,有什么想法?
阅读已保存的问答示例,并循着引用回到原文。
— 本文完 — 返回文章列表