Добавить в корзинуПозвонить
Найти в Дзене
Порция DataScience

Функция потерь

Функция потерь - измеряет насколько хорошо прогнозы модели соответствуют истинным результатам. Если численное значение функции потерь минимально (близко или рано нулю), то это говорит о том, что модель предсказывает качественные результаты, а если нет, то с этим надо, что-то делать. Скажем упрощенно следующим образом - в процессе обучения модели функция потерь рассчитывается каждый раз, когда данные от входа модели, доходят до выходного слоя, где формируется прогнозное значение. Далее это прогнозное значение необходимо оценить, сравнить с истинным результатом, и именно в этот момент вступает в игру функция потерь. Давайте для простоты, рассмотрим следующую задачу: Необходимо предсказать балл (0-100) студента на экзамене, в зависимости от потраченного времени на подготовку. При обучении любой модели, основной задачей является подбор идеальных весов. Представленная выше задача решается с помощью модели линейной регрессии (linear regression), таким образом, функция модели может выглядеть
Оглавление

Функция потерь - измеряет насколько хорошо прогнозы модели соответствуют истинным результатам. Если численное значение функции потерь минимально (близко или рано нулю), то это говорит о том, что модель предсказывает качественные результаты, а если нет, то с этим надо, что-то делать.

Немного теории

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

Давайте для простоты, рассмотрим следующую задачу: Необходимо предсказать балл (0-100) студента на экзамене, в зависимости от потраченного времени на подготовку.

При обучении любой модели, основной задачей является подбор идеальных весов. Представленная выше задача решается с помощью модели линейной регрессии (linear regression), таким образом, функция модели может выглядеть следующим образом:

Функция модели
Функция модели

Для того чтобы подобрать вес/веса (w) для модели, используется функция потерь (loss function). Она является основным критерием качества для модели. В данном примере, в качестве функции потерь будем использовать одну из самых распространенных функций - среднеквадратичная ошибка (MSE), которая измеряет среднеквадратичное значение между истинным (наблюдаемым) значением (y) и прогнозируемым значением (F(t)):

Функция потерь
Функция потерь

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

Функция потерь (с подстановкой из функции модели)
Функция потерь (с подстановкой из функции модели)

Подставляя данные ti и веса w и сравнивая результат с истинным значением yi, будем на каждой итерации получать определенный уровень ошибки.

Графически, модель регрессии — это прямая, а функция потерь — парабола. Представим на рисунке ниже, эти функции (слева линейная регрессия- функция модели, справа парабола - функция потерь). На графике линейной регрессии, по оси F(t) – прогнозные баллы студента за экзамене, по оси t – время, затраченное студентом на подготовку, а на графике функции потерь, по оси F(w) - ошибки, которые рассчитываются с помощью функции потерь, а по оси w - веса модели.

Помимо этого, на графике модели, изображены голубые точки, которые являются истинными, наблюдаемыми значениями (в формуле выше обозначаются, как - "yi"), на которых обучается данная модель. Данные точки нанесены на этот график для визуального обобщения наблюдаемых значений и прогнозной функции модели F(t).

Графики функции модели и функции потерь
Графики функции модели и функции потерь

Если внимательно посмотреть на две эти функции, то можно понять, как они связаны между собой, там, где, при определенном весе (w) значение функции потерь минимально (F(w)=0), вес, а значит и наклон прямой функции модели (F(t)=20t) оптимален. Из графика видно, что идеальным весом с минимальной ошибкой, а значит и наклоном линии регрессии будет вес w=20.

На самом деле найти эту точку не так просто, ведь графики — это просто упрощенная иллюстрация, но в данной статье важна суть, которая заключается в следующем - функция модели и функция потерь связаны между собой через весовые коэффициенты (w), и в случае когда наблюдаемое значение неравно прогнозному, эти веса необходимо корректировать и запускать новую итерацию обучения и так пока не будет найдена наилучшая комбинация весов, при которой функция потерь будет минимальна.

Давайте еще поймем, что значит наклон прямой функции модели оптимален? Это говорит о том, что линия проходит таким образом, что сумма расстояний до всех голубых точек сверху данной линии, равна сумме расстояний до всех точек снизу данной линии, т.е. линия проходит строго посередине всего многообразия этих точек, что позволяет модели максимально точно предсказывать результаты (см. упрощенный рисунок ниже):

График оптимальности наклона прямой функции модели
График оптимальности наклона прямой функции модели

Подводя итоги:

  • · У модели, которую необходимо оптимизировать, есть входные данные, веса этих данных и предсказанный результат на выходе.
  • · Для оптимизации функции модели (то есть поиска идеальных весов) используется функция потерь, которая на входе принимает разные варианты этих весов, а на выходе показывает насколько, при таких весах, модель отклонилась от истинного результата
  • · Идеальные веса находятся там, где функция потерь выдает минимальное значение
  • · После того как функция потерь подсчитана (и допустим она неравна нулю), происходит запуска процесса обратного распространения ошибки, в процессе которого, происходит перестройка весов в модели.
  • · Далее опять возобновляется процесс обучения модели, кульминацией которого является очередной расчет функции потерь и т.д.

Более подробно про свойства функций потерь, будет рассказано в следующей статье - ТОП-10 наиболее распространенных функций потерь.