Machine-Learning

交叉熵與稀疏交叉熵:何時使用其中一個

  • January 31, 2018

我正在玩卷積神經網絡,使用 Keras+Tensorflow 對分類數據進行分類。我有兩個損失函數可供選擇:categorial_crossentropysparse_categorial_crossentropy

我對categorial_crossentropy損失函數有一個很好的直覺,它的定義如下:

在哪裡,

  • 參考模型參數,例如神經網絡的權重
  • 是真正的標籤
  • 是預測的標籤

兩個標籤都使用 one-hot 編碼方案。

問題:

  • 上述損失函數如何變化sparse_categorial_crossentropy
  • 它背後的數學直覺是什麼?
  • 什麼時候使用一個而不是另一個?

分類交叉熵和稀疏分類交叉熵都具有您上面提到的相同損失函數。唯一的區別是您提到的格式 $ Y_i $ (即真實標籤)。

如果你的 $ Y_i $ 是單熱編碼的,使用 categorical_crossentropy。示例(對於 3 類分類):[1,0,0]、[0,1,0]、[0,0,1]

但是如果你的 $ Y_i $ 是整數,使用 sparse_categorical_crossentropy。上述三類分類問題的示例:[1]、[2]、[3]

使用完全取決於您如何加載數據集。使用稀疏分類交叉熵的一個優點是它節省了內存和計算時間,因為它只是對一個類使用單個整數,而不是整個向量。

引用自:https://stats.stackexchange.com/questions/326065

comments powered by Disqus