為什麼夏農要將資訊熵公式要定義成 p log p 或 p log p dp?

時間 2021-05-10 12:21:56

1樓:邵經天

看到很多回答從數學角度加以限制推出資訊熵的表示式,在我看來太過抽象並不容易理解。這裡介紹一下王立威老師《資訊理論》是怎樣描述資訊熵的。

考察乙個離散型隨機變數 的信源編碼問題,這裡 的取值範圍為 ,對應的概率分布為 。那麼問題來了,如果要傳遞該隨機變數的值,那麼應當採用怎樣的0-1編碼方式呢?

證明略證明:字首編碼可以看作是乙個二叉樹(0向左子節點,1向右子節點),那麼最優的字首編碼一定對應乙個完全二叉樹(所有非葉節點都有兩個子節點),否則可以通過刪去該非葉節點縮短二叉樹的長度(編碼長度)。而完全二叉樹滿足 ,因此引理二得證。

證明略。

由引理一,二可以得到,任意離散隨機變數的編碼都可以轉化為滿足 的字首編碼。那麼離散型隨機變數的平均編碼長度可以表示為 ,記 ,原式等價於 。由引理三可知, 。

由此可知資訊熵 是平均編碼長度的乙個下界。我們還可以證明 不僅僅是下界,而且是下確界。因此用平均信源編碼長度的下確界當作資訊量的大小,我認為是十分合理的。

2樓:董瑞

今年Witten寫了個資訊理論的介紹,開頭對於夏農資訊熵的介紹還是蠻直觀的。

假設有一列資訊 由字母 組成,其中 出現的概率是 , 出現的概率是 ,假設字母列足夠長,長度是 ,那麼字母列中就有 個 , 個 ,那麼字母列就有 種排列,應用Stirling公式,即 ,得到

,這裡 就是 概率分布的熵。

所以,資訊熵的意義就是,一列長度為 的,由 組成的字母列, 如果出現的概率是 ,出現的概率是 ,其資訊量就是 位元.

3樓:

大膽猜測,小心求證,勿噴;

這裡想用乙個小遊戲,在娛樂之中愉悅身心,順便學有所獲,這絕對是一箭雙鵰的沒事:

假設這裡有32張紙片,紙片大小相同,色澤無異,厚薄唯一,簡單的說:就物理上都一樣,紙片上分別標記著1,2,3.....32 連續的數字編碼。

在打亂次序的32張紙片中,隨機抽取了一張紙片:A

問題來了,你怎麼以最快的速度猜出紙片:A 的標記值是幾呢?

需要多少次試錯,在反饋猜測值與A標記值的大小中,最快猜出正確的 A的標記值。

這裡思考3秒,你會怎麼猜,你會猜的第乙個數值是多少呢?

這裡我們同樣通過遊戲的方式來揭秘最快的猜數演算法。

小紅目不轉睛的望著小明手裡藏掖的紙片A,腦海在翻滾,陷入的萬千思緒,強者之間的較量開始了

小紅:我猜紙片A 的值是 16 (32/2)

小明:紙片A的值比 16 要小

小紅:那是 8 對不對?

小明:還比8小

小紅:4呢

小明;也比4小

小紅:那我很有把握是2

小明:不對,比2 大

小紅:哈哈,這裡傻瓜都知道是3了。

開始數學推理了:

其實我們很清楚,小紅在32個紙片中猜對A值的概率是 :

小紅採取的策略是二分法猜測,用了5次

最近一步:

這裡是不是有發現:

(資訊熵公式)

如果我們把5 理解為用來消除不確定性所付出的硬幣,這樣就可以度量小明反饋資訊的價值。這裡有乙個學術名字出現了:資訊熵。

為什麼資訊熵,會有負號?

可以解釋為:資訊獲得者需要付出的價值,輸出當然是負(付出)

4樓:babyquant

我覺得不把負號變成對數里的倒數是說不清的。

可以看成sum(p*log(1/p))更好理解:

乙個隨機變數有8種可能,相當於8個事件,如果是0和1表示,一共需要log2(8)=3bit

換句話說,如果乙個事件的概率是1/8,需要log2(8)=3bit再換句話說,如果乙個事件的概率是p,需要log2(1/p)bit再泛化,概率是變數,就是log2(1/p(x))再泛化,2是變數,就是log(1/p(x))那麼,既然表示其中乙個事件需要這麼多位元,那麼表示所有事件平均需要多少bit呢?很自然就是求期望:

sum(p(x)log(1/p(x)))

把倒數變成負號

-sum(p(x)logp(x))

5樓:etudiant

假設沒人定義過 entropy,你做 information theory 的研究還是會常常看到這個量,那麼不如給個名字比較方便。

記得沒錯的話,對 entropy 的 axiomatic characterization 是後來才出現的;很有趣,但不是當初這個定義出現的原因。

6樓:

Quick answer:定理:滿足熵的性質的測度泛函,只能具有(Shannon熵和 Hartley熵)或者(von Neumann熵和Shannon熵)的線性組合的函式形式。

如果不要求熵滿足線性的可加和性,它還允許具有其他形式。比如越來越火的Tsallis熵。

題主所疑惑的熵的形式,只不過是Renyi熵和Tsallis熵的特殊形式罷了。詳見我的專欄:

Yongle Li:熵的多種表示式

7樓:數籤籤

看了各種大佬的回答,談下自己的理解。

熱力學熵為S=klnW,W為微觀系統狀態數,k為常數,W越大,S越大,熵越大,越混亂。熵是系統狀態數的對數乘以常數。

去掉常數k,資訊熵可以模擬為,H=lnW,如果系統是隨機系統,隨機變數X——系統狀態數是概率的倒數。

於是用期望來衡量不確定的資訊熵H=E(lnW)= 或者寫成積分的形式。

8樓:陳家勝

資訊熵是記錄乙個隨機事件的結果,所需要的最少位元數的期望值。

假設已知100人的人群群的性別比M:F:LGBT是44:

44:2,那麼表示男性或女性的性別需要大約需要1.01個bit,但是表示LGBT的性別需要log0.

02約7.01個,一共需要112個bit,平均就是1.12個位元。

如果對人群的性別比例有誤判,那麼會需要更多bit才能記錄所有資訊。例如,如果誤以為人群中只有男性和女性,那就需要無窮大個bit才能表示出LBGT性別。這個叫做交叉熵,交叉熵可以用來衡量模型的估計與實際的偏差。

為什麼化學中有些公式非要將 ln 強行成 lg 與 2 303?

依古比古 我的理解是這樣的,這個應該是始於用電動勢法測定pH的方法,因為pH的定義裡面是lg a H 而能斯特方程裡面是lnJ,取指示電極和參比電極構成電池後,用能斯特方程計算其電動勢,lnJ的部分裡面會包含氫離子的活度,而這裡把ln轉成lg,就可以把lnJ換成pH,同時帶了乙個2.303的係數。 ...

ECMAScript規範為什麼要定義Undefined基本資料型別 為什麼不用null來取代undefined作為宣告了但未初始化值的變數的值

沈嶸 如果你本來就宣告了乙個變數,那麼給這個變數賦予 Undefined 還是 Null 來表示初始化與否,則你個人的程式設計習慣 雖然我認為這種情況一般用 Null 比較好 如果你自己嚴格遵守 宣告了但是未初始化 就用 Null,那麼 Undefined 就可以被用來確實判斷變數是否宣告與否,或者...

函式的內積為什麼要這麼定義?

虛實道長 我想題主的困惑應該是求和完了就完了,幹嘛還要積分。也就是為何還要乘以dx。其實這就是 連續 的詭異之處。如果只是做離散分割,是可以只求乙個sum。問題在於,離散分割了的,在某個點的f xi g xi 和下個點之間,理論上還有 無窮多 點!所以在連續的情況下,問題發生了難以理解的改變,f x...