交叉熵

 一、交叉熵的定義:函數

在信息論中,交叉熵是表示兩個機率分佈p,q,其中p表示真實分佈,q表示非真實分佈,在相同的一組事件中,其中,用非真實分佈q來表示某個事件發生所須要的平均比特數。從這個定義中,咱們很難理解交叉熵的定義。下面舉個例子來描述一下:測試

假設如今有一個樣本集中兩個機率分佈p,q,其中p爲真實分佈,q爲非真實分佈。假如,按照真實分佈p來衡量識別一個樣本所須要的編碼長度的指望爲:編碼

可是,若是採用錯誤的分佈q來表示來自真實分佈p的平均編碼長度,則應該是:spa

此時就將H(p,q)稱之爲交叉熵。交叉熵的計算方式以下:blog

對於離散變量採用如下的方式計算:事件

對於連續變量採用如下的方式計算:io

實際上,交叉熵是衡量兩個機率分佈p,q之間的類似性。這能夠子啊特徵工程中,用來衡量變量的重要性。變量

 二、交叉熵的應用:im

(1)在特徵工程中,能夠用來衡量兩個隨機變量之間的類似度數據

(2)語言模型中(NLP),因爲真實的分佈p是未知的,在語言模型中,模型是經過訓練集獲得的,交叉熵就是衡量這個模型在測試集上的正確率。其計算方式以下:

    

其中,N是表示的測試集的大小,q(x)表示的是事件x在訓練集中的機率(在nlp中就是關鍵詞在訓練語料中的機率)。

(3)在邏輯迴歸中的應用。

因爲交叉熵是衡量兩個分佈之間的類似度,在邏輯迴歸中,首先數據集真實的分佈是p,經過邏輯迴歸模型預測出來的結果對應的分佈是q,此時交叉熵在這裏就是衡量預測結果q與真實結果p之間的差別程度,稱之爲交叉熵損失函數。具體以下:

假設,對應兩分類的邏輯迴歸模型logistic regression來講,他的結果有兩個0或者1,在給定預測向量x,經過logistics regression迴歸函數g(z)=1/(1+e-z),則真實結果y=1,對應預測結果y'=g(wx);真實結果y=0,對應預測結果y'=1-g(wx);以上就是經過g(wx)和1-g(wx)來描述原數據集0-1分佈。根據交叉熵的定義可知:

上式是針對測試集一個樣本獲得的交叉熵。若測試集有N個樣本,對應的交叉熵損失函數表示方式以下:

相關文章
相關標籤/搜索