SigmoidCrossEntropyWithLogits

genel sınıf SigmoidCrossEntropyWithLogits

Kamu İnşaatçıları

Genel Yöntemler

statik <T TNumber'ı genişletir > İşlenen <T>
sigmoidCrossEntropyWithLogits ( Kapsam kapsamı, İşlenen <T> etiketleri, İşlenen <T> logitleri)
logits cinsinden sigmoid çapraz entropiyi hesaplar.

Kalıtsal Yöntemler

Kamu İnşaatçıları

genel SigmoidCrossEntropyWithLogits ()

Genel Yöntemler

public static İşlenen <T> sigmoidCrossEntropyWithLogits ( Kapsam kapsamı, İşlenen <T> etiketleri, İşlenen <T> logitleri)

logits cinsinden sigmoid çapraz entropiyi hesaplar.

Her sınıfın bağımsız olduğu ve birbirini dışlamadığı ayrık sınıflandırma görevlerindeki olasılık hatasını ölçer. Örneğin, bir resmin aynı anda hem fil hem de köpek içerebileceği çoklu etiket sınıflandırması yapılabilir.

Kısa olması açısından x = logits , z = labels olsun. Sahte koddaki lojistik kayıp

 z * -log(sigmoid(x)) + (1 - z) * -log(1 - sigmoid(x))
  = z * -log(1 / (1 + exp(-x))) + (1 - z) * -log(exp(-x) / (1 + exp(-x)))
  = z * log(1 + exp(-x)) + (1 - z) * (-log(exp(-x)) + log(1 + exp(-x)))
  = z * log(1 + exp(-x)) + (1 - z) * (x + log(1 + exp(-x))
  = (1 - z) * x + log(1 + exp(-x))
  = x - x * z + log(1 + exp(-x))
 

x < 0 için exp(-x) te taşmayı önlemek için yukarıdakileri yeniden formüle ediyoruz

 x - x * z + log(1 + exp(-x))
  = log(exp(x)) - x * z + log(1 + exp(-x))
  = - x * z + log(1 + exp(x))
 

Bu nedenle, kararlılığı sağlamak ve taşmayı önlemek için uygulama bu eşdeğer formülasyonu kullanır.

   max(x, 0) - x * z + log(1 + exp(-abs(x)))
 

logitler ve labels aynı tür ve şekle sahip olmalıdır.

Parametreler
kapsam TensorFlow kapsamı
etiketler etiketler
logitler float32 veya float64 türündeki logitler
İade
  • bileşen bazında lojistik kayıplar.
Atar
YasadışıTartışmaİstisna logit'ler ve etiketler aynı şekle sahip değilse