tf.nn.log_poisson_loss
| Просмотреть исходный код на GitHub |
Вычисляет логарифмическую потерю Пуассона, учитывая log_input.
tf.nn.log_poisson_loss(
targets, log_input, compute_full_loss=False, name=None
)
Даёт потерю логарифмического правдоподобия между предсказанием и целевым значением при предположении, что целевое значение имеет распределение Пуассона. Особенность: По умолчанию это не точная потеря, а потеря минус постоянный член [log(z!)]. Это не влияет на оптимизацию, но плохо сказывается на сравнении относительных потерь. Чтобы вычислить приближение члена логарифмического факториала, укажите compute_full_loss=True, чтобы включить приближение Стирлинга.
Для краткости, пусть c = log(x) = log_input, z = targets. Логарифмическая потеря Пуассона равна
-log(exp(-x) * (x^z) / z!)
= -log(exp(-x) * (x^z)) + log(z!)
~ -log(exp(-x)) - log(x^z) [+ z * log(z) - z + 0.5 * log(2 * pi * z)]
[ Note the second term is the Stirling's Approximation for log(z!).
It is invariant to x and does not affect optimization, though
important for correct relative loss comparisons. It is only
computed when compute_full_loss == True. ]
= x - z * log(x) [+ z * log(z) - z + 0.5 * log(2 * pi * z)]
= exp(c) - z * c [+ z * log(z) - z + 0.5 * log(2 * pi * z)]
| Аргументы | |
|---|---|
targets | Массив того же типа и формы, что и log_input. |
log_input | Массив типа float32 или float64. |
compute_full_loss | вычислять полную потерю. Если ложно, постоянный член опускается для повышения эффективности оптимизации. |
name | Имя операции (необязательно). |
| Возвращаемые значения | |
|---|---|
Массив той же формы, что и log_input, с логарифмическими потерями для каждого компонента. |
| Исключения | |
|---|---|
ValueError | Если log_input и targets имеют разные формы. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/nn/log_poisson_loss