假設任何檔案都可以被壓縮到
n 個二進位制位(bit),那麼其最多可以表示 2n
個不同的壓縮結果。也即,如果存在 2n
+1個檔案,根據鴿籠原理,必然至少有兩個檔案得到同一壓縮效果。這就意味著,這兩個檔案不可能都無損地還原。
因此,可以得出乙個相對抽象的結論,並非所有檔案都可以被壓縮到
n 個bit 位以內。
資料壓縮的原理,壓縮原理其實很簡單,本質上,所謂壓縮,就是找出檔案內容的概率分布(probability distribution),將那些出現概率高的部分代替成更短的形式。相應地,如果內容毫無重複,就很難壓縮。極端情況就是,遇到那些均勻分布的隨機字串,往往連乙個字元都壓縮不了。比如,任意排列的10個阿拉伯數字(5271839406),就是無法壓縮的;再比如,無理數(比如π)也很難壓縮
壓縮可以分解成兩個步驟(哈夫曼編碼):
如果檔案內容只有兩種情況(1/5 vs 1/5比如扔硬幣的結果),那麼只要乙個二進位制位就夠了,1 表示正面,0表示表示負面。如果檔案內容包含三種情況(比如球賽的結果),那麼最少需要兩個二進位制位。如果檔案內容包含六種情況(比如扔篩子的結果),那麼最少需要三個二進位制位。
一般來說,在均勻分布的情況下,假定乙個字元(或字串)在檔案中出現的概率是 p,那麼在這個位置上最多可能出現 1/p 種情況。需要
log2(1
/p)個二進位制位表示替代符號。
這個結論可以推廣到一般情況。假定檔案有 n 個部分組成,每個部分的內容在檔案中的出現概率分別為 p1
,p2,
...,
pn,顯然有 ∑i
pi=1
。那麼,替代符號佔據的二進位制最少為下面這個式子。
log21/
p1+log21
/p2+
⋯+log21/
pn=∑
ilog2(
1/pn
) 對於兩個相等(
n )的檔案,概率
p決定了這個式子的大小:
為了便於檔案之間的比較,將上式除以
n ,可以得到平均每個符號所占用的二進位制位:
∑log2(
1/pn
)/n進一步將其轉換(
p 是根據概率統計得到的)為:∑p
nlog2(
1/pn
)=e(
log21/
p)又可視為一種期望,可以理解為,每個符號所占用的二進位制位,等於概率倒數的對數的數學期望;
.5log2(
1/.5)
+.3log2(1
/.3)+
.2log2(
1/.2)
=1.485
10×.1log2(
1/.1)
=3.322
TensorFlow 資訊理論 資訊熵2
tensorflow 資訊理論 資訊熵2 flyfish tensorflow 資訊理論 資訊熵1 熵是接收的每條訊息中包含的資訊的平均量,又被稱為資訊熵 信源熵 平均自資訊量 自資訊量已經知道它的意思,平均自資訊量就是加權平均 在資訊理論裡 熵,資訊熵 信源熵 平均自資訊量都是乙個意思 乙個系統的...
資訊理論中的各種熵
本文簡單介紹了資訊理論中的各種熵,包括自資訊 熵 聯合熵 條件熵 互資訊 kl散度 交叉熵。並在最後用資訊理論中的交叉熵推導了邏輯回歸,得到了和最大似然法相同的結果。熵是資訊的關鍵度量,通常指一條資訊中需要傳輸或者儲存乙個訊號的平均位元數。熵衡量了 隨機變數的不確定度,不確定性越大熵越大。針對隨機變...
PRML學習筆記 資訊理論與最大熵
資訊熵是人們對客觀事件的不確定性的度量。正如序中所言,對於乙個事物,我們知道的越有可能發生,那麼我們用來找出確定的情況所需要得到資訊就越少,反之亦然。此外,資訊熵還具有可加的性質。兩個事物如果是不相關的,如果我們同時得到的兩個事物,那麼我們所接收的資訊是可以疊加的。我們使用h x 表示事件發生概率為...