пятница, 31 августа 2018 г.

Мультиклассовые нейронные сети: один против всех

В машинном обучении мультиклассовая классификация - это задача классифицирования примеров в один из трех или более классов. (Классифицирование в один из двух классов называется бинарной классификацией.)

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

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

Один против всех (One vs. all) предоставляет путь решения бинарной классификации. Дана классификационная проблема с N возможными решениями, один-против-всех решение состоит из N отдельных бинарных классификаторов - по одному бинарному классификатору для каждого возможного выхода. В течение тренировки модель проходит через последовательность бинарных классификаторов, тренируя каждый отвечать на отдельный классификационный вопрос. Например, дана картинка собаки, пять различных распознавателей могут быть тренированы, четыре видят изображение как негативный пример (не собака) и один как положительный (собака). То есть:

  • Это изображение яблока? Нет.
  • Это изображение медведя? Нет.
  • Это изображение конфеты? Нет.
  • Это изображение собаки? Да.
  • Это изображение яйца? Нет.

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

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

Один-против-всех (one-vs.-all) нейронная сеть