Публичные конструкторы
Публичные методы
статический <T расширяет TNumber > Операнд <T> | sigmoidCrossEntropyWithLogits (область действия , метки операндов <T>, логиты операндов <T>) Вычисляет сигмовидную перекрестную энтропию по заданным logits . |
Унаследованные методы
Публичные конструкторы
общественный SigmoidCrossEntropyWithLogits ()
Публичные методы
public static Operand <T> sigmoidCrossEntropyWithLogits ( область области действия, метки операнда <T>, логиты операнда <T>)
Вычисляет сигмовидную перекрестную энтропию по заданным logits
.
Измеряет вероятностную ошибку в задачах дискретной классификации, в которых каждый класс независим и не является взаимоисключающим. Например, можно выполнить классификацию по нескольким меткам, при которой изображение может одновременно содержать и слона, и собаку.
Для краткости пусть x = logits
, z = labels
. Логистические потери в псевдокоде
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
, чтобы избежать переполнения в exp(-x)
, мы переформулируем приведенное выше
x - x * z + log(1 + exp(-x)) = log(exp(x)) - x * z + log(1 + exp(-x)) = - x * z + log(1 + exp(x))
Следовательно, чтобы обеспечить стабильность и избежать переполнения, реализация использует эту эквивалентную формулировку.
max(x, 0) - x * z + log(1 + exp(-abs(x)))
логиты и labels
должны иметь одинаковый тип и форму.
Параметры
объем | Область видимости TensorFlow |
---|---|
этикетки | этикетки |
логиты | логиты типа float32 или float64 |
Возврат
- покомпонентные логистические потери.
Броски
IllegalArgumentException | если логиты и метки не имеют одинаковой формы |
---|