Функция потерь для тензорного потока регрессии | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 января, печатный экземпляр отправим 3 февраля.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №47 (337) ноябрь 2020 г.

Дата публикации: 24.11.2020

Статья просмотрена: 7 раз

Библиографическое описание:

Пилецкая, А. В. Функция потерь для тензорного потока регрессии / А. В. Пилецкая. — Текст : непосредственный // Молодой ученый. — 2020. — № 47 (337). — С. 25-28. — URL: https://moluch.ru/archive/337/75504/ (дата обращения: 19.01.2021).



В статье наглядно показана реализация функции потерь для тензорного потока регрессии через среднеквадратичную, среднюю абсолютную ошибку. Вычисление итогового значения нейронной сети через перекрестную энтропию и библиотеки numpy, tensorflow.

Ключевые слова: функция потерь, numpy, tensorflow, перекрестная энтропия.

Обычно в моделях машинного обучения мы собираемся предсказывать значения с учетом набора входных данных. Модель имеет набор весов и смещений, которые вы можете настроить на основе набора входных данных. Обучающие данные содержат несколько пар прогнозируемых и фактических значений. Для этого мы используем функцию потерь, чтобы определить, насколько прогнозируемые значения отличаются от фактических значений в обучающих данных. Мы можем обновить или изменить веса модели, чтобы минимизировать потери. У нас есть разные типы функций потерь: потери регрессии, классификационные потери. В регрессионных потерях: среднеквадратичная ошибка, средняя абсолютная ошибка, средняя ошибка смещения. В классификационных потерях: потеря петли или SVM, потеря кросс-энтропии.

Среднеквадратичная ошибка:

Математическая формулировка:

Как следует из названия, среднеквадратичная ошибка используется для измерения среднего квадрата разницы между предсказаниями и фактическими наблюдениями. Учитывайте только среднюю величину ошибки независимо от направления.

Средняя абсолютная ошибка:

Математическая формулировка:

Средняя абсолютная ошибка измеряется как среднее значение суммы абсолютных различий между предсказаниями и фактическими наблюдениями. Он очень похож на MSE, измеряет величину ошибки без учета их направления. MAE более устойчив к выбросам, поэтому в нем не используется квадрат.

Средняя ошибка смещения:

Математическая формулировка:

Ошибка среднего смещения гораздо реже встречается в приложениях машинного обучения. Это то же самое, что и MSE, но с той лишь разницей, что мы не берем абсолютные значения. Поэтому здесь следует проявлять осторожность, потому что положительные и отрицательные ошибки отменяют каждую прочее. Это повлияет на точность.

Потеря шарнира или потеря Svm:

Математическая формулировка:

Потеря кросс-энтропии:

Математическая формулировка:

Это наиболее широко используемый в задачах классификации. Он увеличивает прогнозируемую вероятность.

В тензорном потоке аналогичной функцией потерь является функция l2_loss.

Теперь перейдем к другой функции потерь — кросс-энтропии. Это наиболее часто используемая функция в тензорном потоке. Здесь мы снова берем некоторые мнимые значения для фактических и прогнозируемых, и мы будем использовать numpy для математических вычислений. Softmax используется для преобразования ненормализованного в нормализованное и в распределение вероятностей.

Вычисление значения numpy

Рис. 1. Вычисление значения numpy

Теперь давайте возьмем 2 примера:

Примеры вычисления softmax_function

Рис. 2. Примеры вычисления softmax_function

Теперь мы собираемся вычислить значение перекрестной энтропии для отдельных элементов (элемент — это скалярное значение). Первый параметр — это фактическое значение, а второй элемент — это прогнозируемое значение.

Вычисление значения перекрестной энтропии

Рис. 3. Вычисление значения перекрестной энтропии

Фактическое значение и прогнозируемые значения находятся в векторах или списках, тогда мы можем вычислить перекрестную энтропию, взяв среднее значение поэлементных значений перекрестной энтропии.

Программная реализация перекрестной энтропии

Рис. 4. Программная реализация перекрестной энтропии

Обычно вероятности равны 0 или 1. Прогнозируемые вероятности softmax наблюдаются ранее. Эти прогнозируемые значения вычисляются на предыдущем уровне нейронной сети. Теперь примените softmax к логитам. Здесь логиты вычисляют значения в нейронных сетях перед применением softmax.

Вычисление перекрестной энтропии

Рис. 5. Вычисление перекрестной энтропии

Вычисление значений через функцию тензерного потока

Рис. 6. Вычисление значений через функцию тензерного потока

Литература:

1. Nils J. Nilsson.Introduction to Machine Learning. Nils J. — Robotics Laboratory Department of Computer Science Stanford University, 1998

2. Yaser S. Abu-Mostafa, Malik Magdon-Ismail, Hsuan-Tien Lin. — Learning From Data Hardcover — January 1, 2012

3. Stuart Russell, Peter Norvig. Artificial Intelligence: A Modern Approach —Paperback — 5 Aug. 2013

  1. D. Michie, D. J. Spiegelhalter, C. C. Taylor. Machine Learning, Neural and Statistical Classification—January 1999
Основные термины (генерируются автоматически): перекрестная энтропия, математическая формулировка, MSE, абсолютная ошибка, функция потерь, среднеквадратичная ошибка, машинное обучение, нейронная сеть, тензорный поток, фактическое значение.


Ключевые слова

Tensorflow, функция потерь, numpy, перекрестная энтропия
Задать вопрос