РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
398 of 824 menu

Класс KLDivergence

Класс KLDivergence вычисляет метрику потерь, которая измеряет, насколько одно распределение вероятностей отличается от другого. Чаще всего используется для сравнения предсказанного распределения с истинным распределением. Класс наследуется от базового класса Loss.

Первым параметром при создании экземпляра класса передается reduction - метод сокращения потерь. Вторым параметром можно передать name - имя для операции. По умолчанию используется сокращение sum_over_batch_size.

Синтаксис

tf.keras.losses.KLDivergence(reduction, name)

Пример

Давайте создадим экземпляр класса KLDivergence и вычислим потери между двумя тензорами:

import tensorflow as tf kl = tf.keras.losses.KLDivergence() y_true = tf.constant([0.1, 0.9, 0.0]) y_pred = tf.constant([0.2, 0.7, 0.1]) res = kl(y_true, y_pred) print(res)

Результат выполнения кода:

tf.Tensor(0.16382827, shape=(), dtype=float32)

Пример

Давайте вычислим потери для двумерного тензора, где каждая строка представляет отдельное распределение:

import tensorflow as tf kl = tf.keras.losses.KLDivergence() y_true = tf.constant([[0.1, 0.9], [0.8, 0.2]]) y_pred = tf.constant([[0.2, 0.8], [0.7, 0.3]]) res = kl(y_true, y_pred) print(res)

Результат выполнения кода:

tf.Tensor(0.039077372, shape=(), dtype=float32)

Пример

Давайте изменим метод сокращения на sum, чтобы получить сумму потерь по всем элементам:

<+python+> import tensorflow as tf kl = tf.keras.losses.KLDivergence(reduction='sum') y_true = tf.constant([0.1, 0.9, 0.0]) y_pred = tf.constant([0.2, 0.7, 0.1]) res = kl(y_true, y_pred) print(res) <-python+>

Результат выполнения кода:

tf.Tensor(0.4914848, shape=(), dtype=float32)

Смотрите также

  • класс CategoricalCrossentropy,
    который вычисляет категориальную кросс-энтропию
  • класс SparseCategoricalCrossentropy,
    который вычисляет разреженную категориальную кросс-энтропию
  • класс BinaryCrossentropy,
    который вычисляет бинарную кросс-энтропию
  • класс Poisson,
    который вычисляет потери Пуассона
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить