一文搞懂各種“熵”


熵是信息論非常重要的概念。本文簡要介紹一下幾個概念:

  • 聯合熵
  • 條件熵
  • 相對熵
  • 交叉熵

隨機變量\(X\)的分布的熵為:

\[H(X) = - \sum_x p(x)\log p(x) \]

性質:

  • 熵是隨機變量不確定性的度量,隨機變量的取值個數越多,不確定性越大,混亂程度就越大,信息熵越大。
  • 熵的取值范圍為\(0 \leq H(X) \leq log (n)\)\(n\)表示取值的個數,當隨機分布為均勻分布時,熵取到最大值
  • 在信息傳輸方面,熵是傳輸一個隨機變量狀態值所需的比特位下界(最短平均編碼長度)

聯合熵

\[H(X, Y) = - \sum_x \sum_y p(x, y)\log p(x, y) \]

條件熵

\[H(Y|X) = - \sum_{x, y}p(x, y)\log p(y|x) \]

推導過程:

\[\begin{aligned} H(Y|X) & = - \sum_x p(x)H(Y|X=x)\\ & = - \sum_x p(x) \sum_y p(y|x) \log p(y|x)\\ & = - \sum_x \sum_y p(x, y) \log p(y|x)\\ & = - \sum_{x, y}p(x, y)\log p(y|x) \end{aligned} \]

性質:\(H(X, Y) = H(Y|X) + H(X)\)

推導過程:

\[\begin{aligned} H(X, Y) & = - \sum_x \sum_y p(x, y)\log p(x, y)\\ & = - \sum_x \sum_y p(x, y) [\log p(y|x) + \log p(x)]\\ & = - \sum_x \sum_y p(x, y) \log p(y|x) - \sum_x \sum_y p(x, y) \log p(x)\\ & = H(Y|X) - \sum_x \log p(x) \sum_y p(x, y)\\ & = H(Y|X) - \sum_x [\log p(x)] p(x)\\ & = H(Y|X) + H(X) \end{aligned} \]

其中\(\sum_y p(x, y)\)就是邊緣概率。

相對熵(relative entropy)

相對熵也稱KL散度(KL divergence),衡量的是兩個概率分布之間的差異。

\[D_{KL}(p, q) = \sum_x p(x) \log \frac{p(x)}{q(x)} \]

性質:

  • 相對熵不具有對稱性
  • 相對熵的取值是大於等於0
  • 如果p和q兩個概率分布相同,相對熵為0
  • 可以把相對熵看成一個加權平均,其中概率\(p(x)\)為權重,對每個\(p(x)\)計算一個值\(p(x)/q(x)\)

交叉熵(cross entropy)

\[H(p, q) = - \sum_x p(x) \log q(x) \]

性質:\(D_{KL}(p, q) = H(p, q) - H(p)\)

推導:

\[\begin{aligned} H(p, q) - H(p) & = - \sum_x p(x) \log q(x) + \sum_x p(x) \log p(x)\\ & = \sum_x p(x) \log \frac{p(x)}{q(x)}\\ & = D_{KL}(p, q) \end{aligned} \]

重頭戲來了:

為什么使用交叉熵而不是相對熵來作為損失函數?

交叉熵和相對熵都是非負的,都不是對稱的。

  • 從信息學角度,熵是對隨機變量進行編碼所需的最小字節數
  • KL散度表示如果用B表示A所需要的額外編碼長度
  • 交叉熵表示用B表示A所需要的平均編碼長度。

相對熵 = 交叉熵 - 熵

\(D_{KL}(p||q) = H(p, q) - H(p)\)

真實數據分布p是保持不變的

q是模型的預測的概率分布

結論:當熵不變的時候,最小化相對熵等價於最小化交叉熵。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM