概率分布之間的相似度


我曾經講過如何度量兩個隨機變量之間的獨立性相關性,今天來講一下如何度量兩個概率分布之間的相似度。

在概率論中,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 divergence)是熵與交叉熵之差

$$D_{KL}(p||q)=H(p)-H(p,q)=\sum_xp(x)logq(x)-\sum_xp(x)logp(x)$$

當p和q這兩個分布完全吻合時,KL散度(或者叫KL距離)為0。當p和q沒有交集時,其KL散度是一個常數,這個時候KL散度就反映不了距離了。

交叉熵不具有對稱性,所以KL散度也不具有對稱性,即$D_{KL}(p||q) \ne D_{KL}(q||p)$,KL散度不滿足三角不等式

為了找到一種具有對稱性的距離度量方式,人們發明了Jensen–Shannon divergence

$$D_{JS}(p||q)=\frac{1}{2}D_{KL}(p||\frac{p+q}{2})+\frac{1}{2}D_{KL}(q||\frac{p+q}{2})$$

Hellinger distance

對於連續分布

$$D_H(p||q)=\frac{1}{\sqrt{2}}\sqrt{\int\left(\sqrt{p(x)}-\sqrt{q(x)}\right)^2dx}$$

對於離散分布

$$D_H(p||q)=\frac{1}{\sqrt{2}}\sqrt{\sum_x\left(\sqrt{p(x)}-\sqrt{q(x)}\right)^2}$$

上式可以被看作兩個離散概率分布平方根向量的歐式距離

$$D_H(p||q)=\frac{1}{\sqrt{2}}\parallel\sqrt{p(x)}-\sqrt{q(x)}\parallel_2$$

只有在如下情況時Hellinger距離才會取得最大值1:

$$p(x_i)*q(x_i)=0且p(x_i) \ne q(x_i)$$

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM