| 此條目需要 精通或熟悉相關主題的編者參與及協助編輯。 (2018年2月2日) 請邀請適合的人士改善本條目。更多的細節與詳情請參見討論頁。 |
在信息論中,基於相同事件測度的兩個概率分佈
和
的交叉熵(英語:Cross entropy)是指,當基於一個「非自然」(相對於「真實」分佈
而言)的概率分佈
進行編碼時,在事件集合中唯一標識一個事件所需要的平均比特數(bit)。
給定兩個概率分佈
和
,
相對於
的交叉熵定義為:
![{\displaystyle H(p,q)=\operatorname {E} _{p}[-\log q]=H(p)+D_{\mathrm {KL} }(p\|q),\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/80bd13c723dce5056a6f3aa1b29e279fb90d40bd)
其中
是
的熵,
是從
與
的KL散度(也被稱為p相對於q的相對熵)。
對於離散分佈
和
,這意味着:
![{\displaystyle H(p,q)=-\sum _{x}p(x)\,\log q(x).\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0cb6da032ab424eefdca0884cd4113fe578f4293)
對於連續分佈也是類似的。我們假設
和
在測度
上是絕對連續的(通常
是Lebesgue measure on a Borel σ-algebra)。設
和
分別為
的
在測度
上概率密度函數。則
![{\displaystyle -\int _{X}P(x)\,\log Q(x)\,dr(x)=\operatorname {E} _{p}[-\log Q].\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9e8682bc3c75a03bcabd64652ec421cadc4ea76b)
源起
在信息論中, 以直接可解編碼模式通過值
編碼一個信息片段,使其能在所有可能的
集合中唯一標識該信息片段,Kraft–McMillan theorem確保這一過程可以被看作一種
上的隱式概率分佈
,從而使得
是
的編碼位長度。 因此, 交叉熵可以看作每個信息片段在錯誤分佈
下的期望編碼位長度,而信息實際分佈為
。這就是期望
是基於
而不是
的原因。
![{\displaystyle H(p,q)=\operatorname {E} _{p}[l_{i}]=\operatorname {E} _{p}\left[\log {\frac {1}{q(x_{i})}}\right]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/374e8c67971e6177b0123302c419a34cc5adc8c2)
![{\displaystyle H(p,q)=\sum _{x_{i}}p(x_{i})\,\log {\frac {1}{q(x_{i})}}\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4e41b8ce09c9e3f532c89013dca5396a5bf34484)
![{\displaystyle H(p,q)=-\sum _{x}p(x)\,\log q(x).\!}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0cb6da032ab424eefdca0884cd4113fe578f4293)
估計
在大多數情況下,我們需要在不知道分佈
的情況下計算其交叉熵。例如在語言模型中, 我們基於訓練集
創建了一個語言模型, 而在測試集合上通過其交叉熵來評估該模型的準確率。
是語料中詞彙的真實分佈,而
是我們獲得的語言模型預測的詞彙分佈。由於真實分佈是未知的,我們不能直接計算交叉熵。在這種情況下,我們可以通過下式來估計交叉熵:
![{\displaystyle H(T,q)=-\sum _{i=1}^{N}{\frac {1}{N}}\log _{2}q(x_{i})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bb11eae1b2b1120c2bcccf741a51c2511c0cbffe)
是測試集大小,
是在訓練集上估計的事件
發生的概率。我們假設訓練集是從
的真實採樣,則此方法獲得的是真實交叉熵的蒙特卡洛估計。
參考資料