Что их отличает и как они выполняют задачу классификации

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

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

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

Генеративные классификаторы

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

Генеративные классификаторы изучают совместное распределение вероятностей P (x, y). Основное внимание уделяется тому, как функции и целевая переменная встречаются вместе. Цель состоит в том, чтобы объяснить, как генерируются данные.

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

Чтобы делать прогнозы, генеративные классификаторы преобразуют совместную вероятность (P (x, y)) в условную вероятность (P (y | x)) с помощью правила Байеса. Если вы не знакомы с обозначениями, P (y | x) означает вероятность y при значениях x.

Наивные байесовские классификаторы и скрытые модели Маркова являются примерами генеративных классификаторов.

Допустим, у нас есть точки, принадлежащие либо к синему, либо к оранжевому классу. Эти точки показаны на рисунке ниже. Совместные распределения вероятностей, основанные на известных значениях x и y (данные обучения), также показаны на рисунке.

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

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

Дискриминационные классификаторы

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

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

Логистическая регрессия, SVM и древовидные классификаторы (например, дерево решений) являются примерами дискриминационных классификаторов.

Дискриминантная модель напрямую изучает условное распределение вероятностей P (y | x). Напомним, что генеративная модель изучает совместную вероятность P (x, y), а затем преобразует ее в P (y | x) с помощью правила Байеса.

Рассмотрим случай ниже. Точки данных принадлежат либо классу 0, либо классу 1. Модель логистической регрессии рисует границу, которая указывает вероятность того, что точка данных принадлежит классу 1 (т. Е. P (y = 1 | x)).

Выбросы

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

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

Рассмотрим следующий случай, когда у нас есть 2 выброса в оранжевом классе.

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

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

Заключение

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

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

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

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

Спасибо за чтение. Пожалуйста, дайте мне знать, если у вас есть какие-либо отзывы.