香農熵是每個結果的概率總和乘以每個結果的概率對數的負值。對數在此方程式中的作用是什麼?
將為直觀或視覺答案(與深層數學答案相對)提供加分!
香農熵是每個結果的概率總和乘以每個結果的概率對數的負值。對數在此方程式中的作用是什麼?
將為直觀或視覺答案(與深層數學答案相對)提供加分!
香農熵是一個滿足一組關係的量。
對數,簡而言之,對數是使它隨系統大小線性增長並“表現得像信息”。
第一個表示拋硬幣的熵 $ n $ span>次是 $ n $ span>次拋硬幣的熵:
$$-\ sum_ {i = 1} ^ {2 ^ n} \ frac {1} {2 ^ n} \ log \ left(\ tfrac {1} {2 ^ n} \ right)=-\ sum_ {i = 1} ^ {2 ^ n} \ frac {1} {2 ^ n} n \ log \ left(\ tfrac {1} {2 } \ right)= n \ left(-\ sum_ {i = 1} ^ {2} \ frac {1} {2} \ log \ left(\ tfrac {1} {2} \ right)\ right)= n 。$$ span>
或者只是看看扔兩個不同的硬幣時它是如何工作的(也許不公平-頭部的概率為 $ p_1 $ span >和尾部的 $ p_2 $ span>和 $ q_1 $ span>和 $ q_2 $ span>作為第二個對象) $$-\ sum_ {i = 1} ^ 2 \ sum_ {j = 1} ^ 2 p_i q_j \ log(p_i q_j)=-\ sum_ {i = 1} ^ 2 \ sum_ {j = 1} ^ 2 p_i q_j \ left(\ log(p_i)+ \ log(q_j)\ right)$$ span> $$ =-\ sum_ {i = 1} ^ 2 \ sum_ {j = 1} ^ 2 p_i q_j \ log(p_i)-\ sum_ {i = 1 } ^ 2 \ sum_ {j = 1} ^ 2 p_i q_j \ log(q_j)=-\ sum_ {i = 1} ^ 2 p_i \ log(p_i)-\ sum_ {j = 1} ^ 2 q_j \ log( q_j)$$ span>,所以對數(乘積的對數是對數之和)的性質至關重要。
但是Rényi熵具有此屬性(它是由實數 $ \ alpha $ span>參數化的熵,對於 $ \ alpha \到1 $ span>)。
但是,第二個屬性-香農熵很特殊,因為它與信息有關。要獲得一些直觀的感覺,可以查看 $$ H = \ sum_i p_i \ log \ left(\ tfrac {1} {p_i} \ right)$ span>,作為 $ \ log(1 / p)$ span>。
我們可以調用 $ \ log(1 / p)$ span>信息。為什麼?因為如果所有事件都以概率 $ p $ span>發生,則意味著存在 $ 1 / p $ span>事件。要確定發生了哪個事件,我們需要使用 $ \ log(1 / p)$ span>位(每個位使可以區分的事件數加倍)。 / p> 您可能會感到焦慮,“好吧,如果所有事件的概率都相同,那麼將 $ \ log(1 / p)$ span>用作信息量。但是,如果不是這樣,為什麼對信息進行平均有意義呢?” -這是一個自然的問題。 但事實證明這是有道理的- Shannon的源編碼定理說,一個字符串具有不相關字母且概率為 $ \ {p_i \} _ i $ span>長度 $ n $ span>不能(平均)壓縮為短於 $ n H $ span>。實際上,我們可以使用霍夫曼編碼壓縮字符串,並使其非常接近 $ n H $ span>。 另請參見:
這與其他答案相同,但是我認為解釋它的最好方法是看看香農在他的原始論文中所說的話。
對數度量對於各種方法更方便原因:
- 它實際上更有用。具有工程重要性的參數,例如時間,帶寬,中繼數量等,往往會隨著對數的線性變化。可能性的數量。例如,將一個繼電器添加到組中會使繼電器的可能狀態數量加倍。將此數字的以2為底的對數加1。將時間加倍大約會使可能的消息數成平方,或者使對數加倍,等等。
- 與我們對適當度量的直觀感覺更接近。 (1)由於我們通過與通用標準的線性比較直觀地測量實體。例如,有人認為,兩張打孔卡的容量應是一張存儲信息的容量的兩倍,而兩個相同的通道應該是一張用於傳輸信息的容量的兩倍。
- 從數學上講,它更合適。 許多限制操作就對數而言都很簡單,但就可能性的數量而言,可能需要笨拙地重述。
ol>
來源: Shannon, 交流數學理論(1948) [ pdf]。
請注意,香農熵與統計力學的吉布斯熵重合,並且也解釋了為什麼對數出現在吉布斯熵中。在統計力學中,熵被認為是可以在其中找到系統的狀態數\\ Omega $的量度。 $ \ log \ Omega $優於$ \ Omega $的原因是,由於$ \ Omega $通常是其自變量的快速增長函數,因此無法用泰勒展開法有效地近似,而$ \ log \ Omega $可以。 (我不知道這是否是獲取日誌的原始動機,但是在許多物理入門書籍中都是以此方式解釋的。)
從算法的角度來看,這是另一種方法。想像一下,您要猜測一個數字$ x $,您所擁有的唯一信息是該數字在$ 1 \ leq x \ leq N $之間。在這種情況下,用於猜測數字的最佳算法是簡單的二進制搜索算法,該算法以$ O(\ log_2N)$的順序查找$ x $。該公式直觀地說明了您需要問多少個問題才能找出$ x $。例如,如果$ N = 8 $,則最多需要問3個問題才能找到未知的$ x $。
從概率角度來看,當您宣布$ x $同樣可能是$ 1 \ leq x \ leq N $範圍內的任何值時,表示$ p(x)= 1 / N $ $ 1 \ leq x \ leq N $。克勞德·香農(Claude Shannon)很好地證明了結果$ x $的信息內容定義為:
\ begin {equation} h(x)= \ log_2 \ frac {1} {p(x)} \ end {equation}
對數以2為底的原因是,這裡我們以 bits 為單位來測量信息。您還可以假設自然對數,該自然對數使您的信息以 nats 度量。例如,輸出結果$ x = 4 $的信息內容為$ h(4)= 3 $。此值恰好等於二進制搜索算法中的步驟數(或算法中的IF語句數)。因此,您需要找出$ x $的問題數量等於$ 4 $,正好是結果$ x = 4 $的信息內容。
我們還可以針對任何可能的結果分析二進制搜索算法的性能。這樣做的一種方法是找出要為$ x $的任何值查詢的預期個問題。請注意,如上所述,猜測$ x $值所需的問題數為$ h(x)$。因此,根據定義,任何$ x $的預期問題數等於:
\ begin {equation} \ langle h(x)\ rangle = \ sum_ {1 \ leq x \ leq N} p(x)h(x)\ end {equation}
問題$ \ langle h(x)\ rangle $的預期數量與集合$ H(X)$的熵或簡稱熵相同。因此,我們可以得出結論,熵$ H(X)$量化了一個人為了猜測結果而需要提出的問題的期望數量(或平均數量),這是二進制搜索算法的計算複雜性。
這是現成的解釋。您可以說兩本相同大小的書的信息是一本書的兩倍,對嗎? (考慮一本書是一串比特。)好吧,如果某個結果的概率為P,那麼您可以說它的信息內容大約是您需要寫出1 / P的位數。 (例如,如果P = 1/256,則為8位)。熵只是所有結果中該信息位長度的平均值。
出現在Shannon熵中的$ \ log(p_i)$的目的是$ \ log(p_i)$是僅 only 函數,滿足熵函數$ H的基本屬性集(p_1,\ ldots,p_N)$體現了這一點。
Shannon提供了這一結果的數學證明,該結果已被人們徹底接受並被廣泛接受。因此,熵方程中對數的目的和意義在&證明的假設中是獨立的。
這並不容易理解,但這最終是出現對數的原因。
除了其他地方列出的參考文獻以外,我還發現以下參考文獻有用:
假設我們有一個離散的信息源,該信息源從一些有限的字母中生成符號 $ \ Omega = \ {\ omega_1,\ dotsc,\ omega_n \} $ span> $ p_1,\ dotsc,p_n $ span>。Shannon將熵定義為度量 $ H(p_1,\ dotsc,p_n) $ span>,這樣
Shannon證明,滿足這三個要求的唯一 $ H $ span>的格式為 \ begin {align} H(p_1,\ dotsc,p_n)& =-\ sum_ {i = 1} ^ np_i \ log_kp_i \ end {align} span>其中 $ k>1 $ span>對應於任意信息度量單位。當 $ k = 2 $ span>時,此單位為位。有關證明,請參見C中的附錄2。
C。 E.香農。 2001。通信數學理論。 SIGMOBILE暴民。計算社區修訂版5,第1版(2001年1月),第3–55頁。
因為它代表了平均值,它們需要您回答才能完全解決數據中所有歧義的完全問題的總數。見過。一個具有$ n $個可能答案的完美問題是,當回答該問題時,可能性的空間將減少$ n $倍。
假設我滾動了一個面對$ 6 $的公平骰子,您可以預測其結果。可能性空間為$ 6 $。您可以問我這樣的二進制問題:“結果是$ 1 $嗎?” (答案是是或否,即$ n = 2 $),而我的答案可能是“ nopies!”。然後,可能性空間只有$ 1 $。因此,這個問題不是一個好問題。
或者,您可以提出更好的問題,例如這個更好的二元問題“它大於$ 3.5 $嗎?”,我的回答是“是! ” -然後繁榮,可能性空間減少了一半!即僅剩下$ 6/2 = 3 $個候選人(在最初的6個中)。地獄,是的,伙計。
現在,假設您繼續遞歸地問更多這些好問題,直到遇到可能性空間只有$ 1 $的情況,根據定義,這種情況就沒有歧義了(您知道答案)。
讓我們這樣做:
您得出的結論是結果必須為$ 6 $,而您只需要問$ 3 $二元問題。即$ ceil(\ log_2(6))= ceil(2.58)= 3 $
現在,顯然,二元問題的數量始終是自然數。那麼,為什麼香農的熵不使用$ ceil $函數呢?因為它實際上會吐出平均個需要問的好問題。
如果您重複此實驗(通過編寫Python代碼),則會發現平均,您將需要問$ 2.58 $完美的二進制問題。
當然,如果您問二進制問題,則將日誌的基礎設置為該值。所以這裡$ \ log_2(...)$因為我們的問題是二進制的。如果您問的問題期望$ n $有許多可能的答案,則將基數設置為$ n $而不是$ 2 $,即$ \ log_n(...)$。
import randomtotal_questions = 0TOTAL_ROUNDS = 10000 for i in range(0,TOTAL_ROUNDS):result = random.randrange(1,7)total_questions + = 1如果結果> 3.5:total_questions + = 1如果結果> = 5 :total_questions + = 1(如果結果== 5):否則通過:#必須為6!無需詢問通行證:#必須為4!無需詢問是否通過:else_total_questions + = 1,如果結果> = 2:total_questions + = 1,如果結果== 2:通過else:#必須為3!無需詢問通行證:#必須為1!無需詢問密碼'總問題數:'+ str(total_questions)print'每個結果平均數:'+ str(total_questions / float(TOTAL_ROUNDS))
結果:
總問題數:26634每項結果平均問題數:2.6634
聖莫莉花花公子$ 2.6634 \ ne \ log_2(6)\ ne 2.58 $。
是什麼錯誤?幾乎是 ,但並不是我所希望的那樣真正接近。是Python的PRNG試圖說一個慢笑話嗎?還是香農錯了?還是-上帝禁止-我的理解是錯誤的?無論哪種方式都可以。 S.O.S.已經花花公子。
這個問題是兩年前提出的,已經有了很多很棒的答案,但是我想補充一下,這對我自己有很大幫助。
問題是
對數在該方程式中起什麼作用?
對數(通常基於2)是由於Kraft的Inequality。
$ \ sum_ {i = 1} ^ m 2 ^ {-l_i} < = 1 $
我們可以這樣理解:長度為$ l_i $的所有代碼的概率之和小於1。根據不等式,我們可以得出以下結果:對於每個代碼長度函數$ L_x $,其唯一可解碼代碼中,分佈$ P(x)$這樣
$ P(x)= 2 ^ {-L(x)} $,
因此, $ L _ {(x)} = -logP(x)$ 和$ P(x)$是長度為$ L _ {(x)} $的代碼的概率。
香農熵定義為所有代碼的平均長度。由於每個長度為$ L _ {(x)} $的代碼的概率為$ P(x)$,因此平均長度(或Shannon熵)為 $ -P(x)logP(x)$ 。
本文代碼樹和卡夫不等式中闡述了一個直觀的插圖和一個visual答案(根據需要,但更具體地針對Kraft不等式)。
歷史觀點可能很有趣。熵與信息論中的“證據權重”概念相關(請注意,這與此處討論的證據權重和信息價值公式背後的直覺不同)。 Ia Good在這本書中對class =“ math-container”> $ \ text {woe} $ span>進行了深入的討論,(當然,書中的大部分內容都是他在與他人合作時學到的。布萊奇利公園的圖靈。)這本其他好書可能更容易找到,並且包含一些相同的材料。
但是回溯到更長的時間,例如 CS Peirce的經典論文,該論文詳細討論了為什麼使用對數:
我們的信念應該與...的權重成正比 在這種意義上,證明了兩個論點完全是 獨立,互不削弱或互不加強, 當他們同意時,產生的信念等於 信念強度,兩者將分別產生。現在我們 已經看到獨立並發參數的機會是 被相乘以獲得組合的機會,並且 因此最能表達信念強度的數量 應該是這樣,以便在有機會時添加它們 相乘以產生對應於 合併的機會。現在,對數是唯一的數量 滿足此條件。有一條一般的感性定律,稱為 費希納的心理物理學定律。是任何東西的強度 感覺與外力的對數成正比 生產它。感覺完全符合這條定律 信念應該作為機會的對數,後者是 產生信念的事實狀態的表達。
因此皮爾斯與費希納定律相比!現在,假設 $ H $ span>與備選 $ \證據上的bar {H} $ span> $ E $ span>(使用《好書》中的符號)基本上是似然比 $$ \ DeclareMathOperator {\ P} {\ mathbb {P}} \ text {woe} = \ log \ frac {\ P(E | H)} {\ P(E | \ bar {H})}} $$ span> 證據權重的期望與熵的概念有關。例如 $$ \ DeclareMathOperator {\ KL} {KL} \ DeclareMathOperator {\ E} {\ mathbb {E}} \ E_H \ text {woe} = \ KL(\ P(\ cdot | H)|| \ P(\ cdot | \ bar {H})) $$ span>(和 $ \ E_ \ bar {H} \ text {woe} = 0 $ span>),其中 $ \ KL $ span>是Kullback-Leibler散度,請參見 Kullback-Leibler(KL)散度的直覺。因此,使用對數的參數必須對兩者都有效。
IJ關於熵的好評論
當手稿與出版商一起時,出現了一篇文章 涉及在某種程度上與當前思想相關的思想 章節。假設發生了一個事件,其概率已知 證據是p。希望引入一個簡單的數值 定義由此傳達的信息量。我們 已經定義了衡量證據權重的方法,以支持 一個特定的假設,但我們現在關注的是 這樣的信息,即從 只對收集信息感興趣的人,沒有 參考任何不確定的假設。做兩個很自然 對度量(i)的要求應該是p的遞減函數, (ii)兩個獨立事件提供的信息量 應該是單獨金額的總和。唯一的功能 滿足這些條件的形式為-log p,其中單位 如果對數的底數是e,則是自然的。如果基數是2 那麼該單位可以稱為“八度”,“二進制數字”或(在J之後。 Tukey)一個“位”。例如,如果硬幣旋轉並掉落下來 然後提供一點信息。
然後,他繼續解釋Shannon論文中的概念與他的書之間的關係。
我認為不可能給您一個普遍的“直觀”答案。我會給您一些對於物理學家等人來說很直觀的答案。對數可以獲取系統的平均能量。這是詳細信息。
Shannon使用了“ 熵”一詞,因為他從統計力學中採用了這一概念。在統計力學中,有一個以Boltzmann命名的經典分佈。有趣的是,它現在是機器學習中的重要發行版!
玻爾茲曼分佈可以寫成 $$ P = e ^ {\ frac {a-E} b} $$ span> 其中 $ a,b $ span>是常數,而 $ E $ span>是系統在一個狀態下的能量 $ dV $ span>狀態空間的 $ V $ span>。在經典熱力學 $ dV = dpdx $ span>中,其中 $ x,p $ span>是粒子。如果正確選擇常量 $ a,b $ span>,即 $ \ int_VPdV = 1 $ span>,這是一個適當的概率函數>。另外,您可能會發現有趣的是 $ b $ span>對應於系統的溫度。
現在,請注意 $ \ ln P \ sim E $ span>,即概率對數與能量成線性關係(成正比)。現在,您可以看到以下表達式本質上是系統能量的期望值: $$ S \ equiv-\ int_VP \ ln P dV = <E> $$ span> 這就是吉布斯所做的。
因此,香農(Shannon)拿了這個東西,離散化為 $$ \ eta =-\ sum_i P_i \ ln P_i $$ span>並稱其為“熵”,我們稱之為這種“香農熵”。這裡不再有 energy 概念,但是也許您可以反記錄狀態 $ e ^ {-P_i} $ span>的概率,然後調用這是國家的能量?
這對您來說足夠直觀嗎?這是給我的,但我是前輩的理論物理學家。此外,通過鏈接甚至更舊的熱力學概念(例如溫度以及Boltzmann和Clausius的著作),您可以進入更直觀的層次。
熵定義為表示系統可以處於的狀態數的多項式係數的幾何平均值的對數:
$$ \ log \ sqrt [N] {N \ choose n_1 ,\ ldots,n_k} $$
對數在使用斯特林的階乘近似後出現在公式中(請參見此說明)
基於您對所有已經回答的不接受,我認為您正在尋找的原因是香農首先在其公式中使用對數的原因。換句話說,這就是它的理念。
免責聲明:我剛進入這個領域一周,之所以來到這裡,是因為有一個問題 just像你一樣。如果您對此有更多的了解,請告訴我。 sub>
閱讀了Ulanowicz最重要的論文之一,增加熵:熱死或永久和諧,我有這個問題。 ?。這是一段解釋為什麼公式具有-log(p)而不是(1-p)的原因:
在進一步解開熵的形式定義之前,先問一下為什麼不簡單選擇(1 – p)而不是[–log(p)]作為最合適的不存在度量?答案是,p的結果乘積(即[p–p ^ 2])在p = 0.5的周圍是完全對稱的。根據這種對稱組合進行的計算只能描述可逆的宇宙。然而,玻爾茲曼和吉布斯試圖量化一個不可逆的宇宙。通過選擇單變量凸對數函數,玻耳茲曼從而賦予了非存在性偏見。例如,有人注意到max [–xlog {x}] = {1 / e}≈0.37,因此不確定性的度量偏向pi的較低值。
看起來這樣的香農無緣無故地選擇了對數。他只是“嗅到”他應該使用對數。牛頓為什麼在他的公式F = m * a中選擇乘法運算?
請注意,當時,他對熵一無所知:
我最大的擔心是該怎麼稱呼。我本來想稱其為“信息”,但是這個詞被過度使用了,所以我決定稱其為“不確定性”。當我與約翰·馮·諾伊曼(John von Neumann)討論時,他有一個更好的主意。馮·諾依曼(Von Neumann)告訴我,‘您應該稱它為熵,有兩個原因。首先,不確定性函數已使用該名稱在統計力學中使用,因此它已經有一個名稱。其次,更重要的是,沒有人知道熵的真正含義,因此在辯論中,您將始終擁有優勢。他之所以選擇它,是因為它神奇地起作用了。
該對數來自滿足某些自然要求的函數H的推導。參見第3秒此來源中的2個:
http://www.lptl.jussieu.fr/user/lesne/MSCS-entropy.pdf
鑑於公理,如果執行優化,則會獲得唯一的(最多常量)函數,並在其中進行登錄。
以上所有答案都是正確的,只是它們解釋了日誌,但沒有解釋其來源。
我想您的問題更多是關於該對數的“含義”以及為什麼每個組成部分都對公式的整體含義有所幫助,而不是單純的形式主義,表明定義與某些要求的一致性。
香農熵的思想是通過查看消息的FREQUENCY(即 $ p(x)$ span>)及其GENERALITY(即 $-log(p(x))$ span>):
第一項 $ p(x)$ span>與頻率有關, $-log(p(x) )$ span>是關於它的普遍性。
從現在開始,我將討論通用性如何影響最終的熵公式。
因此,我們可以根據編碼所需的位數來定義消息的一般性(例如,下雨/不下雨)或特定的消息(例如,ligth / avg / heavy / veryHeavy): $$ log_2(x)=數字\ _of \ _bits \ _to \ _encode \ _the \ _messages $$ span>
現在,坐下來,放鬆一下,看看香農的熵到底能起到多大作用:它基於(合理的)假設,即一般來說,消息越頻繁,消息就越多。
例如我要說的是,無論是平均降雨,大降雨還是非常大的降雨。 因此,他建議根據消息的頻率對消息的通用性進行編碼...然後您就可以了:
$$ log_2 N = -log_2 1 / N = -log_2 P $$ span>
使用 $ N $ span>消息的頻率 $ x $ span>。
等式可以解釋為:稀有消息將具有更長的編碼,因為它們的通用性較低,因此它們需要更多的比特進行編碼且信息量較少。因此,擁有更多特定信息和稀有信息比擁有許多普通信息和頻繁信息對信息的貢獻更大。
在最終的表述中,我們要考慮兩個方面。第一個是 $ p(x)$ span>,它是較容易預測的頻繁消息,並且從這個角度來看,信息量較少(即較長的編碼意味著較高的熵)。第二個是 $-log(p(x))$ span>,它是常見的消息也是通用的,從這個角度來看,它的信息量更大(即較短的編碼意味著較低的熵) )。
最高熵是當我們的系統中包含許多稀有和特定的消息時。具有常見消息和一般消息的最低熵。 在這兩者之間,我們有一系列等效的熵系統,可能同時包含稀有消息和常規消息,或者頻繁但特定的消息。