1. 概念

考慮某個

未知的分佈 p(x)

,假定用一個

近似的分佈

q(x)

對它進行建模。如果我們使用 q(x) 來建立一個編碼體系,用來把 x 的值傳給接收者,那麼由於我們使用了q(x)而不是真實分佈p(x),平均編碼長度比用真實分佈p(x)進行編碼增加的資訊量(單位是 nat )為:

\begin{aligned} KL (p || q) &= - \int p(x) \ln q(x) d x - (-\int p(x) \ln p(x) dx) \\ &= - \int p(x) \ln [\frac{q(x)}{p(x)}] dx \end{aligned}

(1)

這被稱為分佈p(x)和分佈q(x)之間的

相對熵(relative entropy)或者KL散 度( Kullback-Leibler divergence )

也就是說,當我們知道真實的機率分佈之後,可以給出最有效的編碼。如果我們使用了不同於真實分佈的機率分佈,那麼我們一定會損失編碼效率,並且在傳輸時增加的平均額外資訊量至少等於兩個分佈之間的KL散度。

注意,

這不是一個對稱量

,即

KL (p || q) \neq KL (q || p)

2. 為什麼KL散度大於等於0

現在要證明的是KL散度滿足

KL (p || q) \geq 0

,並且當且僅當 p(x) = q(x) 時等號成立。

設實直線上的函式f(x) 是一個非負函式,且:

{\displaystyle \int _{-\infty }^{\infty }f(x)\,dx=1.}

如果 g 是任意實可測函式且函式

{\textstyle \varphi }

是凸的,

那麼有Jensen不等式如下

{\displaystyle \varphi \left(\int _{-\infty }^{\infty }g(x)f(x)\,dx\right)\leq \int _{-\infty }^{\infty }\varphi (g(x))f(x)\,dx.} \tag{2}

注意到,-ln x 是嚴格的凸函式且

\displaystyle \int q(x) dx = 1

\varphi(x)=-\ln(x)

g(x)=\frac {q(x)} {p(x)}

, f(x)=p(x)

把公式(2)形式的 Jensen 不等式應用於公式(1)給出的 KL散度,直接可得

KL (p || q) = \int p(x) \{-\ln [\frac{q(x)}{p(x)}]\} d x \geq - \ln [\int q(x) dx] = 0

(3)

只有 q(x) = p(x) 對於所有 x 都成立時,等號才成立,

因此我們可以把 KL 散度看做兩個分佈 p(x) 和 q(x)之間不相似程度的度量。

3. 最小化 Kullback-Leibler 散度等價於最大化似然函式

假設我們想要對未知分佈p(x) 建模,可以試著使用一些引數分佈

q(x|\theta)

來近似p(x)。

q(x|\theta)

由可調節的引數

\theta

控制(例如一個多元高斯分佈)。

透過最小化 p(x) 和

q(x|\theta)

之間關於

\theta

的 KL散度可以確定

\theta

但是因為不知道 p(x),所以不能直接這麼做

如果已經觀察到了服從分佈 p(x) 的有限數量的訓練點集

\{x_n\}

,其中

n = 1,\dots, N

,那麼關於 p(x) 的期望就可以透過這些點的有限加和,使用公式

\displaystyle E(f) \simeq \frac{1}{N} \sum_{N=1}^N f(x_n)

來近似,即:

KL (p || q) \simeq \frac{1}{N}\sum_{n=1}^N[-\ln q( x_n \mid \theta)+ \ln p( x_n)]

(4)

公式(4)右側的第二項與

\theta

無關,第一項是使用訓練集估計的分佈

q(x | \theta)

下的

\theta

的負對數似然函式。

因此最小化KL散度等價於最大化似然函式。

4. KL散度的測度論定義

如果

\mu

\nu

是 集合X上的測度,且

\mu \ll \nu

由Radon–Nikodym theorem,

\mu

\nu

的KL散度定義如下:

{\displaystyle D_{\text{KL}}(\mu \parallel \nu )=\int _{X}\log \left({\frac {d\mu }{d\nu }}\right)\;d\mu .}

參考資料:

[1] PRML