PRML2-KL散度&互信息


KL散度&互信息

KL散度(KL divergence)

假設我們是一組正在廣袤無垠的太空中進行研究的科學家。我們發現了一些太空蠕蟲,這些太空蠕蟲的牙齒數量各不相同。現在我們需要將這些信息發回地球。但從太空向地球發送信息的成本很高,所以我們需要用盡量少的數據表達這些信息。我們有個好方法:我們不發送單個數值,而是繪制一張圖表,其中 X 軸表示所觀察到的不同牙齒數量(0,1,2…),Y 軸是看到的太空蠕蟲具有 x 顆牙齒的概率(即具有 x 顆牙齒的蠕蟲數量/蠕蟲總數量)。這樣,我們就將觀察結果轉換成了分布。

發送分布比發送每只蠕蟲的信息更高效。但我們還能進一步壓縮數據大小。我們可以用一個已知的分布來表示這個分布(比如均勻分布、二項分布、正態分布)。舉個例子,假如我們用均勻分布來表示真實分布,我們只需要發送兩段數據就能恢復真實數據;均勻概率和蠕蟲數量。但我們怎樣才能知道哪種分布能更好地解釋真實分布呢?這就是 KL 散度的用武之地。

直觀解釋:KL 散度是一種衡量兩個分布(比如兩條線)之間的匹配程度的方法。

對於某個未知的分布\(p(x)\),我們用\(q(x)\)進行建模並且傳遞信息,為了衡量這兩個分布是否匹配,我們用附加信息量的期望表示。附加信息量在這里結尾處有介紹

\[\begin{align} KL(p||q)&= -\int p(x)\ln q(x)\, dx-\left (-\int p(x)\ln p(x)\,dx\right)\nonumber \\ &= -\int p(x)\ln \left(\frac{q(x)}{p(x)}\right)\nonumber \end{align} \]

KL散度又稱相對熵,表示用\(q(x)\)去表示\(p(x)\)時需要的附加信息量。

KL散度的性質

KL散度不是一個對稱量,即:\(KL(p||q) \neq KL(q||p)\)

並且\(KL(p||q) \geq 0\),並且只在兩個分布相同時值可以取0。證明:

對於凸函數\(f(x)\),有Jensen不等式:

\[f(\sum_{i=1}^M\lambda_i x_i) \leq \sum_{i=1}^M\lambda_if(x_i), \mathrm{ s.t.}\lambda_i \geq 0\, and \sum_i\lambda_i =1 \]

若把\(\lambda_i\)看作取值\(x_i\)的概率,那么我們可以寫成:

\[f(E(x)) \leq E(f(x)) \]

對於連續變量:

\[f\left(\int xp(x)\, dx\right)\leq \int f(x)p(x)\,dx \]

延伸一下:

\[f(E[\xi(x)]) \leq E[f(\xi(x))] \]

那么由於\(-\ln x\)是凸函數,\(\xi(x)=\frac{q(x)}{p(x)}\)

\[\begin{align} KL&=-\int p(x)\ln \left(\frac{q(x)}{p(x)}\right)\nonumber \\ & \geq -\ln \left( \int \xi(x) p(x)\,dx \right)\nonumber \\ &=-\ln \left( \int q(x)\,dx \right) = 0\nonumber \end{align} \]

並且由於\(-\ln x\)是嚴格凸函數,只有在\(q(x)=p(x)\)時等號成立。

數據壓縮和密度估計有某種隱含的關系。對於某一分布\(p(x)\),如果我們知道真實的分布,那么我們可以給出最有效率的數據壓縮並進行傳輸。若我們使用了其他的分布進行信息傳輸,那么一定會損失編碼效率,傳輸效率降低,並且要額外傳輸的信息量至少為兩者之間的KL散度。

在實際訓練中,我們並不能得知真實的分布,所以只能用有限的數據加和得到其期望,此時KL散度近似為:

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

公式右側第二項與\(\theta\)無關,第一項為其負對數似然函數。由此可見最小化KL散度就是最大化似然函數。

互信息(mutual information)

對於\(p(x,y)\),給出兩個變量組成的數據集。若兩變量相互獨立,那么\(p(x,y)=p(x)p(y)\)。若兩變量不獨立,那么我們要考察聯合概率分布和邊緣概率分布的KL散度,以判斷兩者是否接近獨立。

我們稱之為互信息:

\[\begin{align} I(x,y) &= KL[p(x,y)||p(x)p(y)] \nonumber \\ &= -\iint p(x,y)\ln\frac{p(x)p(y)}{p(x,y)}\,dx\,dy \geq 0 \nonumber \end{align} \]

當兩分布互相獨立時等號成立。

根據條件熵的公式:

\[H(y|x) = -\iint p(x,y)\ln p(y|x)\,dy\,dx \]

可以得到:

\[I(x,y)=H(x)-H(x|y) \]

即:互信息可以表示知道\(y\)后,\(x\)的不確定行的減小程度。也可以理解成為了表示\(x\),如果我們已經傳輸了\(y\),那么我們已經傳輸的信息量為\(I(x,y)\)

參考

直觀解讀KL散度的數學概念

PRML書中公式(1.118)KL散度恆大於等於 0的推導


免責聲明!

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



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