[英]Implementing Binary Cross Entropy loss gives different answer than Tensorflow's
[英]Keras Tensorflow Binary Cross entropy loss greater than 1
庫:Keras,后端:Tensorflow
我正在訓練單個類/二進制分類問題,其中我的最后一層具有單個節點,且激活了S形。 我正在用二進制交叉熵損失來編譯我的模型。 當我運行代碼來訓練模型時,我注意到損失的值大於1。這是正確的,還是我在某個地方出錯了? 我檢查了標簽。 它們都是0和1。
二進制交叉熵損失是否可能大於1?
Keras binary_crossentropy
首先將您的預測概率轉換為對數。 然后,它使用tf.nn.sigmoid_cross_entropy_with_logits
計算交叉熵,並將其平均值返回給您。 從數學上來說,如果標簽為1並且預測概率較低(如0.1),則交叉熵可以大於1,如losses.binary_crossentropy(tf.constant([1.]), tf.constant([0.1]))
。
是的,它是正確的,交叉熵沒有限制在任何特定范圍內,只是正數(> 0)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.