1. 概念
考慮某個
未知的分佈 p(x)
,假定用一個
近似的分佈
q(x)
對它進行建模。如果我們使用 q(x) 來建立一個編碼體系,用來把 x 的值傳給接收者,那麼由於我們使用了q(x)而不是真實分佈p(x),平均編碼長度比用真實分佈p(x)進行編碼增加的資訊量(單位是 nat )為:
(1)
這被稱為分佈p(x)和分佈q(x)之間的
相對熵(relative entropy)或者KL散 度( Kullback-Leibler divergence )
。
也就是說,當我們知道真實的機率分佈之後,可以給出最有效的編碼。如果我們使用了不同於真實分佈的機率分佈,那麼我們一定會損失編碼效率,並且在傳輸時增加的平均額外資訊量至少等於兩個分佈之間的KL散度。
注意,
這不是一個對稱量
,即
。
2. 為什麼KL散度大於等於0
現在要證明的是KL散度滿足
,並且當且僅當 p(x) = q(x) 時等號成立。
設實直線上的函式f(x) 是一個非負函式,且:
如果 g 是任意實可測函式且函式
是凸的,
那麼有Jensen不等式如下
:
注意到,-ln x 是嚴格的凸函式且
。
令
,
, f(x)=p(x)
把公式(2)形式的 Jensen 不等式應用於公式(1)給出的 KL散度,直接可得
(3)
只有 q(x) = p(x) 對於所有 x 都成立時,等號才成立,
因此我們可以把 KL 散度看做兩個分佈 p(x) 和 q(x)之間不相似程度的度量。
3. 最小化 Kullback-Leibler 散度等價於最大化似然函式
假設我們想要對未知分佈p(x) 建模,可以試著使用一些引數分佈
來近似p(x)。
由可調節的引數
控制(例如一個多元高斯分佈)。
透過最小化 p(x) 和
之間關於
的 KL散度可以確定
。
但是因為不知道 p(x),所以不能直接這麼做
。
如果已經觀察到了服從分佈 p(x) 的有限數量的訓練點集
,其中
,那麼關於 p(x) 的期望就可以透過這些點的有限加和,使用公式
來近似,即:
(4)
公式(4)右側的第二項與
無關,第一項是使用訓練集估計的分佈
下的
的負對數似然函式。
因此最小化KL散度等價於最大化似然函式。
4. KL散度的測度論定義
如果
和
是 集合X上的測度,且
由Radon–Nikodym theorem,
和
的KL散度定義如下:
參考資料:
[1] PRML