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