Введение

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

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

В этой статье мы обсудим дисбаланс классов и то, как мы можем решить эту проблему. Эта тема будет обсуждаться в двух частях: теоретической и практической. Здесь мы сосредоточимся только на теоретической части, а в следующих статьях этой серии мы углубимся в практическую часть, где будем применять каждый из обсуждаемых методов обработки дисбаланса классов.

Прошу прощения, это будет немного длинно, но я обещаю быть кратким. Итак, берите чашечку кофе и вкусняшки!

Примечание.

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

Дисбаланс классов

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

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

Вы можете задать следующий вопрос: Как же мы можем решить эту проблему? Для решения этой проблемы дисбаланса классов применялись различные методы. Некоторые из этих методов включают в себя

· Метод повторной выборки (методы понижения и повышения частоты дискретизации)

· Применение весов/стоимости (штраф)

· Регулировка порога

· Использование ансамблевых методов

· Использование другой метрики оценки.

Методы обработки дисбаланса классов

Методы повторной выборки

Здесь класс меньшинства или большинства подвергается повторной выборке. Они нацелены на уравновешивание распределения классов. Два основных метода: понижение частоты дискретизации большинства класса путем случайного выбора дроби или повышение частоты дискретизации класса меньшинства путем создания его дублирующих копий. Существуют варианты этих методов. Один из них создает синтетические копии класса меньшинства, называемые Sсинтетическим Mменьшинством Oверсемплинговой Tтехникой (SMOTE ). В SMOTE выборки класса меньшинства с предопределенным числом ближайших соседей (k-ближайших соседей) используются для синтетического создания новых выборок класса меньшинства.

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

Применение весов/стоимости

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

Методы ансамбля

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

Регулировка порога

В бинарной классификации экземпляр (точка данных) обычно присваивается определенному классу путем установления порога вероятности на уровне 0,5, где значения вероятности выше 0,5 группируются как 1, а значения ниже этого уровня — как 0. Для проблемы несбалансированного класса порог может нуждаться в корректировке. Выбор наилучшего порога должен быть сделан путем нахождения оптимального порога, который уравновешивает показатели отзыва и точности классификатора. Это можно исследовать с помощью кривой точности/отзыва или кривой рабочих характеристик приемника (кривая ROC).

Выбор другой метрики производительности

Иногда оценка производительности классификатора с использованием точности может быть нецелесообразной. Для несбалансированных наборов данных существует явление, называемое парадоксом точности, когда классификатор может иметь наибольшую точность в целом, но прискорбно не может точно предсказать положительный класс/класс меньшинства. Выбор другой метрики в этом случае был бы идеальным. Можно использовать такие показатели, как площадь под кривой ROC (AUC), полнота, точность, оценка F1 или сбалансированная точность.

Полнота или чувствительность дает информацию о доле интересующего класса, которую может обнаружить классификатор. Это дано

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

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

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

Заключение

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

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

Спасибо, что нашли время, чтобы прочитать эту длинную статью, и надеюсь, вам понравилось. Ваши предложения очень приветствуются.

Следующая статья:

Обработка дисбаланса классов в машинном обучении: парадокс точности (часть 1)

Ресурсы

8 тактик для борьбы с несбалансированными классами в вашем наборе данных машинного обучения

5 методов обработки несбалансированных данных для задачи классификации