Konstruktorzy publiczni
Metody publiczne
statyczny <T rozszerza numer T > Operand <T> | sigmoidCrossEntropyWithLogits (zakres zakresu , etykiety argumentów <T>, logity argumentów <T>) Oblicza sigmoidalną entropię krzyżową przy danych logits . |
Metody dziedziczone
Konstruktorzy publiczni
public SigmoidCrossEntropyWithLogits ()
Metody publiczne
public static Operand <T> sigmoidCrossEntropyWithLogits (zakres zakresu , etykiety argumentów <T>, logity argumentów <T>)
Oblicza sigmoidalną entropię krzyżową przy danych logits
.
Mierzy błąd prawdopodobieństwa w zadaniach klasyfikacji dyskretnej, w których każda klasa jest niezależna i nie wyklucza się wzajemnie. Można na przykład przeprowadzić klasyfikację wieloetykietową, w której obraz może zawierać jednocześnie słonia i psa.
Dla zwięzłości niech x = logits
, z = labels
. Strata logistyczna w pseudokodzie wynosi
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))
Dla x < 0
, aby uniknąć przepełnienia exp(-x)
, przeformułujemy powyższe
x - x * z + log(1 + exp(-x)) = log(exp(x)) - x * z + log(1 + exp(-x)) = - x * z + log(1 + exp(x))
Dlatego, aby zapewnić stabilność i uniknąć przepełnienia, w implementacji zastosowano to równoważne sformułowanie
max(x, 0) - x * z + log(1 + exp(-abs(x)))
logity i labels
muszą być tego samego rodzaju i kształtu.
Parametry
zakres | Zakres TensorFlow |
---|---|
etykiety | etykiety |
logity | logity typu float32 lub float64 |
Powroty
- straty logistyczne w zakresie komponentów.
Rzuca
Wyjątek IllegalArgument | jeśli logity i etykiety nie mają tego samego kształtu |
---|