Машинное обучение: должен ли я использовать категориальную кросс-энтропию или двоичную кросс-энтропийную потерю для бинарных предсказаний?


36

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

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


1
Пример бинарной классификации: machinelearningmastery.com/… и мультиклассовой классификации: machinelearningmastery.com/…
— user1367204

@ user1367204: ссылка на мультиклассовую классификацию перенаправляет на двоичную классификацию. Это должен быть этот .
— user3389669

Ответы:


51

Биноминальная кросс-энтропийная потеря является частным случаем полиномиальной кросс-энтропийной потери при .мзнак равно2

L(θ)знак равно-1NΣязнак равно1N[Yяжурнал⁡(пя)+(1-Yя)журнал⁡(1-пя)]знак равно-1NΣязнак равно1NΣJзнак равно1мYяJжурнал⁡(пяJ)

Где индексирует выборки / наблюдения и индексирует классы, а - метка выборки (двоичная для LSH, горячий вектор на RHS) и - прогноз для выборки.яJYпяJ∈(0,1):ΣJпяJзнак равно1∀я,J


3
Означает ли это сказать, что пока я использую 2 класса в полиномиальной кросс-энтропийной потере, я по сути использую бинарную кросс-энтропийную потерю?
— infomin101


17

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


3
Чем обосновано ваше утверждение? Почему бы вам не использовать категориальную перекрестную энтропию для классификации по нескольким меткам?
— Михал

Что делать, если существует несколько меток, каждая из которых содержит несколько классов?
— Slizb

1
Это именно то, что я хотел услышать, но не то, что хочет услышать мой босс. Немного объяснения было бы так здорово.
— Адитья

2

Я думаю, что есть три вида задач классификации:

  1. Бинарная классификация: два эксклюзивных класса
  2. Мультиклассовая классификация: более двух эксклюзивных классов
  3. Мультимарочная классификация: просто неисключительные классы

Из них можно сказать

  • В случае (1) вам необходимо использовать двоичную перекрестную энтропию.
  • В случае (2) вам необходимо использовать категориальную кросс-энтропию.
  • В случае (3) вам нужно использовать двоичную перекрестную энтропию. Вы можете просто рассмотреть классификатор с несколькими метками как отдельный отдельный двоичный классификатор. Если у вас есть 10 классов здесь, у вас есть 10 двоичных классификаторов отдельно. Каждый двоичный классификатор обучается независимо. Таким образом, мы можем изготовить мульти-этикетки для каждого образца. Если вы хотите убедиться, что должна быть получена хотя бы одна метка, вы можете выбрать ту, которая имеет наименьшую классификационную потерю, или использовать другие метрики.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.