資訊理論 交叉熵

2022-06-01 16:21:17 字數 1869 閱讀 1489

參考部落格:

主要研究對乙個訊號包含資訊的多少進行量化。

資訊理論的基本想法是乙個不太可能的事件居然發生了,要比乙個非常可能的事件發生,能提供更多的資訊。例如一則訊息說:「今天早上太陽公升起」,這是一件很平常的事情, 資訊量是如此之少以至於沒有必要傳送,但一條訊息說:「今天早上有日食」,這件事發生概率很小,資訊量就很豐富。

在機器學習中,主要使用資訊理論的一些關鍵思想來描述概率分布或者量化概率分布之間的相似性

我們想要通過這種基本想法來量化資訊。特別地,

• 非常可能發生的事件資訊量要比較少,並且極端情況下,確定能夠發生的事件應該沒有資訊量。

• 較不可能發生的事件具有更高的資訊量。

• 獨立事件應具有倍增量的資訊。例如,投擲的硬幣兩次正面朝上傳遞的資訊量,應該是投擲一次硬幣正面朝上的資訊量的兩倍。

為了滿足上述三個性質,我們定義乙個事件 $x=x$ 的 自資訊(self-information)為:$$}(x) = - \log p(x)$$

在這裡,我們用 log 來表示自然對數,其底數為 e(這符合python中numpy包的規則)。因此我們定義的$i(x)$的單位是奈特(nats)。

一奈特是以$\frac $的概率觀測到乙個事件時獲得的資訊量。其他的材料中使用底數為 2 的對數,單位是位元(bit)或者夏農(shannons);通過位元度量的資訊只是通過奈特度量資訊的常數倍。

熵是資訊量的期望值:$h(x) = e[i(x)]$

通常使用夏農熵(shannon entropy)來對整個概率分布中的不確定性總量進行量化:$$h(x) = }[i(x)] =  - }[\log p(x)]$$

離散時:$h(x) =  - }[\log p(x)] =  - \sum\limits_ $

連續時:$h(x) =  - }[\log p(x)] =  - \int\limits_ $

為了保證有效性,這裡約定當$p(x) \to 0$時,有$p(x)\log p(x) \to 0$。

乙個分布的夏農熵是指遵循這個分布的事件所產生的期望資訊總量。

當x 是連續的,夏農熵被稱為微分熵(differential entropy)。

當x為0-1分布時,熵與概率p的關係如下圖(二值隨機變數的夏農熵):

該圖說明了更接近確定性的分布(兩邊)具有較低的夏農熵,而更接近均勻分布的分布(中間)具有較高的夏農熵。

水平軸是 p,表示二值隨機變數等於 1 的概率。熵由$h(x) = (p - 1)\log (1 - p) - p\log p$給出。

如果我們對於同乙個隨機變數 x 有兩個單獨的概率分布 p(x) 和 q(x) ,我們可以使用kl散度(kullback-leibler (kl) divergence)來衡量這兩個分布的差異(也稱為相對熵):

$$}(p||q) = }[\log \frac} }] = }[\log p(x) - \log q(x)]$$

夏農熵(h(x))給出了對依據p(x)分布生成的符號進行編碼所需的位元數在平均意義上的最小值 (當對數底數不是 2 時,單位將有所不同)。

$}(p||q)$表示在真實分布為p的前提下,使用q分布進行編碼相對於使用真實分布p進行編碼(即最優編碼)所多出來的bit數。

$$h(p,q) = h(p) + }(p||q) =  - }[\log q(x)]$$

交叉熵與相對熵僅相差了h(p),當p已知時,可以把h(p)看做乙個常數,此時交叉熵與kl距離在行為上是等價的,都反映了分布p(x),q(x)的相似程度。

最小化交叉熵等於最小化kl距離。它們都將在p=q時取得最小值h(p)(p=q時kl距離為0),因此有的工程文獻中將最小化kl距離的方法稱為principle of minimum cross-entropy (mce)或minxent方法。

熵與資訊理論

假設任何檔案都可以被壓縮到 n 個二進位制位 bit 那麼其最多可以表示 2n 個不同的壓縮結果。也即,如果存在 2n 1個檔案,根據鴿籠原理,必然至少有兩個檔案得到同一壓縮效果。這就意味著,這兩個檔案不可能都無損地還原。因此,可以得出乙個相對抽象的結論,並非所有檔案都可以被壓縮到 n 個bit 位...

TensorFlow 資訊理論 資訊熵2

tensorflow 資訊理論 資訊熵2 flyfish tensorflow 資訊理論 資訊熵1 熵是接收的每條訊息中包含的資訊的平均量,又被稱為資訊熵 信源熵 平均自資訊量 自資訊量已經知道它的意思,平均自資訊量就是加權平均 在資訊理論裡 熵,資訊熵 信源熵 平均自資訊量都是乙個意思 乙個系統的...

資訊熵,交叉熵和相對熵

怎樣去量化資訊?一些大牛對某些問題的見解,我們會說乾貨滿滿,就代表這個見解具有很大的資訊。對於一些不太確定的事,比如一場足球比賽的結果,會有勝平負三種情況,有不確定的情況,但如果某人有直接的內幕訊息,說這場主隊穩輸,因為 這樣的乙個資訊就具有很大的資訊量了,因為不確定的事情變得十分確定。如果有人告訴...