信息熵與編碼定理

信息熵與編碼定理

[toc]

驚奇度與信息量

定性描述

  • 驚奇度:一個事件的驚奇度是指該事件發生時我們所感到的驚奇程度
  • 信息量:一條信息的信息量是指該信息所含信息的多少。一條信息越是讓我們感到驚奇,它所含信息量就越大

對于一個擲骰子的試驗,假設E代表擲出點數為偶數(概率為1/2),我們對于事件E發生的驚奇程度并不大,但是當E代表擲出點數為6(概率為1/6),我們的驚奇程度就會很大。同樣的我們會認為,“明天太陽會從東邊升起”這句話沒有任何信息量,而“國足將在世界杯奪冠”,這句話信息量太大了。

定量描述

我們希望能夠將這種驚奇度/信息量進行量化,一個合理的假設是:

事件的驚奇度/信息量只取決于事件發生的概率。

用$S(p)$表示由概率為$p$的事件發生以后所產生的驚奇程度,假定$S(p)$對一切$0<p<=1$有定義。下面我們從$S(p)$應滿足的條件出發確定$S(p)$的形式:

公理1:
: $S(1)=0$,當聽到一個必然事件發生時,不會感到任何驚奇

公理2:
: $S(p)$$p$的嚴格連續遞減函數,事件發生的概率越大,驚奇度越小

公理3:
: $S(pq)=S(p)+S(q)$,對于獨立事件E和F,假設E發生的驚奇度為$S(p)$,F發生的驚奇度為$S(q)$,則二者同時發生的驚奇度等于二者分別發生的驚奇度之和

容易驗證,對數函數可同時滿足這四個條件:

S(p) = -log p

當底數取2時,驚奇度/信息量的單位可用比特表示。

信息熵

信息熵的定義

考慮一個取值于$x_{1},x_{2},...,x_{n}$的隨機變量X,且相應概率分別為$p_{1},...,p_{n}$,當觀察到隨機變量X的值,所引起的平均驚奇度為:

H(x)=-\sum_{i=1}^{n}p_{i}logp_{i}

規定$0log0=0$。可以證明當$p_{i}$相同時,$H(x)$達到最大值,所以$H(x)$也可認為是隨機變量$X$的不確定程度。在信息論中,$H(x)$稱為隨機變量的熵,即觀測到隨機變量$X$的值以后所接收的平均信息量。

信息熵的理解

熵、不確定度、驚奇度、信息量是從不同角度來看待X的同一特性:
隨機變量$X$的熵$H(X)$=隨機變量$X$的不確定度=觀測到隨機變量$X$的值后的平均驚奇度=觀測到隨機變量$X$的值后的平均信息量

我們可以從以下不同角度來理解它們之間的關系:

  1. 隨機變量X的熵H(X)代表了X取值的“混亂”程度,即我們對X取值的不確定程度,我們越是不確定X的取值,當我們觀測到它的值時所產生的平均驚奇度就越大;
  2. 信息熵代表了信息內容的“混亂”程度,即我們對信息內容的不確定程度,我們越是不確定信息的內容,當我們獲取該信息的內容時,它所帶給我們的信息量就越大;
  3. 對于獲取到的一條信息,我們越是感到驚奇說明它所包含的信息量越大;

隨機向量的熵

  1. 隨機向量$(X,Y)$聯合不確定度為:
H(X,Y)=-\sum_{i}\sum_{j}p(x_{i},y_{j})logp(x_{i},y_{j})

  1. $Y=y_{j}$已觀測到,$X$$Y=y_{j}$條件下的剩余不確定度為:
    $$
    H_{Y=y_{j}}(X)=-\sum_{i}p(x_{i}|y_{j})logp(x_{i}|y_{j})
    $$
  2. $Y$被觀測到后,$X$平均不確定度為:
    $$
    H_{Y}(X)=\sum_{j}H_{Y=y_{j}}(X)\cdot p(y_{j})
    $$

定理1:
: 隨機變量$X$$Y$的聯合不確定度可分解為$Y$的不確定度與$Y$被到測到后$X$的平均不確定度之和:

H(X,Y)=H(Y)+H_{Y}(X)

證明:

\begin{aligned}
H(X,Y)&=-\sum_{i}\sum_{j}p(x_{i},y_{j})logp(x_{i},y_{j}) \\
& =-\sum_{i}\sum_{j}p(y_{i})p(x_{i}|y_{j})[logp(y_{i})+logp(x_{i}|y_{j})] \\
& = -\sum_{j}p(y_{j})logp(y_{j})\sum_{i}p(x_{i}|y_{i})-\sum_{j}p(y_{j})\sum_{i}p(x_{i}|y_{i})logp(x_{i}|y_{i})\\
& =H(Y)+H_{Y}(X)
\end{aligned}

引理:
: 當$x>0$時,下式恒成立,當且僅當$x=1$時等號成立

\ln x\leqslant x-1 

定理2:當另一個隨機變量$Y$被觀測到后,$X$的不確定度在平均意義下減少,當二者獨立時等號成立:

H_{Y}(X) \leqslant H(X)

編碼定理

通信中的編碼問題(最小期望碼長):假設一個離散型隨機變量X取值于$\left \{x_{1}, \cdot \cdot \cdot ,x_{N}\right \}$,其相應概率為$\left \{p(x_{1}), \cdot \cdot \cdot ,p(x_{N})\right \}$,設計一個編碼系統,將$x_{i}$編成$n_{i}$位的二進制序列,通過一個通信網絡將從A處傳送到B處,為避免混亂,要求編碼后的序列不能出現一個序列是另一個序列的延伸。如何設計編碼系統使得最終的期望碼長最小。

引理1:
: 為了將$X$的可能取值編碼成0-1序列,且任何一個序列都不能是另一序列的延伸,其充要條件為:

\sum_{i=1}^{N}\left ( \frac{1}{2} \right )^{n_{i}}\leqslant 1

證明:

$w_{j}$$x_{i}$中編碼長度為j的個數,$j=1,2,3...$,顯然有:

w_{1}2^{n-1}+w_{2}2^{n-2}+\cdot \cdot \cdot +w_{n-1}2+w_{n}\leqslant 2^{n}

兩邊同除以$2^{n}$得:

\sum_{j=1}^{n}w_{j}\left (  \frac{1}{2}\right )^{j}=\sum_{i=1}^{N}\left ( \frac{1}{2} \right )^{n_{i}}\leqslant 1

無噪聲編碼定理

無噪聲編碼定理:
: 假設每個信號單位從位置A到位置B的過程沒有發生錯誤,則編碼的期望碼長不小于隨機變量的信息熵:

\sum_{i=1}^{N}n_{i}p\left ( x_{i} \right )\geqslant H(X)=-\sum_{i=1}^{N}p\left ( x_{i} \right )\log p\left ( x_{i} \right )

證明:
$p_{i}=p(x_{i})$$q_{i}=2^{-n_{i}}/\sum_{j=1}^{N}2^{-n_{j}}$,則有$\sum_{i=1}^{N}p_{i}=\sum_{i=1}^{N}q_{i}=1$

\begin{aligned}
-\sum_{i=1}^{N}p_{i}\log(\frac{p_{i}}{q_{i}})&=-\log e \sum_{i=1}^{N}p_{i}\ln (\frac{p_{i}}{q_{i}})\\
&=\log e \sum_{i=1}^{N}p_{i}\ln (\frac{q_{i}}{p_{i}})\\
&\leqslant \log e \sum_{i=1}^{N}p_{i}(\frac{q_{i}}{p_{i}}-1)\\
&=\log e (\sum_{i=1}^{N}p_{i}-\sum_{i=1}^{N}q_{i})=0
\end{aligned}

由此可得:

\begin{aligned}
-\sum_{i=1}^{N}p\left ( x_{i} \right )\log p\left ( x_{i} \right )&\leqslant - \sum_{i=1}^{N}p_{i}\log q_{i}\\
&= \sum_{i=1}^{N}n_{i}p_{i}+\log(\sum_{j=1}^{N}2^{-n_{j}})\\
&\leqslant\sum_{i=1}^{N}n_{i}p_{i}
\end{aligned}

定理:
: 對于大部分隨機變量$X$,不存在一組編碼系統使得期望碼長達到下界$H(X)$,但是總存在一個編碼系統,使得期望碼長與$H(X)$之間的誤差小于1

證明:
$n_{i}=\left \lceil -\log p(x_{i}) \right \rceil$,即:

-\log p(x_{i}) \leqslant n_{i}\leqslant -\log p(x_{i}) +1

代入期望碼長公式$L=\sum_{i=1}^{N}n_{i}p(x_{i})$得:

-\sum_{i=1}^{N}p\left ( x_{i} \right )\log p\left ( x_{i} \right )\leqslant L\leqslant -\sum_{i=1}^{N}p\left ( x_{i} \right )\log p\left ( x_{i} \right )+1

H(X)\leqslant L< H(X)+1

有噪聲編碼定理

假設每個信號單位的傳送是獨立的,且以概率p正確地從A處傳送到B處,這樣的通信系統稱為二進制對稱通道。若不經過處理直接傳送便會發生誤傳,一種減少誤傳信號的方法是將信號重復多次,在譯碼時按多數原則進行翻譯。

假設p=0.8,通過將信號重復3次進行編碼譯碼。如000、001、010、100都代表0,111,110,101,011代表1。此時,傳輸一位錯誤的概率為:

0.2^{3}+3\times 0.2^{2}\times 0.8=0.104

錯誤率由0.2減小到0.104,事實上,只要重復足夠多次可以將誤傳概率變得任意小,但是這種方法是以犧牲傳輸效率為代價的。但值得慶幸的是將傳輸錯誤概率減小到0的同時,傳輸效率并不會減小到0,這正是香農在信息論中提出的含噪聲編碼定理。

有噪聲編碼定理:
: 對于二進制對稱系統,為使傳送一比特的誤差概率變得任意小,傳輸平均速率存在一個上限$C^{*}$,稱為通道容量。

C^{*}=1+p\log p+(1-p)\log(1-p)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容