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 | A Tensor того же типа и формы, что и log_input. |
log_input | A Tensor типа float32 или float64. |
compute_full_loss | нужно ли вычислять полную потерю. Если false, то постоянный член отбрасывается в пользу более эффективной оптимизации. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
A Tensor той же формы, что и log_input, с компонентными логистическими потерями. |
| Исключения | |
|---|---|
ValueError | Если log_input и targets не имеют одинаковой формы. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/nn/log_poisson_loss