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

Плавное отклонение в TensorFlow

На малых отклонениях плавное отклонение ведёт себя как квадрат разности, на крупных - как модуль, поэтому единичный выброс меньше тянет итог вверх. В Keras за это отвечает класс Huber.

Создадим объект ошибки, зададим эталонный ряд и ряд предсказаний с умеренными отличиями, затем выведем одно число:

import tensorflow as tf huber = tf.keras.losses.Huber() actual = tf.constant([1.0, 2.0, 3.0]) guess = tf.constant([1.5, 2.5, 2.0]) print(huber(actual, guess)) # выведет tf.Tensor(0.25, shape=(), dtype=float32)

При одном большом промахе вклад линейный, а не квадратичный. Сравним идеальное совпадение и сильное расхождение на второй координате:

import tensorflow as tf huber = tf.keras.losses.Huber() actual = tf.constant([0.0, 10.0]) guess = tf.constant([0.0, 0.0]) print(huber(actual, guess)) # выведет tf.Tensor(4.75, shape=(), dtype=float32)

Соберите эталон [2.0, 4.0] и прогноз [2.5, 3.0]. Выведите одно число - значение плавного отклонения.

Задайте эталон [0.0, 5.0] и ответ [0.0, 0.0]. Выведите итоговую ошибку одним числом.

Создайте эталонный ряд [1.0, 3.0, 8.0] и ряд предсказаний [1.0, 4.0, 1.0]. Выведите одно число - ошибку по этим данным.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить