Construtores Públicos
Métodos Públicos
estático <T estende TNumber > Operando <T> | sigmoidCrossEntropyWithLogits (escopo do escopo , rótulos do operando <T>, logits do operando <T>) Calcula a entropia cruzada sigmóide dados logits . |
Métodos herdados
Construtores Públicos
público SigmoidCrossEntropyWithLogits ()
Métodos Públicos
public static Operand <T> sigmoidCrossEntropyWithLogits (escopo do escopo , rótulos do operando <T>, logits do operando <T>)
Calcula a entropia cruzada sigmóide dados logits
.
Mede o erro de probabilidade em tarefas de classificação discreta em que cada classe é independente e não mutuamente exclusiva. Por exemplo, pode-se realizar uma classificação multirrótulo onde uma imagem pode conter um elefante e um cachorro ao mesmo tempo.
Para resumir, seja x = logits
, z = labels
. A perda logística no pseudocódigo é
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))
Para x < 0
, para evitar estouro em exp(-x)
, reformulamos o acima
x - x * z + log(1 + exp(-x)) = log(exp(x)) - x * z + log(1 + exp(-x)) = - x * z + log(1 + exp(x))
Assim, para garantir a estabilidade e evitar overflow, a implementação utiliza esta formulação equivalente
max(x, 0) - x * z + log(1 + exp(-abs(x)))
logits e labels
devem ter o mesmo tipo e formato.
Parâmetros
escopo | O escopo do TensorFlow |
---|---|
rótulos | os rótulos |
logitos | os logits do tipo float32 ou float64 |
Devoluções
- as perdas logísticas em termos de componentes.
Lança
IllegalArgumentException | se logits' e rótulos' não tiverem o mesmo formato |
---|