Класс Poisson
Класс Poisson вычисляет функцию потерь Пуассона.
Он применяется в задачах регрессии, где целевая переменная
представляет собой количество событий (например, число
посетителей или дефектов). Потери вычисляются как разность
между предсказанием и истинным значением, умноженная на
логарифм предсказания. Первым параметром можно передать
функцию приведения к типу данных, вторым - функцию
приведения к диапазону.
Синтаксис
tf.keras.losses.Poisson(
reduction="auto",
name="poisson"
)
Пример
Давайте вычислим потери Пуассона между истинными
значениями 1, 2, 3 и предсказаниями
1, 2, 3:
import tensorflow as tf
y_true = tf.constant([1, 2, 3])
y_pred = tf.constant([1, 2, 3])
loss = tf.keras.losses.Poisson()
res = loss(y_true, y_pred)
print(res)
Результат выполнения кода:
tf.Tensor(0.0, shape=(), dtype=float32)
Пример
Давайте вычислим потери Пуассона, когда предсказания отличаются от истинных значений:
import tensorflow as tf
y_true = tf.constant([1, 2, 3])
y_pred = tf.constant([2, 3, 4])
loss = tf.keras.losses.Poisson()
res = loss(y_true, y_pred)
print(res)
Результат выполнения кода:
tf.Tensor(0.43617472, shape=(), dtype=float32)
Пример
Давайте вычислим потери Пуассона с параметром
reduction="sum", чтобы получить сумму потерь
по всем элементам:
import tensorflow as tf
y_true = tf.constant([1, 2, 3])
y_pred = tf.constant([2, 3, 4])
loss = tf.keras.losses.Poisson(reduction="sum")
res = loss(y_true, y_pred)
print(res)
Результат выполнения кода:
tf.Tensor(1.3085241, shape=(), dtype=float32)
Смотрите также
-
класс
MeanSquaredError,
который вычисляет среднеквадратичную ошибку -
класс
MeanAbsoluteError,
который вычисляет среднюю абсолютную ошибку -
класс
Huber,
который вычисляет потери Хубера -
класс
LogCosh,
который вычисляет логарифм гиперболического косинуса