# Information theory and data compression ## Information measurement ### The definition of entropy: \begin{aligned}H(X) = - \sum_{x \in X} p(x) \log p(x)\end{aligned} Entropy可以看成是一個機率分佈的資訊量,而如果entropy越大,代表資訊量越大。反之如果entropty越小,代表資訊量越小。 舉例來說,一個投擲出去的硬幣,是正面或反面的機率為1,不是正面也不是反面的機率為0,顯然這句話是廢話。 於是我們將上述的機率分佈代入entropy,算出$-( 0 \log 0+ 1 \log 1 ) = 0$,廢話的entropy還真的是0。 而透過微分找極值,顯然當二項分布$p=0.5$時,entropy最大,因為這個機率分佈不會暗示說哪個事件發生的可能比較大。 ### The derivation of entropy: 通過上述簡單的介紹entropy,接著推導entropy的公式如何求得。 假如有三個事件$A_{1},A_{2},A_{3}$,其對應的機率分別為$p_{1},p_{2},p_{3}$。 我們將其中兩個事件$A_{2},A_{3}$組成一組,使得另外有兩個事件,$B_{1} = \{ A_{1} \}$ $,$ $B_{2} = \{ A_{2} , A_{3} \}$,其對應的機率為$q_{1}=p_{1},q_{2}=p_{2}+p_{3}$。 而我們希望,從$A_{1},A_{2},A_{3}$算出來的entropy,要與先算$B_{1},B_{2}$的entropy,再按機率比例算$B_{1},B_{2}$集合內的entropy的總和相等。也就是 $\tag{1.1.1}\label{eq_1.1.1}H(p_{1},p_{2},p_{3})=H(q_{1},q_{2})+q_{1}H(p_{1}/q_{1})+q_{2}H(p_{2}/q_{2},p_{3}/q_{2})$ 得到了關係式後,我們繼續推導entropy的公式。 先令$H(1/n,1/n,1/n...)=A(n)$。 舉例來說: $H(1/2,1/2)=A(2),H(1/8,1/8,1/8,1/8,1/8,1/8,1/8,1/8)=A(8)$ 而從$\eqref{eq_1.1.1}$我們可以得出: $A(8)=H(1/2,1/2)+1/2(H(1/2,1/2)+1/2H(1/2,1/2)+1/2H(1/2,1/2))=3A(2)$ 從上面的例子可以觀察出下式,證明方法可以從畫顆樹下手 $\tag{1.1.2}\label{eq_1.1.2}A(j^l)=lA(j)$ 而對於足夠大的$l$,可以找到一組$(k,m)$使得$A(k^m) \le A(j^l)<A(k^{m+1})$ 因此$\eqref{eq_1.1.2}$可以將其化簡為$m/l \le A(j)/A(k) < m/l + 1/l$,也就是 $\tag{1.1.3}\label{eq_1.1.3}|m/l - A(j)/A(k)| < \epsilon$ 而因為$k^m \le j^l<k^{m+1}$,且$\log{j^l} = l \log j$,所以透過類似$\eqref{eq_1.1.3}$的過程, 可以得到$\tag{1.1.4}\label{eq_1.1.4}|m/l - \log (j)/ \log(k)| < \epsilon$ 最後將$\eqref{eq_1.1.3}$和$\eqref{eq_1.1.4}$合併,得到$|A(j)/A(k) - \log (j)/ \log(k)| <2 \epsilon$,也代表著 $\tag{1.1.5}\label{eq_1.1.5} H=K \log (n)$ 其中$K$為常數。 而上面我們只探討了所有事件機率相等的情況,接下來繼續討論事件的機率不相等的情況。 這次假設我們有$\sum_{i \in I} n_{i}$種機率相等的事件。 根據$\eqref{eq_1.1.1}$和$\eqref{eq_1.1.5}$,可以得出下列結論。 \begin{aligned}H&=H(p_{1},p{2}...,p_{i})+\sum_{i \in I}p_{i}H(1/n_{i},...,1/n_{i}) \\&=H(p_{1},p{2}...,p_{i})+ K\sum_{i \in I} p_{i} \log(n_{i})\end{aligned} 左右移位後,可以得到: \begin{aligned}H(p_{1},p_{2}...,p_{i}) &=K \log (\sum_{i \in I} n_{i}) - K\sum_{i \in I} p_{i} \log(n_{i}) \\&=-K[\sum_{i \in I} p_{i} \log(n_{i})-\log (\sum_{j \in J} n_{j})] \\&=-K[\sum_{i=1}^{n} p_{i} \log(n_{i})-\log (\sum_{j=1}^{n} n_{j}) \sum_{i=1}^{n}p_{i}] \\&=-K \sum_{i=1}^{n}p_{i}\log [n_{i}-(\sum_{j=1}^{n} n_{j})] \\&=-K \sum_{i=1}^{n}p_{i}\log[\frac{n_{i}}{(\sum_{j=1}^{n} n_{j})}] \\&=-K \sum_{i=1}^{n}p_{i}\log p_{i} \end{aligned} 為了方便,將$K$帶入$1$,最後得到entropy的式子 $\tag{1.1}\label{eq_1.1}H=-\sum_{i \in I}p_{i}\log p_{i}$ ## Reference 1. Elements of Information Theory, 2nd edition 2. Introduction to data compression, 3rd edition