我曾经讲过如何度量两个随机变量之间的独立性和相关性,今天来讲一下如何度量两个概率分布之间的相似度。
在概率论中,f散度用来度量两个概率分布$P$和$Q$之间的距离,距离函数具有如下形式:
\begin{equation}D_f(P||Q) \equiv \int_{\Omega}f\left(\frac{dP}{dQ}\right)dQ\label{f}\end{equation}
f散度是一类算法的统称,并不是一个具体的算法,因为(\ref{f})式中并没有具体指定f是什么函数。当指定了f函数后,就得到具体的f散度算法,今天我们就讲其中的两种:Kullback–Leibler divergence和Hellinger distance。
Kullback–Leibler divergence
概率分布p的熵为
$$H(p)=-\sum_xp(x)logp(x)$$
随机变量x服从的概率分布p(x)往往是不知道的,我们用q(x)来近似逼迫p(x),q到p的交叉熵定义为
$$H(p,q)=E_p[-logq]=-\sum_xp(x)logq(x)$$
KL散度(Kullback–Leibler dive