Пересмотр кросс-энтропийных потерь и шарнирных потерь

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

Классификация - это задача классифицировать вещи на основе признаков. В машинном обучении это означает категоризацию с использованием алгоритмов ML на основе данных. Классификация может осуществляться с помощью многочисленных алгоритмов, SVM, логистической регрессии, алгоритмов на основе дерева или нейронных сетей. Алгоритмы, отличные от древовидных, будут широко использовать либо потерю шарнира, либо категорическую потерю. (Алгоритмы на основе дерева содержат специальный набор потерь, который мы обсудим в следующих частях). Давайте углубимся в Что? Почему? и когда? использовать эти функции потерь как нашу традицию :-).

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

Какие?

Кросс-энтропия — это мера потерь между двумя распределениями вероятностей. Что это значит сейчас? Энтропия – это мера случайности. Так как многие данные случайны, энтропия будет выше. Теперь кросс-энтропия означает разницу между двумя или более энтропиями.

Существует два типа кросс-энтропийных потерь.

  1. Бинарная кросс-энтропия
  2. Категориальная кросс-энтропия

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

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

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

Почему?

Бинарная кросс-энтропия подойдет для задач классификации, особенно бинарной классификации. Поскольку это дает разницу между вероятностями, мы можем точно оценить выход по вероятности, используя эту функцию потерь.
Категориальная кросс-энтропия лучше всего подходит для многоклассовой классификации. Перед обучением метки подвергаются векторному кодированию One-Hot. Эта потеря обычно используется в таких алгоритмах, как нейронные сети. На последнем уровне нейронной сети функция активации softmax применяется для получения вероятностей по классам прогнозирования. Затем с помощью кросс-энтропии вычисляется потеря вычисленной вероятности и выполняется алгоритм обратного распространения ошибки.

Когда?

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

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

Какие?

Машины опорных векторов (SVM) используют Hinge Loss в качестве функции потерь. Существенным преимуществом использования Hinge loss является то, что он обеспечивает выпуклую оптимизацию. Хотя он выпуклый, это негладкая и недифференцируемая потеря. Принимая во внимание, что логистическая регрессия, использующая кросс-энтропийную потерю, является гладкой и дифференцируемой. Таким образом, Hinge loss требует особой оптимизации, которая немного сложна.

Почему?

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

Когда?

Библиотеки, в которых есть SVM, внутри используют потерю шарнира. Если вы создаете SVM с нуля, перейдите к потерям шарнира и деталям его оптимизации. Насколько мне известно, большинство алгоритмов не используют Hinge loss, за исключением SVM.

Я настоятельно рекомендую вам пересмотреть SVM, а не просто Hinge Loss.

Прохладный! Мы пересмотрели основные функции потерь для классификации, кросс-энтропийных потерь и шарнирных потерь.

Спасибо за уделенное время. Давайте встретимся в следующий раз с другим захватывающим материалом для повторения.