что позволяет оценить функция потерь в машинном обучении

Русские Блоги

Обзор общих функций потерь для машинного обучения

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

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

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

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

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Давайте сначала обсудим функцию потери регрессии.

Среднеквадратическая ошибка (потеря L2)

Ошибка среднего абсолютного значения (потеря L1)

Сравнение MSE (потеря L2) и MAE (потеря L1)

Проще говоря, MSE прост для расчета, но MAE более устойчив к выбросам. Причины различий описаны ниже.

Ниже приведен код Python для этих двух функций потерь. Вы можете написать функции самостоятельно или использовать встроенные функции sklearn.

Давайте посмотрим результаты расчета MAE и RMSE (т.е. квадратный корень из MSE с той же величиной, что и MAE) в двух примерах. В первом примере прогнозируемое значение близко к истинному значению, а дисперсия ошибки мала. Во втором примере, поскольку есть выброс, ошибка очень велика.
что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Что вы можете узнать по картинке? Как выбрать функцию потерь?

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

Если данные обучения загрязнены выбросами, тогда потеря MAE более полезна (например, в данных обучения много неправильных счетчиков и положительных меток, но в тестовом наборе такой проблемы нет).

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

Однако MAE имеет серьезную проблему (особенно для нейронных сетей): обновленный градиент всегда одинаков, то есть даже для небольших значений потерь градиент велик. Это не хорошо для модельного обучения. Чтобы устранить этот недостаток, мы можем использовать переменную скорость обучения, чтобы уменьшить скорость обучения, когда потери приближаются к минимуму.

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

Выберите функцию потерь в зависимости от ситуации

Если выбросы представляют важные аномалии в бизнесе и должны быть обнаружены, то следует использовать функцию потерь MSE. И наоборот, если только выбросы считаются поврежденными данными, следует использовать функцию потерь MAE.
Рекомендуется прочитать эту статью. В этой статье сравнивается производительность регрессионной модели с использованием потерь L1 и L2 с выбросами и без них.

Таким образом, функция потерь L1 более устойчива при работе с выбросами, но ее производные являются прерывистыми, поэтому эффективность решения ниже. Функция потерь L2 более чувствительна к выбросам, но, сделав ее производной 0, можно получить более устойчивое замкнутое решение.

Проблема обоих заключается в том, что в некоторых случаях две вышеуказанные функции потерь не могут удовлетворить спрос. Например, если 90% выборок в данных соответствуют целевому значению 150, оставшиеся 10% находятся в диапазоне от 0 до 30. Тогда модель, использующая MAE в качестве функции потерь, может игнорировать 10% выбросов, и прогнозируемое значение для всех выборок составляет 150.

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

Потеря Губера, средняя сглаженная абсолютная ошибка

Выбор гиперпараметра дельта здесь очень важен, потому что он определяет ваше определение выброса. Когда остаток больше дельты, следует использовать L1 (менее чувствительный к большим выбросам), чтобы минимизировать его, а если остаток меньше гиперпараметра, L2 используется для его минимизации.

Зачем использовать Huber Loss?

В этом случае потери Хьюбера очень полезны. Он упадет около минимума из-за уменьшения градиента. Он более устойчив к выбросам, чем MSE. Поэтому потеря Хубера сочетает в себе преимущества MSE и MAE. Однако проблема потери Хубера заключается в том, что нам может потребоваться постоянно корректировать дельту гиперпараметра.
что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Лог-Кош потеря

Но потеря лог-коша не идеальна, и у нее все еще есть некоторые проблемы. Например, если ошибка велика, шаг и Hessian станут фиксированными значениями, что приведет к отсутствию точки разделения в XGBoost.

Функция потери Хубера и Лог-Коша Код Python:

Квантильная потеря

В большинстве реальных задач прогнозирования мы обычно хотим понять неопределенность в прогнозе. Четкое прогнозирование диапазона, а не только оценочных баллов, помогает принимать решения по многим вопросам бизнеса.

Функция потери квантиля полезна, когда мы фокусируемся больше на интервальных прогнозах, чем на точечных прогнозах. Интервальное прогнозирование с использованием регрессии наименьших квадратов, основанное на предположении, что остатки ( y − y ^ ) (y-\hat) ( y − y ^ ​ ) Являются независимыми переменными и дисперсия остается неизменной.

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

Давайте рассмотрим практический пример, чтобы лучше понять, как регрессия, основанная на квантильных потерях, работает для гетероскедастических данных.

Квантильная регрессия и регрессия наименьших квадратов

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении
Слева: X1 и Y линейные. Имеют постоянную остаточную дисперсию. Справа: X2 и Y линейные, но дисперсия Y увеличивается с X2. (Гетероскедастическая)

На приведенном выше рисунке показаны два разных распределения данных: на левом рисунке показан случай, когда дисперсия остатка постоянна, а на правом рисунке показан случай, когда дисперсия остатка изменяется. Мы использовали нормальные наименьшие квадраты для оценки двух вышеупомянутых случаев, когда оранжевая линия является результатом моделирования. Но мы не можем получить диапазон значений. В настоящее время нам нужна функция квантильных потерь.
что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Квантильная регрессия. Пунктирные линии показывают регрессию, основанную на функциях квантильных потерь 0,05 и 0,95

Прикрепите код квантильной регрессии, показанный на рисунке:

Понимание функции квантильных потерь

Как выбрать соответствующее значение квантиля, зависит от того, насколько мы оцениваем положительные и отрицательные ошибки. Функция потерь дает различные штрафы за переоценку и недооценку через квантильное значение (γ). Например, когда функция квантильных потерь γ = 0,25, штраф за переоценку выше, что делает прогнозируемое значение немного ниже медианы.
что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Интервальное прогнозирование с использованием квантильных потерь (регрессия с повышением градиента)

Сравнительное исследование

Чтобы доказать характеристики всех вышеупомянутых функций потерь, давайте вместе рассмотрим сравнительное исследование. Сначала мы строим набор данных, выбранный из функции sinc (x), и вводим два искусственных шума: гауссову составляющую шума εN (0, σ2) и составляющую импульсного шума ξBern§.

Импульсный шум был добавлен, чтобы проиллюстрировать устойчивый эффект модели. Вот результаты подбора регрессора GBM с использованием различных функций потерь.
что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Некоторые наблюдения за симуляцией сравнения:

Наконец, давайте поместим все функции потерь в один график, и у нас будет красивая картинка ниже! Разница ясна с первого взгляда?
что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Интеллектуальная рекомендация

AlamoFire Source Severtation Series (12) ось времени (временная шкала)

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

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Анализ разницы между iOS initWithFrame, initWithCoder, awakeFromNib

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Исследование соответствия типовых версий рамы

Источник

Функции оценки, потерь, оптимизации – основы алгоритма Машинного Обучения

Адаптированный перевод прекрасной статьи энтузиаста технологий машинного обучения Javaid Nabi.

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Чтобы понимать как алгоритм машинного обучения учится предсказывать результаты на основе данных, важно разобраться в основных концепциях и понятиях, используемых при обучении алгоритма.

Функции оценки

В контексте технологии машинного обучения, оценка – это статистический термин для нахождения некоторого приближения неизвестного параметра на основе некоторых данных. Точечная оценка – это попытка найти единственное лучшее приближение некоторого количества интересующих нас параметров. Или на более формальном языке математической статистики — точечная оценка это число, оцениваемое на основе наблюдений, предположительно близкое к оцениваемому параметру.

Под количеством интересующих параметров обычно подразумевается:
• Один параметр
• Вектор параметров – например, веса в линейной регрессии
• Целая функция

Точечная оценка

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

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

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

Функция оценки

Задача, решаемая машинным обучением, заключается в попытке предсказать переменную y по заданному входному вектору x. Мы предполагаем, что существует функция f(x), которая описывает приблизительную связь между y и x. Например, можно предположить, что y = f(x) + ε, где ε обозначает часть y, которая явно не предсказывается входным вектором x. При оценке функций нас интересует приближение f с помощью модели или оценки fˆ. Функция оценки в действительности это тоже самое, что оценка параметра θ; функция оценки f это просто точечная оценка в функциональном пространстве. Пример: в полиномиальной регрессии мы либо оцениваем параметр w, либо оцениваем функцию отображения из x в y.

Смещение и дисперсия

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

Смещение

Смещение определяется следующим образом:

где ожидаемое значение E(θˆm) для данных (рассматриваемых как выборки из случайной величины) и θ является истинным базовым значением, используемым для определения распределения, генерирующего данные.

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Оценщик θˆm называется несмещенным, если bias(θˆm)=0, что подразумевает что E(θˆm) = θ.

Дисперсия и Стандартная ошибка

Дисперсия оценки обозначается как Var(θˆ), где случайная величина является обучающим множеством. Альтернативно, квадратный корень дисперсии называется стандартной ошибкой, обозначаемой как SE(θˆ). Дисперсия или стандартная ошибка оценщика показывает меру ожидания того, как оценка, которую мы вычисляем, будет изменяться по мере того, как мы меняем выборки из базового набора данных, генерирующих процесс.

Точно так же, как мы хотели бы, чтобы функция оценки имела малое смещение, мы также стремимся, чтобы у нее была относительно низкая дисперсия.

Давайте теперь рассмотрим некоторые обычно используемые функции оценки.

Оценка Максимального Правдоподобия (MLE)

Оценка максимального правдоподобия может быть определена как метод оценки параметров (таких как среднее значение или дисперсия) из выборки данных, так что вероятность получения наблюдаемых данных максимальна.

Оценка максимального правдоподобия для θ определяется как:

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Поскольку мы предположили, что примеры являются независимыми выборками, приведенное выше уравнение можно записать в виде:

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Эта произведение многих вероятностей может быть неудобным по ряду причин. В частности, оно склонно к числовой недооценке. Кроме того, чтобы найти максимумы/минимумы этой функции, мы должны взять производную этой функции от θ и приравнять ее к 0. Поскольку это произведение членов, нам нужно применить правило цепочки, которое довольно громоздко. Чтобы получить более удобную, но эквивалентную задачу оптимизации, можно использовать логарифм вероятности, который не меняет его argmax, но удобно превращает произведение в сумму, и поскольку логарифм – строго возрастающая функция (функция натурального логарифма – монотонное преобразование), это не повлияет на итоговое значение θ.

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Два важных свойства: сходимость и эффективность

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

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

Именно по причине сходимости и эффективности, оценка максимального правдоподобия часто считается предпочтительным оценщиком для машинного обучения.

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

Максимальная апостериорная (MAP) оценка

Согласно байесовскому подходу, можно учесть влияние предварительных данных на выбор точечной оценки. MAP может использоваться для получения точечной оценки ненаблюдаемой величины на основе эмпирических данных. Оценка MAP выбирает точку максимальной апостериорной вероятности (или максимальной плотности вероятности в более распространенном случае непрерывного θ):

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

где с правой стороны, log(p(x|θ)) – стандартный член логарифмической вероятности и log(p(θ)) соответствует изначальному распределению.

Как и при полном байесовском методе, байесовский MAP имеет преимущество
использования изначальной информации, которой нет в обучающих данных. Эта дополнительная информация помогает уменьшить дисперсию для точечной оценки MAP (по сравнению с оценкой MLE). Однако, это происходит ценой повышенного смещения.

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

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

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

Давайте рассмотрим некоторые часто используемые функции потерь.

Средняя квадратичная ошибка (MSE): средняя квадратичная ошибка является наиболее распространенной функцией потерь. Функция потерь MSE широко используется в линейной регрессии в качестве показателя эффективности. Чтобы рассчитать MSE, надо взять разницу между предсказанными значениями и истинными, возвести ее в квадрат и усреднить по всему набору данных.

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

где y (i) – фактический ожидаемый результат, а ŷ (i) – прогноз модели.

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

Чтобы увидеть, как мы можем вывести функции потерь из MLE или MAP, требуется некоторая математика. Вы можете пропустить ее и перейти к следующему разделу.

Получение MSE из MLE

Можно смоделировать модель линейной регрессии следующим образом:

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

мы предполагаем, что у имеет нормальное распределение с ŷ в качестве среднего значения распределения и некоторой постоянной σ² в качестве дисперсии, выбранной пользователем. Нормальное распределения являются разумным выбором во многих случаях. В отсутствие предварительных данных о том, какое распределение в действительности соответствует рассматриваемым данным, нормальное распределение является хорошим выбором по умолчанию.

Вернемся к логарифмической вероятности, определенной ранее:

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

где ŷ(i) – результат линейной регрессии на i-м входе, а m – количество обучающих примеров. Мы видим, что две первые величины являются постоянными, поэтому максимизация логарифмической вероятности сводится к минимизации MSE:

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

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

Кросс-энтропия (или логарифмическая функция потерь – log loss): Кросс-энтропия измеряет расхождение между двумя вероятностными распределениями. Если кросс-энтропия велика, это означает, что разница между двумя распределениями велика, а если кросс-энтропия мала, то распределения похожи друг на друга.

Кросс-энтропия определяется как:

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

где P – распределение истинных ответов, а Q – распределение вероятностей прогнозов модели. Можно показать, что функция кросс-энтропии также получается из MLE, но я не буду утомлять вас большим количеством математики.

Давайте еще упростим это для нашей модели с:
• N – количество наблюдений
• M – количество возможных меток класса (собака, кошка, рыба)
• y – двоичный индикатор (0 или 1) того, является ли метка класса C правильной классификацией для наблюдения O
• p – прогнозируемая вероятность модели

Бинарная классификация

В случае бинарной классификации (M=2), формула имеет вид:

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

При двоичной классификации каждая предсказанная вероятность сравнивается с фактическим значением класса (0 или 1), и вычисляется оценка, которая штрафует вероятность на основе расстояния от ожидаемого значения.

Визуализация

На приведенном ниже графике показан диапазон возможных значений логистической функции потерь с учетом истинного наблюдения (y = 1). Когда прогнозируемая вероятность приближается к 1, логистическая функция потерь медленно уменьшается. Однако при уменьшении прогнозируемой вероятности она быстро возрастает.

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Логистическая функция потерь наказывает оба типа ошибок, но особенно те прогнозы, которые являются достоверными и ошибочными!

Мульти-классовая классификация

В случае мульти-классовой классификации (M>2) мы берем сумму значений логарифмических функций потерь для каждого прогноза наблюдаемых классов.

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Кросс-энтропия для бинарной или двух-классовой задачи прогнозирования фактически рассчитывается как средняя кросс-энтропия среди всех примеров. Log loss использует отрицательные значения логарифма, чтобы обеспечить удобную метрику для сравнения. Этот подход основан на том, что логарифм чисел что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Задача бинарной классификации

Задача состоит в том, чтобы классифицировать пример как принадлежащий одному из двух классов. Или более точно, задача сформулирована как предсказание вероятности того, что пример принадлежит первому классу, например, классу, которому вы присваиваете целочисленное значение 1, тогда как другому классу присваивается значение 0.

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

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Задача мульти-классовой классификации

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

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

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Рассмотрев оценку и различные функции потерь, давайте перейдем к роли оптимизаторов в алгоритмах ML.

Оптимизаторы

Чтобы свести к минимуму ошибку или потерю в прогнозировании, модель, используя примеры из обучающей выборки, обновляет параметры модели W. Расчеты ошибок строятся в зависимости от W и также описываются графиком функции затрат J(w), поскольку она определяет затраты/наказание модели. Таким образом, минимизация ошибки также часто называется минимизацией функции затрат.

Но как именно это делается? Используя оптимизаторы.

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

Самым важным методом и основой того, как мы обучаем и оптимизируем нашу модель, является метод Градиентного Спуска.

Градиентный Спуск

Когда мы строим функцию затрат J(w), это можно представить следующим образом:

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

Как видно из кривой, существует значение параметров W, которое имеет минимальное значение Jmin. Нам нужно найти способ достичь этого минимального значения.

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

Повторяем до достижения минимума:

что позволяет оценить функция потерь в машинном обучении. Смотреть фото что позволяет оценить функция потерь в машинном обучении. Смотреть картинку что позволяет оценить функция потерь в машинном обучении. Картинка про что позволяет оценить функция потерь в машинном обучении. Фото что позволяет оценить функция потерь в машинном обучении

В приведенном выше уравнении мы обновляем параметры модели после каждой итерации. Второй член уравнения вычисляет наклон или градиент кривой на каждой итерации.

Градиент функции затрат вычисляется как частная производная функции затрат J по каждому параметру модели Wj, где j принимает значение числа признаков [1, n]. α – альфа, это скорость обучения, определяющий как быстро мы хотим двигаться к минимуму. Если α слишком велико, мы можем проскочить минимум. Если α слишком мало, это приведет к небольшим этапам обучения, поэтому общее время, затрачиваемое моделью для достижения минимума, будет больше.

Есть три способа сделать градиентный спуск:

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

Мини-пакетный градиентный спуск: вместо использования всех данных, мини-пакетный градиентный спуск делит тренировочный набор на меньший размер, называемый партией, и обозначаемый буквой «b». Таким образом, мини-пакет «b» используется для обновления параметров модели на каждой итерации.

Вот некоторые другие часто используемые Оптимизаторы:

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

Адаград

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

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

RMSprop

RMSprop – это специальная версия Adagrad, разработанная профессором Джеффри Хинтоном в его классе нейронных сетей. Вместо того, чтобы вычислять все градиенты, он вычисляет градиенты только в фиксированном окне. RMSprop похож на Adaprop, это еще один оптимизатор, который пытается решить некоторые проблемы, которые Адаград оставляет открытыми.

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

Вы только что ознакомились с кратким обзором оптимизаторов. Более подробно об этом можно прочитать здесь.

Я надеюсь, что после прочтения этой статьи, вы будете лучше понимать что происходит, когда Вы пишите следующий код:

Спасибо за проявленный интерес!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *