1 信息量
信息量即信息多少的度量咱枉。跟我們認(rèn)識(shí)中秒是時(shí)間多少的度量,米是長度多少的量度是一樣的意思徒恋。
百度百科上定義秒:銫133原子基態(tài)的兩個(gè)超精細(xì)能階之間躍遷時(shí)所輻射的電磁波的周期的9,192,631,770倍 的時(shí)間 蚕断。
那信息的多少怎么衡量呢?一個(gè)人告訴你一件事入挣,比如太陽從東方升起亿乳;你說這是常識(shí)啊,大家都知道径筏。一個(gè)人告訴你葛假,明天某個(gè)時(shí)間在某個(gè)地方待著,將有一個(gè)億支票掉下來滋恬,這個(gè)事情概率比較低聊训,信息量非常大,知道了這個(gè)事情價(jià)值非常大。感性上我們可以理解信息量為給我?guī)韮r(jià)值的多少(給你帶來多少價(jià)值恢氯,對(duì)等的就是要付出多少代價(jià)带斑,似乎有點(diǎn)繞)鼓寺。實(shí)質(zhì)工程中,信息量的引入是與信息的傳輸和存儲(chǔ)相關(guān)的勋磕。舉個(gè)例子:
世界杯比賽妈候,假如最后剩下巴西,法國挂滓,比利時(shí)苦银,英格蘭,巴西得冠軍的概率1/2,法國得冠軍的概率1/4,比利時(shí)得冠軍的概率1/8杂彭,英格蘭冠軍概率1/8(非球迷墓毒,錯(cuò)了勿怪)。我們要設(shè)計(jì)協(xié)議亲怠,傳輸某個(gè)隊(duì)伍得了冠軍的信息所计。如何設(shè)計(jì)呢?有人說簡單团秽,用兩個(gè)比特:
00:巴西隊(duì)得冠軍
01:法國隊(duì)得冠軍
10:比利時(shí)得冠軍
11:英格蘭得冠軍
但是這樣設(shè)計(jì)合理嗎?無論哪個(gè)隊(duì)得冠軍主胧,我們都得傳輸2個(gè)比特。我們前面知道了各個(gè)隊(duì)得冠軍的概率习勤,如果這樣設(shè)計(jì)
1:巴西隊(duì)得冠軍
0:法國隊(duì)得冠軍
01:比利時(shí)得冠軍
11:英格蘭得冠軍
因?yàn)榘臀麝?duì)和法國隊(duì)得冠軍的概率比較大踪栋,大概率我們只需傳輸一個(gè)比特就行了⊥急希基于這樣的設(shè)計(jì)夷都,概率越小我們需要傳輸?shù)谋忍匚辉蕉唷H绻员忍匚坏亩嗌賮砗饬啃畔⒘康亩嗌儆璨簿褪歉怕试降托畔⒘吭酱蟆?/p>
基于此囤官,給出信息量的一個(gè)量化公式:
即如果信源的概率越大,該信源攜帶的信息量越懈蚺啊(傳輸存儲(chǔ)代價(jià)越械骋);信源概率越小驳庭,該信源攜帶的信息越大(傳輸存儲(chǔ)代價(jià)越大)刑顺。
2 信息熵
我們直接給出公式定義:
從公式中我們可以知道信息熵其實(shí)是系統(tǒng)(信源系統(tǒng))信息量的期望。但是這個(gè)期望代表了一個(gè)系統(tǒng)的不確定性饲常,信息熵越大蹲堂,不確定性越大。如何理解呢贝淤?我們基于信息傳輸代價(jià)來理解柒竞,其實(shí)就是如果信源產(chǎn)生一個(gè)信息,我們要傳輸這個(gè)信息需要花費(fèi)代價(jià)的最小平均比特位數(shù)霹娄。
---------------------
作者:idwtwt
來源:CSDN
原文:https://blog.csdn.net/idwtwt/article/details/81043942
版權(quán)聲明:本文為博主原創(chuàng)文章能犯,轉(zhuǎn)載請(qǐng)附上博文鏈接!
信息熵 (information entropy)
熵
(entropy) 這一詞最初來源于熱力學(xué)犬耻。1948年踩晶,克勞德·愛爾伍德·香農(nóng)將熱力學(xué)中的熵引入信息論,所以也被稱為香農(nóng)熵 (Shannon
entropy)枕磁,信息熵 (information
entropy)渡蜻。本文只討論信息熵。首先计济,我們先來理解一下信息這個(gè)概念茸苇。信息是一個(gè)很抽象的概念,百度百科將它定義為:指音訊沦寂、消息学密、通訊系統(tǒng)傳輸和處理的對(duì)象,泛指人類社會(huì)傳播的一切內(nèi)容传藏。那信息可以被量化么腻暮?可以的!香農(nóng)提出的“信息熵”概念解決了這一問題毯侦。
一條信息的信息量大小和它的不確定性有直接的關(guān)系哭靖。我們需要搞清楚一件非常非常不確定的事,或者是我們一無所知的事侈离,就需要了解大量的信息试幽。相反,如果我們對(duì)某件事已經(jīng)有了較多的了解卦碾,我們就不需要太多的信息就能把它搞清楚藐吮。所以珊拼,從這個(gè)角度,我們可以認(rèn)為,信息量的度量就等于不確定性的多少寄纵。比如,有人說廣東下雪了帕翻。對(duì)于這句話仅淑,我們是十分不確定的。因?yàn)閺V東幾十年來下雪的次數(shù)寥寥無幾绘梦。為了搞清楚橘忱,我們就要去看天氣預(yù)報(bào),新聞卸奉,詢問在廣東的朋友钝诚,而這就需要大量的信息,信息熵很高榄棵。再比如凝颇,中國男足進(jìn)軍2022年卡塔爾世界杯決賽圈潘拱。對(duì)于這句話,因?yàn)榇_定性很高拧略,幾乎不需要引入信息芦岂,信息熵很低。
考慮一個(gè)離散的隨機(jī)變量x
垫蛆,由上面兩個(gè)例子可知禽最,信息的量度應(yīng)該依賴于概率分布p(x),因此我們想要尋找一個(gè)函數(shù)I(x)袱饭,它是概率p(x)的單調(diào)函數(shù)川无,表達(dá)了信息的內(nèi)容。怎么尋找呢虑乖?如果我們有兩個(gè)不相關(guān)的事件x和y懦趋,那么觀察兩個(gè)事件同時(shí)發(fā)生時(shí)獲得的信息量應(yīng)該等于觀察到事件各自發(fā)生時(shí)獲得的信息之和,即:I(x,y)=I(x)+I(y)
疹味。
因?yàn)閮蓚€(gè)事件是獨(dú)立不相關(guān)的愕够,因此p(x,y)=p(x)p(y)
。根據(jù)這兩個(gè)關(guān)系佛猛,很容易看出I(x)一定與p(x) 的對(duì)數(shù)有關(guān)?(因?yàn)閷?duì)數(shù)的運(yùn)算法則是loga(mn)=logam+logan
)惑芭。因此,我們有
I(x)=?logp(x)
其中負(fù)號(hào)是用來保證信息量是正數(shù)或者零继找。而log
函數(shù)基的選擇是任意的(信息論中基常常選擇為2遂跟,因此信息的單位為比特bits;而機(jī)器學(xué)習(xí)中基常常選擇為自然常數(shù)婴渡,因此單位常常被稱為奈特nats)幻锁。I(x)也被稱為隨機(jī)變量x
的自信息 (self-information),描述的是隨機(jī)變量的某個(gè)事件發(fā)生所帶來的信息量边臼。圖像如圖:
最后哄尔,我們正式引出信息熵。 現(xiàn)在假設(shè)一個(gè)發(fā)送者想傳送一個(gè)隨機(jī)變量的值給接收者柠并。那么在這個(gè)過程中岭接,他們傳輸?shù)钠骄畔⒘靠梢酝ㄟ^求I(x)=?logp(x)
關(guān)于概率分布p(x)
的期望得到,即:
H(X)=?∑xp(x)logp(x)=?∑i=1np(xi)logp(xi)
H(X)
就被稱為隨機(jī)變量x
的熵,它是表示隨機(jī)變量不確定的度量臼予,是對(duì)所有可能發(fā)生的事件產(chǎn)生的信息量的期望鸣戴。
從公式可得,隨機(jī)變量的取值個(gè)數(shù)越多粘拾,狀態(tài)數(shù)也就越多窄锅,信息熵就越大,混亂程度就越大缰雇。當(dāng)隨機(jī)分布為均勻分布時(shí)入偷,熵最大追驴,且0≤H(X)≤logn
。稍后證明疏之。將一維隨機(jī)變量分布推廣到多維隨機(jī)變量分布氯檐,則其聯(lián)合熵 (Joint entropy)?為:
H(X,Y)=?∑x,yp(x,y)logp(x,y)=?∑i=1n∑j=1mp(xi,yi)logp(xi,yi)
注意點(diǎn):1、熵只依賴于隨機(jī)變量的分布,與隨機(jī)變量取值無關(guān)体捏,所以也可以將X
的熵記作H(p)
。2糯崎、令0log0=0(因?yàn)槟硞€(gè)取值概率可能為0)几缭。
那么這些定義有著什么樣的性質(zhì)呢?考慮一個(gè)隨機(jī)變量x
沃呢。這個(gè)隨機(jī)變量有4種可能的狀態(tài)年栓,每個(gè)狀態(tài)都是等可能的。為了把x的值傳給接收者薄霜,我們需要傳輸2比特的消息某抓。H(X)=?4×14log214=2?bits
現(xiàn)在考慮一個(gè)具有4種可能的狀態(tài){a,b,c,d}
的隨機(jī)變量,每個(gè)狀態(tài)各自的概率為(12,14,18,18)
這種情形下的熵為:
H(X)=?12log212?14log214?18log218?18log218=1.75?bits
我們可以看到惰瓜,非均勻分布比均勻分布的熵要小》窀保現(xiàn)在讓我們考慮如何把變量狀態(tài)的類別傳遞給接收者。與之前一樣崎坊,我們可以使用一個(gè)2比特的數(shù)字來完成這件事情备禀。然而,我們可以利用非均勻分布這個(gè)特點(diǎn)奈揍,使用更短的編碼來描述更可能的事件曲尸,使用更長的編碼來描述不太可能的事件。我們希望這樣做能夠得到一個(gè)更短的平均編碼長度男翰。我們可以使用下面的編碼串(哈夫曼編碼):0另患、10、110蛾绎、111來表示狀態(tài){a,b,c,d}
昆箕。傳輸?shù)木幋a的平均長度就是:
average code length =12×1+14×2+2×18×3=1.75?bits
這個(gè)值與上方的隨機(jī)變量的熵相等。熵和最短編碼長度的這種關(guān)系是一種普遍的情形租冠。Shannon 編碼定理https://baike.baidu.com/item/Shannon%20%E7%BC%96%E7%A0%81%E5%AE%9A%E7%90%86/15585931?fr=aladdin表明熵是傳輸一個(gè)隨機(jī)變量狀態(tài)值所需的比特位下界(最短平均編碼長度)为严。因此,信息熵可以應(yīng)用在數(shù)據(jù)壓縮方面肺稀。這里這篇文章http://www.ruanyifeng.com/blog/2014/09/information-entropy.html講的很詳細(xì)了第股,我就不贅述了。
證明0≤H(X)≤logn
利用拉格朗日乘子法證明:
因?yàn)閜(1)+p(2)+?+p(n)=1
所以有
目標(biāo)函數(shù):f(p(1),p(2),…,p(n))=?(p(1)logp(1)+p(2)logp(2)+?+p(n)logp(n))
約束條件:g(p(1),p(2),…,p(n),λ)=p(1)+p(2)+?+p(n)?1=0
1话原、定義拉格朗日函數(shù):
L(p(1),p(2),…,p(n),λ)=?(p(1)logp(1)+p(2)logp(2)+?+p(n)logp(n))+λ(p(1)+p(2)+?+p(n)?1)
2夕吻、L(p(1),p(2),…,p(n),λ)
分別對(duì)p(1),p(2),p(n),λ求偏導(dǎo)數(shù)诲锹,令偏導(dǎo)數(shù)為0
:
λ?log(e?p(1))=0
λ?log(e?p(2))=0
……
λ?log(e?p(n))=0
p(1)+p(2)+?+p(n)?1=0
3、求出p(1),p(2),…,p(n)
的值:
解方程得涉馅,p(1)=p(2)=?=p(n)=1n
代入f(p(1),p(2),…,p(n))
中得到目標(biāo)函數(shù)的極值為f(1n,1n,…,1n)=?(1nlog1n+1nlog1n+?+1nlog1n)=?log(1n)=logn
由此可證logn
為最大值归园。
條件熵H(Y|X)
表示在已知隨機(jī)變量X的條件下隨機(jī)變量Y的不確定性稚矿。條件熵H(Y|X)定義為X給定條件下Y的條件概率分布的熵對(duì)X
的數(shù)學(xué)期望:
條件熵H(Y|X)
相當(dāng)于聯(lián)合熵H(X,Y)減去單獨(dú)的熵H(X)
庸诱,即
H(Y|X)=H(X,Y)?H(X)
,證明如下:
舉個(gè)例子晤揣,比如環(huán)境溫度是低還是高桥爽,和我穿短袖還是外套這兩個(gè)事件可以組成聯(lián)合概率分布H(X,Y)
,因?yàn)閮蓚€(gè)事件加起來的信息量肯定是大于單一事件的信息量的昧识。假設(shè)H(X)對(duì)應(yīng)著今天環(huán)境溫度的信息量钠四,由于今天環(huán)境溫度和今天我穿什么衣服這兩個(gè)事件并不是獨(dú)立分布的,所以在已知今天環(huán)境溫度的情況下跪楞,我穿什么衣服的信息量或者說不確定性是被減少了缀去。當(dāng)已知H(X)這個(gè)信息量的時(shí)候,H(X,Y)
剩下的信息量就是條件熵:
H(Y|X)=H(X,Y)?H(X)
因此甸祭,可以這樣理解缕碎,描述X
和Y所需的信息是描述X自己所需的信息,加上給定X的條件下具體化Y
所需的額外信息。關(guān)于條件熵的例子可以看這篇文章池户,講得很詳細(xì)阎曹。https://zhuanlan.zhihu.com/p/26551798
3、相對(duì)熵(Relative entropy)煞檩,也稱KL散度 (Kullback–Leibler divergence)
設(shè)p(x)
处嫌、q(x)是 離散隨機(jī)變量X中取值的兩個(gè)概率分布,則p對(duì)q
的相對(duì)熵是:
DKL(p||q)=∑xp(x)logp(x)q(x)=Ep(x)logp(x)q(x)
性質(zhì):
1斟湃、如果p(x)
和q(x)
兩個(gè)分布相同熏迹,那么相對(duì)熵等于0
2、DKL(p||q)≠DKL(q||p)
凝赛,相對(duì)熵具有不對(duì)稱性注暗。大家可以舉個(gè)簡單例子算一下。
3墓猎、DKL(p||q)≥0
證明如下(利用Jensen不等式https://en.wikipedia.org/wiki/Jensen%27s_inequality):
因?yàn)椋?/p>
∑xp(x)=1
所以:
DKL(p||q)≥0
總結(jié):相對(duì)熵可以用來衡量兩個(gè)概率分布之間的差異捆昏,上面公式的意義就是求p
與q之間的對(duì)數(shù)差在p
上的期望值。
現(xiàn)在有關(guān)于樣本集的兩個(gè)概率分布p(x)
和q(x)骗卜,其中p(x)為真實(shí)分布,q(x)非真實(shí)分布。如果用真實(shí)分布p(x)
來衡量識(shí)別別一個(gè)樣本所需要編碼長度的期望(平均編碼長度)為:
H(p)=∑xp(x)log1p(x)
如果使用非真實(shí)分布q(x)
來表示來自真實(shí)分布p(x)
的平均編碼長度寇仓,則是:
H(p,q)=∑xp(x)log1q(x)
举户。(因?yàn)橛胵(x)來編碼的樣本來自于分布q(x),所以H(p,q)中的概率是p(x))遍烦。此時(shí)就將H(p,q)稱之為交叉熵俭嘁。舉個(gè)例子》恚考慮一個(gè)隨機(jī)變量x供填,真實(shí)分布p(x)=(12,14,18,18),非真實(shí)分布q(x)=(14,14,14,14)罢猪,則H(p)=1.75?bits(最短平均碼長)近她,交叉熵H(p,q)=12log24+14log24+18log24+18log24=2?bits。由此可以看出根據(jù)非真實(shí)分布q(x)得到的平均碼長大于根據(jù)真實(shí)分布p(x)
得到的平均碼長坡脐。
我們?cè)倩喴幌孪鄬?duì)熵的公式。DKL(p||q)=∑xp(x)logp(x)q(x)=∑xp(x)logp(x)?p(x)logq(x)
有沒有發(fā)現(xiàn)什么房揭?
熵的公式H(p)=?∑xp(x)logp(x)
交叉熵的公式H(p,q)=∑xp(x)log1q(x)=?∑xp(x)logq(x)
所以有:
DKL(p||q)=H(p,q)?H(p)
(當(dāng)用非真實(shí)分布q(x)得到的平均碼長比真實(shí)分布p(x)
得到的平均碼長多出的比特?cái)?shù)就是相對(duì)熵)
又因?yàn)镈KL(p||q)≥0
所以H(p,q)≥H(p)
(當(dāng)p(x)=q(x)
時(shí)取等號(hào)备闲,此時(shí)交叉熵等于信息熵)
并且當(dāng)H(p)
為常量時(shí)(注:在機(jī)器學(xué)習(xí)中,訓(xùn)練數(shù)據(jù)分布是固定的)捅暴,最小化相對(duì)熵DKL(p||q)等價(jià)于最小化交叉熵H(p,q)
也等價(jià)于最大化似然估計(jì)(具體參考Deep Learning 5.5)恬砂。
在機(jī)器學(xué)習(xí)中,我們希望在訓(xùn)練數(shù)據(jù)上模型學(xué)到的分布P(model)
和真實(shí)數(shù)據(jù)的分布P(real) 越接近越好蓬痒,所以我們可以使其相對(duì)熵最小泻骤。但是我們沒有真實(shí)數(shù)據(jù)的分布,所以只能希望模型學(xué)到的分布P(model)和訓(xùn)練數(shù)據(jù)的分布P(train)
盡量相同梧奢。假設(shè)訓(xùn)練數(shù)據(jù)是從總體中獨(dú)立同分布采樣的狱掂,那么我們可以通過最小化訓(xùn)練數(shù)據(jù)的經(jīng)驗(yàn)誤差來降低模型的泛化誤差。即:
希望學(xué)到的模型的分布和真實(shí)分布一致亲轨,P(model)?P(real)
但是真實(shí)分布不可知趋惨,假設(shè)訓(xùn)練數(shù)據(jù)是從真實(shí)數(shù)據(jù)中獨(dú)立同分布采樣的,P(train)?P(real)
因此惦蚊,我們希望學(xué)到的模型分布至少和訓(xùn)練數(shù)據(jù)的分布一致器虾,P(train)?P(model)
根據(jù)之前的描述,最小化訓(xùn)練數(shù)據(jù)上的分布P(train)
與最小化模型分布P(model)的差異等價(jià)于最小化相對(duì)熵蹦锋,即DKL(P(train)||P(model))兆沙。此時(shí),P(train)就是DKL(p||q)中的p莉掂,即真實(shí)分布葛圃,P(model)就是q。又因?yàn)橛?xùn)練數(shù)據(jù)的分布p是給定的,所以求DKL(p||q)等價(jià)于求H(p,q)
装悲。得證昏鹃,交叉熵可以用來計(jì)算學(xué)習(xí)模型分布與訓(xùn)練分布之間的差異。交叉熵廣泛用于邏輯回歸的Sigmoid和Softmax函數(shù)中作為損失函數(shù)使用诀诊。這篇文章先不說了洞渤。
信息熵是衡量隨機(jī)變量分布的混亂程度属瓣,是隨機(jī)分布各事件發(fā)生的信息量的期望值载迄,隨機(jī)變量的取值個(gè)數(shù)越多,狀態(tài)數(shù)也就越多抡蛙,信息熵就越大护昧,混亂程度就越大。當(dāng)隨機(jī)分布為均勻分布時(shí)粗截,熵最大惋耙;信息熵推廣到多維領(lǐng)域,則可得到聯(lián)合信息熵熊昌;條件熵表示的是在X
給定條件下绽榛,Y的條件概率分布的熵對(duì)X
的期望。
相對(duì)熵可以用來衡量兩個(gè)概率分布之間的差異婿屹。
交叉熵可以來衡量在給定的真實(shí)分布下灭美,使用非真實(shí)分布所指定的策略消除系統(tǒng)的不確定性所需要付出的努力的大小。
或者:
信息熵是傳輸一個(gè)隨機(jī)變量狀態(tài)值所需的比特位下界(最短平均編碼長度)昂利。
相對(duì)熵是指用q
來表示分布p
??額外需要的編碼長度届腐。
交叉熵是指用分布q
來表示本來表示分布p
的平均編碼長度。
6蜂奸、參考
1犁苏、吳軍《數(shù)學(xué)之美》
2、李航《統(tǒng)計(jì)學(xué)習(xí)方法》
3扩所、馬春鵬《模式識(shí)別與機(jī)器學(xué)習(xí)》
3傀顾、https://www.zhihu.com/question/41252833?如何通俗的解釋交叉熵與相對(duì)熵
4、https://www.zhihu.com/question/65288314/answer/244557337為什么交叉熵(cross-entropy)可以用于計(jì)算代價(jià)碌奉?
5短曾、https://baike.baidu.com/item/%E4%BA%A4%E5%8F%89%E7%86%B5/8983241?fr=aladdin 交叉熵的百度百科解釋
6、https://blog.csdn.net/saltriver/article/details/53056816信息熵到底是什么
7赐劣、后記
本人不是大神嫉拐,大牛。目前寫博客是為了讓我自己更深刻地記憶學(xué)過的知識(shí)和對(duì)知識(shí)進(jìn)行梳理魁兼。這篇博客是我的第一篇婉徘,其中借鑒了不少其他博主的博客里的分享,都有標(biāo)注來源,如有遺忘盖呼,勞煩提醒儒鹿,衷心感謝他們對(duì)自己所掌握的知識(shí)的分享。這篇博客可能還存在著一些錯(cuò)誤几晤,如有發(fā)現(xiàn)约炎,請(qǐng)求斧正,謝謝蟹瘾。