javascript
【Pytorch神经网络理论篇】 21 信息熵与互信息:联合熵+条件熵+交叉熵+相对熵/KL散度/信息散度+JS散度
1 信息熵
熵 (Entropy),信息熵:常被用來作為一個(gè)系統(tǒng)的信息含量的量化指標(biāo),從而可以進(jìn)一步用來作為系統(tǒng)方程優(yōu)化的目標(biāo)或者參數(shù)選擇的判據(jù)。
1.1 信息熵的性質(zhì)
- 單調(diào)性,發(fā)生概率越高的事件,其攜帶的信息量越低;
- 非負(fù)性,信息熵可以看作為一種廣度量,非負(fù)性是一種合理的必然;
- 累加性,多隨機(jī)事件同時(shí)發(fā)生存在的總不確定性的量度約等于各事件不確定性的量度的和,
- 假設(shè)信息熵的函數(shù)是I,計(jì)算概率的函數(shù)是P,I是關(guān)于P的減函數(shù),即I(P1,P2)=I(P1)+I(P2)。
1.1.1 信息熵的公式
香農(nóng)從數(shù)學(xué)上嚴(yán)格證明了滿足上述三個(gè)條件的隨機(jī)變量不確定性度量函數(shù)具有唯一形式:
其中的 C 為常數(shù),我們將其歸一化為 C = 1 C=1C=1 即得到了信息熵公式。目前,信息熵大多都是通過上式進(jìn)行計(jì)算的(式中的Pi是概率函數(shù)Pi(Ui)的計(jì)算結(jié)果,求和符號中的i代表從1到n之間的整數(shù)。在實(shí)踐中對數(shù)一般以2為底,約定0log0=0。
1.2 信息熵的計(jì)算公式
信息熵屬于一個(gè)抽象概念,其計(jì)算方法沒有固定公式。任何符合信息熵特點(diǎn)的公式都可以被用作信息熵的計(jì)算。
1.2.1 對數(shù)的信息熵
1.2.2?單符號二元信源的信息熵
以一個(gè)最簡單的單符號二元信源為例說明,該信源符號U(上式中的X)僅可以取值為a或b。其中,取a的概率為p,則取b的概率為1-p。該信源的信息熵可以記為H(U)=pI(p)+(1-p)I(1-p),所形成的曲線如圖所示。
在圖8-2中,x軸代表符號U取值為a的概率值p,y軸代表符號U的信息熵H(U)。由圖8-2可以看出信息熵有如下幾個(gè)特性。
- 確定性:當(dāng)符號U取值為a的概率值p=0和p=1時(shí),U的值是確定的,沒有任何變化量,所以信息熵為0。
- 極值性:當(dāng)p=0.5時(shí),U的信息熵達(dá)到了最大。
- 對稱性:圖形在水平方向關(guān)于p=0.5對稱。
- 非負(fù)性:即收到一個(gè)信源符號所獲得的信息熵應(yīng)為正值,H(U)≥0。
1.3 連續(xù)信息熵及特性
信源中的變量是從連續(xù)數(shù)據(jù)中取值。連續(xù)信源可以有無限個(gè)值,信息量是無限大,對其求信息熵已無意義,一般常會(huì)以其他的連續(xù)信源做參照,相對熵的值進(jìn)行度量。
1.4 聯(lián)合熵
聯(lián)合熵(joint entropy)可將一維隨機(jī)變量分布推廣到多維隨機(jī)變量分布。兩個(gè)變量x和Y的聯(lián)合信息熵H(X,Y)也可以由聯(lián)合概率函數(shù)P(x,y)計(jì)算得來:
式中的聯(lián)合概率函數(shù)P(x,y)是指x、y同時(shí)滿足某一條件的概率。
1.5 條件熵
條件熵(conditional entropy)表示在已知隨機(jī)變量X的條件下,隨機(jī)變量Y的不確定性,條件熵H(Y|X)可以由聯(lián)合櫥率函數(shù)P(x,y)和條件概率函數(shù)P(y|x)計(jì)算得來:
?其中 P(x,y)=P(y|x)P(x),即x和y的聯(lián)合概率等于“在x條件下,y出現(xiàn)的概率”乘以“x的邊際概率”。
?1.5.1 條件熵的另一種計(jì)算方式
條件熵H(Y|X)也可以由X和Y的聯(lián)合信息熵計(jì)算而來:
可以描述為,條件熵H(Y|X)等于聯(lián)合熵H(X,Y)減去X的邊際熵H(X)。
1.6 交叉熵
交叉熵(cross entropy)在神經(jīng)網(wǎng)絡(luò)中常用于計(jì)算分類模型的損失。交叉熵表示的是實(shí)際輸出(概率)與期望輸出(概率)之間的距離。交又熵越小,兩個(gè)概率越接近。
1.6.1 交叉熵?cái)?shù)學(xué)公式
交叉熵公式假設(shè)樣本集的概率分布函數(shù)為P(x),模型預(yù)測結(jié)果的概率分布函數(shù)為Q(x),則真實(shí)樣本集的信息熵為(p是函數(shù)P(x)的值):
使用模型預(yù)測結(jié)果的概率分布Q(x)來表示數(shù)據(jù)集中樣本分類的信息熵,則上述式子可改寫為:
Q(x)與P(x)的交叉熵。因?yàn)榉诸惖母怕蕘碜詷颖炯?#xff0c;所以式中的概率部分用Qx)來表示。
?1.6.2 交叉熵?fù)p失
交叉熵?fù)p失表示模型對正向樣本預(yù)測的交叉熵(求和項(xiàng)中的第一項(xiàng))與對負(fù)向樣本預(yù)測的交叉熵(求和項(xiàng)中的第二項(xiàng))之和。正向樣本的概率為a,預(yù)測負(fù)向樣本的概率為1-a。
1.7 相對熵/KL散度/信息散度
相對熵,又被稱為KL散度或信息散度,用來度量兩個(gè)概率分布間的非對稱性差異。在信息理論中,相對熵等價(jià)于兩個(gè)概率分布的信息熵的差值。
1.7.1?相對熵的公式
?設(shè)P(x)、Q(x)是離散隨機(jī)變量集合X中取值x的兩個(gè)概率分布函數(shù),它們的結(jié)果分別為p和q,則p對q的相對熵如下:
由式可知,當(dāng)P(x)和Q(x)兩個(gè)概率分布函數(shù)相同時(shí),相對熵為0(因?yàn)閘og1=0)并且相對熵具有不對稱性,“Ep”代表期望,期望是指每次可能結(jié)果的概率乘以結(jié)果的總和。
1.7.2 相對熵與交叉熵的關(guān)系
將1.7.1中式子中對數(shù)部分展開,可以看到相對熵與交叉熵之間的關(guān)系:
由式可以看出p與q的相對熵是由二者的交叉熵去掉p的邊際熵得來,相對熵是交叉熵中去掉熵的部分。
在神經(jīng)網(wǎng)絡(luò)中,由于訓(xùn)練數(shù)據(jù)集是固定的,即p的嫡一定,因此最小化交叉熵等價(jià)于最小化預(yù)測結(jié)果與真實(shí)分布之間的相對熵(模型的輸出分布與真實(shí)分布的相對熵越小,表明模型對真實(shí)樣本擬合效果越好),這也是要用交叉熵作為損失函數(shù)的原因。
1.8 JS散度
1.8.1 JS散度出現(xiàn)的原因
KL散度可以表示兩個(gè)概率分布的差異,但它并不是對稱的。在使用KL散度訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),會(huì)有因順序不同而造成訓(xùn)川練結(jié)果不同的情況。
1.8.2 JS散度
JS散度在KL散度的基礎(chǔ)上進(jìn)行了一次變換,使兩個(gè)概率分布(p、q)間的差異度量具有對稱性:
1.8.3 JS散度的特性
與KL散度相比,JS散廢更適合在神經(jīng)網(wǎng)絡(luò)中應(yīng)用。它具有以下特性。
- 對稱性:可以衡量兩種不同分布之間的差異。
- 大于或等于0:當(dāng)兩個(gè)分布完全重疊時(shí),其JS散度達(dá)到最小值0。
- 有上界:當(dāng)兩個(gè)分布差異越來越大時(shí),其JS散度的值會(huì)逐漸增大。當(dāng)兩個(gè)分布的JS散度足夠大時(shí),其值會(huì)收斂到一個(gè)固定值,KL散度是沒有上界的。
- 在互信息的最大化任務(wù)中,常使用JS散度來代替KL散度。
2 互信息
互信息是衡量隨機(jī)變量之間相互依賴程度的度量,用于度量兩個(gè)變量間的共享信息量。
2.1 三句話解釋互信息
- 一個(gè)隨機(jī)變量中包含的關(guān)于另一個(gè)隨機(jī)變量的信息量,
- 一個(gè)隨機(jī)變量由于另一個(gè)已知的隨機(jī)變量發(fā)生變化而減少的不確定性。
- 例如,到中午的時(shí)候、去吃飯的不確定性,與在任意時(shí)間去吃飯的不確定性之差。
2.2 互信息公式
設(shè)有兩個(gè)變量集合X和Y,它們中的個(gè)體分別為x、y,它們的聯(lián)合概率分布函數(shù)為P(x,y),邊際概率分布函數(shù)分別是P(x)、P(y)?;バ畔⑹侵嘎?lián)合概率分布函數(shù)P(x,y)與邊際概分布函數(shù)P(x),P(y)的相對熵。
?2.3 互信息的特點(diǎn)
(1)對稱性:由于互信息屬于兩個(gè)變量間的共享信息,因此I(X;Y)=I(Y|X)。
(2)獨(dú)立變量間互信息為0:如果兩個(gè)變量獨(dú)立,則它們之間沒有任何共享信息,此時(shí)互信息為0。
(3)非負(fù)性:共享信息要么有,要么沒有。互信息量不會(huì)出現(xiàn)負(fù)值。
2.4 互信息與條件熵之間關(guān)系
?2.5 互信息與聯(lián)合熵之間關(guān)系
?2.6 互信息的應(yīng)用
- 互信息已被用作機(jī)器學(xué)習(xí)中的特征選擇和特征變換的標(biāo)準(zhǔn)。它可表示變量的相關(guān)性和冗余性,例如,最小冗余特征選擇。它可以確定數(shù)據(jù)集中兩個(gè)不同聚類的相似性。
- 在時(shí)間序列分析中,它還可以用于相位同步的檢測。
- 對抗神經(jīng)網(wǎng)絡(luò)(如DIM模型)及圖神經(jīng)網(wǎng)絡(luò)(如DGI模型)中,使用互信息來作為無監(jiān)督方式提取特征的方法。
總結(jié)
以上是生活随笔為你收集整理的【Pytorch神经网络理论篇】 21 信息熵与互信息:联合熵+条件熵+交叉熵+相对熵/KL散度/信息散度+JS散度的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql整数索引没用到_MYSQL 索
- 下一篇: datasnap ajax jsonp,