KL散度、JS散度、Wasserstein距離

1. KL散度

KL散度又稱爲相對熵,信息散度,信息增益。KL散度是是兩個機率分佈 $P$ 和 $Q$  之間差異的非對稱性的度量。 KL散度是用來 度量使用基於 $Q$ 的編碼來編碼來自 $P$ 的樣本平均所需的額外的位元數。 典型狀況下,$P$ 表示數據的真實分佈,$Q$ 表示數據的理論分佈,模型分佈,或 $P$ 的近似分佈。 html

定義以下:git

由於對數函數是凸函數,因此KL散度的值爲非負數。github

有時會將KL散度稱爲KL距離,但它並不知足距離的性質:算法

  1. KL散度不是對稱的,即 $D_{KL} (P||Q) \neq D_{KL} (Q||P)$;
  2. KL散度不知足三角不等式。

2. JS散度(Jensen-Shannon)

JS散度度量了兩個機率分佈的類似度,基於KL散度的變體,解決了KL散度非對稱的問題。通常地,JS散度是對稱的,其取值是 $0$ 到 $1$ 之間。定義以下:markdown

KL散度和JS散度度量的時候有一個問題:函數

若是兩個分配 $P, Q$ 離得很遠,徹底沒有重疊的時候,那麼KL散度值是沒有意義的,而JS散度值是一個常數。這在學習算法中是比較致命的,這就意味這這一點的梯度爲 $0$。梯度消失了。學習

3. Wasserstein距離

Wasserstein距離度量兩個機率分佈之間的距離,定義以下:編碼

  $\Pi (P_1, P_2)$ 是 $P_1$ 和 $P_2$ 分佈組合起來的全部可能的聯合分佈的集合。對於每個可能的聯合分佈 $\gamma$,能夠從中採樣 $(x,y)∼ \gamma$ 獲得一個樣本 $x$ 和 $y$,並計算出這對樣本的距離 $||x−y||$,因此能夠計算該聯合分佈 $\gamma$ 下,樣本對距離的指望值 $E _{(x, y) ∼ \gamma}[||x−y||]$。在全部可能的聯合分佈中可以對這個指望值取到的下界 $\inf_{\gamma ∼ \Pi(P_1, P_2)} E _{(x, y) ∼ \gamma}[||x−y||]$ 就是Wasserstein距離。 spa

  直觀上能夠把 $E _{(x, y) ∼ \gamma}[||x−y||]$ 理解爲在 $\gamma$ 這個路徑規劃下把土堆 $P_1$ 挪到土堆 $P_2$ 所須要的消耗。而Wasserstein距離就是在最優路徑規劃下的最小消耗。因此Wesserstein距離又叫Earth-Mover距離。htm

  Wessertein距離相比KL散度和JS散度的優點在於:即便兩個分佈的支撐集沒有重疊或者重疊很是少,仍然能反映兩個分佈的遠近。而JS散度在此狀況下是常量,KL散度可能無心義。

 

轉載自:KL散度、JS散度、Wasserstein距離

相關文章
相關標籤/搜索