«Учебное пособие по распознаванию лиц» 2. Классическая функция потери машинного обучения

искусственный интеллект глубокое обучение

Первоисточник:zhuanlan.zhihu.com/FaceRec

Потеря 0-1 (две классификации), перекрестная энтропийная потеря (классификация), потеря Softmax (мультиклассификация), потеря шарнира (SVM), среднеквадратическая ошибка (линейная регрессия), модифицированная потеря Хьюбера (классификация), экспоненциальная потеря (Adaboost)

1 0-1 Loss

  • Вообще говоря, модель машинного обучения с двумя классами состоит из двух частей: линейный вывод, как правило, s = wx; нелинейный вывод, такой как сигмоидальная функция.

, через сигмовидную функцию значение g(s) ограничено между [0,1], если s ≥ 0, g(s) ≥ 0,5, прогноз положительный, если s

  • Есть два способа представления положительных и отрицательных классов: {+1, -1} или {1, 0}. При использовании y={+1, -1} предсказание верно, если ys ≥ 0, и неверно, если ys
  • s ≥ 0, y = +1: правильный прогноз
  • s ≥ 0, y = -1: ошибка предсказания
  • s
  • s
  • 0-1 Loss — простейший вид функции потерь. Для задачи бинарной классификации, если предсказанный класс y^ отличается от истинного класса y, то L=1; если y_^= y, то L=0.
  • L представляет функцию потерь, ось абсцисс — ys, а на следующем рисунке показана кривая потерь:

  • Достоинства: Очень интуитивно понятный и простой для понимания
  • Недостаток: Raw Loss редко используется в практических приложениях.
  • Потеря накладывает одинаковый штраф на каждую неправильно классифицированную точку (потеря равна 1) и относится к ним одинаково, так что больший штраф не может быть применен к точке с относительно большой ошибкой (ys намного меньше 0), что неразумно.
  • Разрывные, невыпуклые и невыводимые, трудно использовать алгоритмы оптимизации градиента.

2 Перекрестная потеря энтропии

  • Для логистической регрессии и классификации Softmax следует использовать в сочетании с Sigmoid (двухклассовая) или Softmax (многоклассовая). Логистическая регрессия - проблема классификации
  • Кросс-энтропия получена с точки зрения теории информации Шеннона:
  • Количество информации: I(x)=−log(p(x)), чем больше вероятность события, тем меньше количество информации, которое оно имеет.
  • Энтропия: для случайной величины X ожидаемая информация E[I(x)] обо всех ее возможных значениях называется энтропией.

  • Ожидание: сумма произведений всех возможных значений xi дискретных случайных величин и соответствующей вероятности p(xi) называется ожиданием E(x). Это обобщение простого среднего арифметического, аналогичное взвешенному среднему.

  • Относительная энтропия: также известная как дивергенция KL и расстояние KL, это мера расстояния между двумя случайными распределениями, D(p||q). Он может измерить недопустимость гипотетического распределения q, когда истинное распределение равно p.
  • Цель машинного обучения состоит в том, чтобы надеяться, что рассчитанное распределение вероятностей q будет как можно ближе к реальному распределению вероятностей p, так что относительная энтропия будет близка к минимальному значению 0.

  • Перекрестная энтропия: вторая половина формулы относительной энтропии — это перекрестная энтропия, которая также отражает сходство распределения p q. Чем меньше значение, тем больше сходство.
  • Поскольку реальное распределение вероятностей фиксировано, первая половина формулы относительной энтропии становится константой, поэтому, когда относительная энтропия достигает минимального значения, это также означает, что перекрестная энтропия достигла минимального значения. Оптимизация q эквивалентна нахождению минимального значения перекрестной энтропии.

  • Функция перекрестной энтропийной потери логистической регрессии для двоичной классификации: сигмоид используется для y^ для двоичной классификации, а выходная метка {0,1} выглядит следующим образом: когда y=1, но y^ не равно 1, ошибка изменяется как y ^ становится меньше Большой:
  • Для множественной классификации y^ использует Softmax, L=-yi*log(yi^), i — реальная категория

  • Вывод с точки зрения максимального правдоподобия: нахождение минимального значения перекрестной энтропии также эквивалентно нахождению оценки максимального правдоподобия. Вероятность P предсказанной категории, когда выходная метка равна {0,1}, может быть записана как введение -log делает вероятность P(y|x) больше -log P(y|x) меньше:
  • Второй член игнорируется, когда истинная метка выборки y = 1; первый член игнорируется, когда y = 0.

  • Кривая потерь, когда выходная метка y представлена ​​{1,0}:
  • Когда y=1, L=-log(y^), замените y^=1/(1+e^-s) сигмоиды, чтобы получить кривую потерь, линейный выход s больше нуля, а L меньше, левая фигура, ось абсцисс
  • Когда y=0, L=-log(1-y^), чем меньше s, тем меньше L.

  • Когда выходная метка y представлена ​​​​{-1,+1}: потеря перекрестной энтропии такая же, но представление другое, замените указанное выше s на ys. Интегрирование ys по оси абсцисс легко проводится и имеет практический физический смысл.

  • Преимущества: одна из наиболее широко используемых функций потерь
  • Во всей области действительных чисел потери изменяются примерно линейно, особенно когда ys
  • Перекрестная энтропия Loss постоянно выводится, что удобно для расчета вывода.
  • Модель менее возмущена выбросами

Ссылаться на:Ссылка 1 Вывод формулы кросс-энтропийной функции потерь

3 Softmax Loss

  • В основном используется для задач мультиклассификации нейронных сетей.

Различие концепций

  • Регрессия Softmax: общая форма логистической регрессии, функция логистической активации расширена до категорий C, а регрессия Softmax с C = 2 является логистической регрессией.
  • Классификатор Softmax: мультиклассовый классификатор. Нейронная сеть без скрытых слоев имеет линейную границу решения между любыми двумя классами, но может быть разделена на классы (несколько нейронных блоков) с использованием нескольких различных линейных функций. Чем глубже сеть, тем более сложные нелинейные границы решений можно изучить.
  • Слой Softmax: в последнем выходном слое нейронной сети есть несколько единиц в нескольких категориях.После вычисления значения линейного прогноза z каждой единицы функция активации Softmax используется для расчета каждой вероятности.
  • Последний уровень моделей прогнозирования, таких как AlexNet/VGG/ResNet/MobileNet, магистральной сети классификации изображений, называется «Softmax», а последний уровень моделей обучения и проверки — «Точность» + «SoftmaxWithLoss». Потому что классификация изображений должна отделять только глубокие функции.
  • Функция Softmax (функция активации): формула для отображения z в вероятность выглядит следующим образом.Также требуется вектор z_i, потому что все выходные данные нормализованы в вероятности, а выходные данные также являются вектором. Обычно используется на выходном слое.
  • Обе функции активации Sigmoid и ReLu имеют дело только с действительным числом z, и на выходе также является действительным числом. Выходной слой бинарной классификации использует функцию Sigmoid, а скрытый слой использует функцию ReLu.
  • Softmax-Loss (функция потерь Softmax): функция потерь нейронной сети с выходным слоем Softmax, функция потерь классификатора Softmax и результат вычисления функции активации Softmax в качестве входных данных функции потерь классификатора Softmax.
  • Hardmax: установите самый большой элемент в z равным 1, а все остальные позиции равны 0. А отображение Softmax от z к вероятности более мягкое и представляет собой конкретное значение вероятности.

Функция активации Softmax для поиска вероятности мультикласса

  • Роль логистической регрессии заключается в преобразовании линейных прогнозируемых значений в вероятности класса, Функция Softmax определяется следующим образом:
  • Верхний слой классической глубокой нейронной сети на самом деле является классификатором логистической регрессии.

  • Пусть zi=wx+bбудет результатом линейного предсказания i-й категории, Приведение его в Softmax фактически означает сначала взять индекс каждого zi, чтобы он стал неотрицательным (чтобы избежать смещения положительных и отрицательных значений во время дополнение), а затем разделите на сумму всех элементов, чтобы нормализовать его на вероятность каждой категории от 0 до 1. Теперь каждое oi=σi(z) можно интерпретировать как вероятность того, что данные x принадлежат нескольким категориям i (m категорий, данные x имеют много признаков x0, x1, x2...), или вероятность (вероятность).
  • Примечание. В логистической регрессии zi преобразуется в значение вероятности от 0 до 1 с помощью сигмовидной функции активации, и вычисляется вероятность того, что данные x принадлежат этому правильному классу y=1.

Функция потерь для классификатора Softmax (кросс-энтропийные потери), мультиномиальные логистические потери

  • Целевая функция (функция стоимости, функция потерь) логистической регрессии устанавливается в соответствии с принципом максимального правдоподобия, Предполагая, что категория, соответствующая данным x, равна y, o_y - это вероятность того, что x принадлежит правильной категории y, рассчитанной Функция софтмакс. Максимальное правдоподобие заключается в максимизации o_y, обычно с использованием отрицательного логарифмического правдоподобия вместо правдоподобия, то есть для минимизации значения -log(o_y), два результата математически эквивалентны. Таким образом, минимизация функции стоимости заключается в минимизации:

  • Функция потерь, обычно используемая в классификации Softmax, выглядит следующим образом: (объяснил Ву Энда)
  • Правильный образец y2=1, другие образцы равны 0 и отбрасываются (формула представляет собой функцию кросс-энтропийных потерь)
  • Минимизация функции потерь, максимальная вероятность, максимизация -log(o_y), максимизация o_y. (o_y есть y2^)

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

Softmax-Loss

  • Softmax-Loss заключается в замене функции активации Softmax на вышеуказанную функцию потерь L и участии в значении активации Softmax s_yi фактической категории и сумме s_j значения активации Softmax всех категорий. На следующем рисунке представлено представление в cs231n (R — это обычный термин, W снижает сложность):

  • Softmax-Loss на самом деле является комбинацией функции softmax и функции перекрестной потери энтропии (Cross Entropy Loss).
  • Функция активации Softmax и Multinomial Logistic Loss могут быть объединены в слой Softmax-loss, а могут быть разделены, что является более гибким после разделения, но возникает проблема численной стабильности, а также увеличивается объем вычислений.
  • Кривая потерь: при s >0 Softmax стремится к нулю.

  • Преимущества: Softmax также меньше беспокоят выбросы.

взвешенная потеря softmax

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

  • wc — это вес, c=0 представляет краевые пиксели, c=1 представляет некраевые пиксели, тогда мы можем сделать w0=1, w1=0,001, то есть увеличить вес краевых пикселей. Конечно, можно использовать и адаптивные веса.

Ссылаться на:Softmax и Softmax-Loss Дорога к ИИ

4 Потеря шарнира

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

Потеря шарнира используется для бинарной классификации

  • В качестве примера возьмем линейную выходную модель SVM, y^=s=wx, L — это следующая формула, а кривая потерь принимает ys=y*y^ как горизонтальную ось.
  • Если y*y^
  • При выходной метке y=-1, -1
  • Если y*y^>=1, потери равны 0 и классификация верна.
  • При выходной метке y=-1, y^=1 потери в этом диапазоне равны 0

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

  • Представляет собой расстояние между положительными и отрицательными оценками выборки:
  • Когда y'>y+m, потери = 0, то есть прогнозируемое значение положительной выборки больше, чем прогнозируемое значение отрицательной выборки плюс интервал.
  • y — оценка положительных образцов, y' — оценка отрицательных образцов, а m — расстояние между ними.

  • Есть надежда, что чем выше положительная оценка выборки, тем лучше, а чем ниже отрицательная оценка выборки, тем лучше, но разница между двумя оценками достаточна, чтобы быть не более m, и вознаграждение за увеличение разрыва отсутствует.
  • Представление в cs231n:

5 Среднеквадратическая ошибка (MSE, среднеквадратическая ошибка)

  • Для задач линейной регрессии он относится к методу наименьших квадратов (МНК).
  • Основной принцип метода наименьших квадратов заключается в том, что наиболее подходящей прямой линией должна быть прямая линия, минимизирующая сумму расстояний от каждой точки до линии регрессии, то есть наименьшая сумма квадратов.
  • Используйте среднеквадратичную ошибку (MSE) в качестве меры:

  • Почему линейная регрессия не может использовать кросс-энтропию? Формула кросс-энтропии. Для задач линейной регрессии, если берется любое значение, такое как -1,5, log(-1,5) не может быть рассчитан, поэтому кросс-энтропия обычно не используется для оптимизации задачи регрессии.
  • Почему нельзя использовать MSE для задач классификации? В задаче классификации нужно вычислить вероятность каждой метки в виде одного горячего, а затем использовать argmax для определения классификации, при расчете вероятности обычно используется softmax. Проблема с вычислением потерь с помощью MSE заключается в том, что кривая, выдаваемая Softmax, колеблется, есть много локальных экстремумов, и это проблема невыпуклой оптимизации. Кросс-энтропийный расчет потерь по-прежнему остается задачей выпуклой оптимизации, которую можно решить с помощью градиентного спуска.

Ссылаться на:Дисперсия, MSE и другие формулы Зачем использовать кросс-энтропию для задач классификации и MSE для задач регрессии

6 Modified Huber Loss

  • SGDClassifier в scikit-learn использует его.
  • Потеря Хубера также может быть применена к задачам классификации, называемым модифицированной потерей Хьюбера:

  • Кривая потерь: модифицированная потеря Хубера сочетает в себе преимущества MSE, потери шарнира и потери перекрестной энтропии.

  • Преимущества: с одной стороны, когда ys > 1, можно генерировать разреженные решения, чтобы повысить эффективность обучения; с другой стороны, штраф для выборок ys

7 Экспоненциальная потеря

  • В основном используется в AdaBoost
  • Экспоненциальная потеря:

  • Экспоненциальная потеря похожа на кросс-энтропийную потерю, но она экспоненциально убывает с большим градиентом.
  • Недостатки: больше помех от аномальных точек

Сравните допустимость каждой потери с выбросами

  • Нарисуйте 5 видов потерь, диапазон значений ys на левом изображении — [-2, +2], а диапазон на правом изображении — [-5, +5]:

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