熵 相對熵 交叉熵等理解

2021-10-23 05:37:08 字數 3497 閱讀 2244

**

假設我們聽到了兩件事,分別如下:

事件a:巴西隊進入了2018世界盃決賽圈。

事件b:中國隊進入了2018世界盃決賽圈。

僅憑直覺來說,顯而易見事件b的資訊量比事件a的資訊量要大。究其原因,是因為事件a發生的概率很大,事件b發生的概率很小。所以當越不可能的事件發生了,我們獲取到的資訊量就越大。越可能發生的事件發生了,我們獲取到的資訊量就越小。那麼資訊量應該和事件發生的概率有關,乙個事件發生的概率越大,不確定性越小,則其攜帶的資訊量就越小。

設x是乙個離散型隨機變數,其取值為集合x=x0,x1,…,xn ,則其概率分布函式為p(x)=pr(x=x),x∈x,則定義事件x=x0 的資訊量為:

當p(x0)=1時,該事件必定發生,其資訊量為0.

由於是概率所以p(x0)的取值範圍是[0,1],繪製為圖形如下:

熵用來衡量乙個系統的混亂程度,代表系統中資訊量的總和;熵值越大,表明這個系統的不確定性就越大。

資訊量是衡量某個事件的不確定性,而熵是衡量乙個系統(所有事件)的不確定性。

熵的計算公式:

其中,p(xi)為事件x=xi的概率,−log(p(xi))為事件x=xi的資訊量。

可以看出,熵是資訊量的期望值

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

設 p(x),q(x) 分別是離散隨機變數x的兩個概率分布,則p對q的相對熵是:

表示如果用p來描述目標問題,而不是用q來描述目標問題,得到的資訊增量。求和共有n項,表示為事件的所有可能性,值越小,表示q分布和p分布越接近。

在機器學習中,p往往用來表示樣本的真實分布,比如[1,0,0]表示當前樣本屬於第一類。q用來表示模型所**的分布,比如[0.7,0.2,0.1]

直觀的理解就是如果用p來描述樣本,那麼就非常完美。而用q來描述樣本,雖然可以大致描述,但是不是那麼的完美,資訊量不足,需要額外的一些「資訊增量」才能達到和p一樣完美的描述。如果我們的q通過反覆訓練,也能完美的描述樣本,那麼就不再需要額外的「資訊增量」,q等價於p。

相對熵具有以下性質:

(1)如果p(x)和q(x)的分布相同,則其相對熵等於0

(2)dkl(p∥q)≠dkl(q∥p),也就是相對熵不具有對稱性。

(3)dkl(p∥q)≥0

設 p(x),q(x) 分別是 離散隨機變數x的兩個概率分布,其中p(x)是目標分布,p和q的交叉熵可以看做是,使用分布q(x) 表示目標分布p(x)的困難程度:

將熵、相對熵以及交叉熵的公式放到一起:

通過上面三個公式就可以得到:

相對熵=交叉熵-熵。

在機器學習中,目標的分布p(x) 通常是訓練資料的分布是固定的,即是h§ 是乙個常量。這樣兩個分布的交叉熵h(p,q) 也就等價於最小化這兩個分布的相對熵dkl(p∥q)。

設p(x) 是目標分布(訓練資料的分布),我們的目標的就讓訓練得到的分布q(x)盡可能的接近p(x),這時候就可以最小化dkl(p∥q),等價於最小化交叉熵h(p,q) 。

設有一組訓練樣本x= ,該樣本的分布為p(x) 。假設使用θ 引數化模型得到q(x;θ) ,現用這個模型來估計x 的概率分布,得到似然函式

最大似然估計就是求得θ 使得l(θ) 的值最大,也就是

對上式的兩邊同時取log ,等價優化log 的最大似然估計:

對上式的右邊進行縮放並不會改變argmax 的解,上式的右邊除以樣本的個數m:

和相對熵等價。

注意上式的

相當於求隨機變數x 的函式log(x;θ) 的均值 ,根據大數定理,隨著樣本容量的增加,樣本的算術平均值將趨近於隨機變數的期望。 也就是說

其中ex∼p 表示符合樣本分佈p 的期望,這樣就將最大似然估計使用真實樣本的期望來表示

對右邊取負號,將最大化變成最小化運算。

由於ex∼p(logp(x)) 是訓練樣本的期望,是個固定的常數,在求最小值時可以忽略,所以最小化dkl(p∥q) 就變成了最小化−ex∼p(logq(x)) ,這和最大似然估計是等價的。

最大似然估計、相對熵、交叉熵的公式如下

從上面可以看出,最小化交叉熵,也就是最小化dkl ,從而**的分布q(x) 和訓練樣本的真實分布p(x) 最接近。而最小化dkl 和最大似然估計是等價的。

設訓練資料中類別的概率分布為p(ci) ,那麼目標分布p(ci) 和**分布q(ci)的交叉熵為

每個訓練樣本所屬的類別是已知的,並且每個樣本只會屬於乙個類別(概率為1),屬於其他類別概率為0。具體的,可以假設有個三分類任務,三個類分別是:貓,豬,狗。現有乙個訓練樣本類別為貓,則有:

通過**得到的三個類別的概率分別為:q(cat)=0.6,q(pig)=0.2,q(dog)=0.2 ,計算p 和q 的交叉熵為:

利用這種特性,可以將樣本的類別進行重新編碼,就可以簡化交叉熵的計算,這種編碼方式就是one-hot 編碼。以上面例子為例,

通過這種編碼方式,在計算交叉熵時,只需要計算和訓練樣本對應類別**概率的值,其他的項都是0⋅logq(ci)=0 。

具體的,交叉熵計算公式變成如下:

其中ci 為訓練樣本對應的類別,上式也被稱為負對數似然(negative log-likelihood,nll)。

相對熵可以用來度量兩個分布相似性,假設分布p是訓練樣本的分布,q是**得到的分布。分類訓練的過程實際上就是最小化dkl(p∥q),由於由於交叉熵

其中,h§是訓練樣本的熵,是乙個已知的常量,這樣最小化相對熵就等價於最小化交叉熵。

從最大似然估計轉化為最小化負對數似然

也等價於最小化相對熵。

參考

資訊熵,交叉熵和相對熵

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

cross entropy交叉熵 相對熵

1.熵用來表示所有資訊量的期望。2.相對熵又稱kl散度,如果我們對於同乙個隨機變數 x 有兩個單獨的概率分布 p x 和 q x 我們可以使用 kl 散度 kullback leibler kl divergence 來衡量這兩個分布的差異。3.交叉熵 相對熵 p的熵 交叉熵。在機器學習中,我們需要...

熵,交叉熵,相對熵(KL散度)

先插入乙個鏈結視覺化資訊理論,簡單明瞭很容易看懂 資訊熵是度量隨機變數不確定度的指標,資訊熵越大意味著隨機變數不確定度越高,意味著系統的有序程度越低。他的定義 如果隨機變數p 他的概率p,i 則隨機變數p 的熵定義為 h p i 1 np x i lo g2p xi 交叉熵 cross entrop...