信息熵,KL散度,交叉熵

# 信息熵,KL散度,交叉熵

> **寫在前面**

> KL散度只是作為距離度量的一種“不完美”的手段,其被提出的出發(fā)點不是為了距離度量

## 信息熵

信息熵是==系統(tǒng)信息含量的量化指標==。香農(nóng)描述了信息熵的三個性質(zhì):

1.? 單調(diào)性,且概率越高,信息量越低

2.? 非負性

3.? 累加性,即多隨機事件同時發(fā)生的總不確定性的度量應等于各事件自身不確定性度量之和

同時,信息熵也可以理解為系統(tǒng)所蘊含的信息量的期望,即系統(tǒng)中各事件的信息量與其發(fā)生概率乘積之和:

$$

H(X) =\sum_{x} p(x)I(x)

$$

上式中信息量$I(x)$如何計算成了關鍵。

根據(jù)`累加性`, $H(X)+H(Y) = H(X,Y)$, 這一點和$log()$的性質(zhì)一致,即$log(x)+log(y)=log(xy)$。由此可以假設$I(x)=Clog(x)$,因為`非負性`,$C=-1$。然后再驗證累加性是否成立:

$$

H(X,Y) = H(X) +H(Y) \tag1

$$

> 公式$(1)$是按照`累加性`理解寫出來的,但事實上是不成立的,原因看下面推導。

其中,

$$

\begin{aligned}

H(X,Y)

&=C\sum_{(x,y)}p(x,y)log(x,y)? \\

&=C\sum_{(x,y)} p(x,y)? log(p(x \mid y)p(y) ) \\

&=C\sum_{(x,y)} p(y \mid x)p(x)log(y \mid x) +C \sum_{(x,y)} p(x \mid y)p(y)logp(x) \\

&=C\sum_{x}p(x) \sum_{y}p(y \mid x)logp(y \mid x)? +C \sum_{y} p(y) \sum_{x} p(x \mid y) log p(x) \\

&=C\sum_{x} p(x)H(Y \mid x) +C \sum_{y} p(y) \sum_{x} \frac {p(y \mid x)p(x) }{p(y)}logp(x)\\

&=H(Y \mid X) + C\sum_{x}p(x)logp(x)\sum_{y} p(y \mid x)\\

&=H(Y \mid X) + H(X)\\ \tag2

\end{aligned}

$$

對立的,$H(X,Y)=H(X \mid Y) + H(Y)$

因此,

$$

H(X)+H(Y)=2H(X,Y) -H(Y \mid X)- H(X \mid Y) \tag3

$$

這與公式(1)矛盾,說明`累加性`并不能如此理解,如果是理解為信息量的累加,那確實是正確的。但這里明明說的是信息熵。

## 信息量

上面描述中已經(jīng)提到,為$I(x)=-log(x)$

## 聯(lián)合熵

上面的描述中$H(X,Y)$就是聯(lián)合熵:

$$

H(X, Y)=-\sum_{y \in Y} \sum_{x \in X} p(x, y) \log p(x, y)

$$

## 條件熵

表示在已知在隨機變量 $X$ 的條件下隨機變量 $Y$發(fā)生的不確定性。

$$

H(Y \mid X)=\sum_{x \in X} p(x) H(Y \mid x)=-\sum_{x \in X} p(x) \sum_{y \in Y} p(y \mid x) \log p(y \mid x)

$$

## 互信息

兩事件的互信息為各事件單獨發(fā)生所代表的信息量之和減去兩事件同時發(fā)生所代表的信息量之后剩余的信息量。

$$

I(X, Y)=\sum_{y \in Y} \sum_{x \in X} p(x, y) f(x,y)

$$

其中,

$$

f(x,y)= -\log p(x)-\log p(y)-(-\log p(x, y))= \log \left(\frac{p(x, y)}{p(x) p(y)}\right)

$$

> 這里的$f()$不能寫成$I()$,不然更改后會發(fā)現(xiàn)互信息為聯(lián)合熵的表達形式

## 互信息、聯(lián)合熵、條件熵之間的關系

化簡互信息的公式:

$$ \tag{4}

\begin{aligned}

I(X, Y) &=\sum_{y \in Y} \sum_{x \in X} p(x, y) \log \frac{p(x, y)}{p(x) p(y)} \\

&=\sum_{x \in X} \sum_{y \in Y} p(x, y)(\log p(x, y)-\log p(x)-\log p(y)) \\

&=\sum_{x \in X} \sum_{y \in Y}[ p(x, y) \log p(x, y)- p(x, y) \log p(x)-p(x, y) \log p(y)] \\

&=\sum_{x \in X} \sum_{y \in Y} p(x, y) \log p(x, y)-\sum_{x \in X} p(x) \log p(x)-\sum_{x \in X} p(y) \log p(y) \\

&=H(X)+H(Y)-H(X, Y)

\end{aligned}

$$

結合公式$(3)$,也得到:

$$\tag5

I(X,Y) = H(X,Y) - H(Y \mid X)- H(X \mid Y)

$$

另外,結合公式(2),(5),得到:

$$\tag6

\begin{aligned}

H(X) - I(X,Y) &= H(X) -? H(X,Y) + H(Y \mid X)+ H(X \mid Y) \\

&= H(X) -? (H(Y \mid X) + H(X) )- H(Y \mid X)- H(X \mid Y) \\

&=H(X \mid Y)

\end{aligned}

$$

總的關系圖:

![](https://www.hualigs.cn/image/60a9e6b02ca3d.jpg)

用集合的關系理解上面這些符號應該更容易。

## 交叉熵

感性來講,交叉熵描述當系統(tǒng)中事件分布不真實時,所產(chǎn)生的信息熵偏差現(xiàn)象。例如,事件X的真實分布理論為p(x),但由于觀測有噪聲,觀測到的分布為q(x),此時交叉熵為:

$$

H(p,q)=-\sum_{x} p(x) \log q(x)

$$

> 上式中p,q表示分布,而前面提到的X,Y為系統(tǒng)(或許也可以說是隨機變量,隨機變量不是標量,是函數(shù))

即僅僅用觀測到的信息量替換了原本的信息量。由此會帶來熵的差異,即==增加==了不確定性。說增加是因為交叉熵一定大于等于原本的信息熵:

$$

\begin{aligned} \tag7

H(p, q) - H(p) &= -\sum_{x} p(x) \log q(x) + \sum_{x} p(x) \log p(x) \\

&=-\sum_{x} p(x) log \frac {q(x)}{p(x)} \\

&=-E_{p(x)}\left(\log \frac{q(x)}{p(x)}\right) \\

& \geq-\log E_{p(x)}\left(\frac{q(x)}{p(x)}\right) \\

&=-\log \sum_{x} p(x) \frac{q(x)}{p(x)} \\

&=-\log \sum_{x} q(x) =-log(1)=0

\end{aligned}

$$

> 上式中轉(zhuǎn)折為何成立

神經(jīng)網(wǎng)絡訓練中用交叉熵作為Loss Function時, 就是為了讓擬合出來的分布盡量接近真實分布。越接近,交叉熵越小,直至為0,此時擬合分布和真實分布相同。

## KL散度(相對熵)

其實公式$(7)$中已經(jīng)定義了相對熵,即表述噪聲分布下相對真實分布增加的不確定性:

$$

D_{KL}(p \parallel q) = H(p, q) - H(p)? = -\sum_{x} p(x) log \frac {q(x)}{p(x)}=\sum_{x} p(x) log \frac {p(x)}{q(x)} \geq 0

$$

盡管很多工作用KL散度作為兩個分布的距離度量方法,但實際熵KL散度本地并不是用來評估二者相似程度的。

其一在于,KL散度中p、q位置交換,公式結果不相等,這違背了相對距離概念。

其二,KL散度本質(zhì)是度量相對增加的不確定性。

因此,一些工作中將真實分布和噪聲分布的位置顛倒去計算KL散度,看似有問題,實則是為了后續(xù)計算期望方便,畢竟不管p、q相對位置如何,KL散度越小,說明二者越接近,且KL散度為0時,說明二者一致。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容