交叉熵在二分類與多分類上的表示 softmax層

logistic函數將上層的輸入值,變換到值域爲[0,1]上,可作爲輸出層的激勵函數。

但當遇到多分類問題,需要使用softmax函數,具體原因自行查閱。

交叉熵損失是分類任務中的常用損失函數,但是是否注意到二分類與多分類情況下的交叉熵形式上的不同呢?
本次記錄一下二者的不同。

兩種形式

這兩個都是交叉熵損失函數,但是看起來長的卻有天壤之別。爲什麼同是交叉熵損失函數,長的卻不一樣呢?

因爲這兩個交叉熵損失函數對應不同的最後一層的輸出:
第一個對應的最後一層是softmax,第二個對應的最後一層是sigmoid。

信息論中的交叉熵

先來看下信息論中交叉熵的形式

 

 

交叉熵是用來描述兩個分佈的距離的,神經網絡訓練的目的就是使 g(x) 逼近 p(x)。

softmax層的交叉熵

g(x)是什麼呢?就是最後一層的輸出 y 。
p(x)是什麼呢?就是我們的one-hot標籤。我們帶入交叉熵的定義中算一下,就會得到第一個式子:

其中 j 代表樣本 x 屬於第 j 類。

sigmoid作爲輸出的交叉熵

sigmoid作爲最後一層輸出的話,那就不能吧最後一層的輸出看作成一個分佈了,因爲加起來不爲1。

現在應該將最後一層的每個神經元看作一個分佈,對應的 target 屬於二項分佈(target的值代表是這個類的概率),那麼第 i 個神經元交叉熵爲:

 

 

所以最後一層總的交叉熵損失函數是:

 

 

發佈了104 篇原創文章 · 獲贊 380 · 訪問量 75萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章