Средняя абсолютная относительная ошибка как функция потерь в тензорном потоке (проблема регрессии) - PullRequest
0 голосов
/ 06 октября 2018

Я решаю проблему регрессии с помощью нейронной сети.Мой целевой выход колеблется от 10-2 до 10-7.После выполнения большого количества случаев я задавался вопросом, можно ли заменить среднеквадратичную функцию потерь на функцию потерь, которая учитывает среднюю абсолютную относительную ошибку.Я искал веб-сайт tenorflow и нашел показатель - tf.metrics.mean_relative_error, но ничего не нашел в tf.losses.Есть ли способ реализовать функцию потерь, которая использует относительную ошибку в тензорном потоке?

1 Ответ

0 голосов
/ 06 октября 2018

Почти во всех уроках тензорного потока они используют пользовательские функции.

Например, в самом начальном уроке они пишут пользовательскую функцию, которая суммирует квадраты дельт между текущей моделью и предоставленными данными

squared_deltas = tf.square(linear_model - y)
loss = tf.reduce_sum(squared_deltas)

Как видите, это совсем не сложно: вам просто нужно закодировать свою функцию в тензорном формате и использовать их основные функции.

Примечание: Просто как маленький бонусвы можете подумать о нормализации ваших входов и ожидаемых выходов в более подходящем диапазоне, например [-0,5, 0,5], который лучше работает для нескольких функций активации, которые в противном случае должны работать в насыщенной области.

...