На дворе 21 век, и мы стали больше, чем когда-либо, полагаться на машинное обучение для получения точных результатов.

Но что, если машинное обучение нуждается в небольшой доработке?

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

Если вы часто ищете решения и методы для устранения дисбаланса классов в машинном обучении, позвольте сообщить вам, что ваши поиски завершены, потому что мы собираемся обсудить семь надежных методов для устранения дисбаланса классов в машинном обучении. .

Но что именно это означает?

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

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

Понимание дисбаланса классов и его влияния

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

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

Некоторые реальные примеры областей/доменов, затронутых дисбалансом классов:

👉Обнаружение мошенничества

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

Это делает обучение модели машинного обучения невозможным из-за недостаточного количества данных.

👉Диагностика заболеваний

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

Теперь можно только представить последствия этого.

👉Отток клиентов в SaaS

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

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

Теперь, когда мы знаем, какие проблемы это может вызвать, давайте обсудим, как мы должны оценить и исправить это.

Какие показатели следует использовать для оценки несбалансированных данных?

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

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

7 многообещающих методов борьбы с дисбалансом классов

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

Методы устранения дисбаланса классов можно разделить на три основные категории:

⚫ Методы обработки данных

⚫ Алгоритмические методы

⚫ Продвинутые техники

Давайте обсудим их один за другим;

Методы обработки данных

Можно использовать следующие типы методов обработки данных:

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

Методы повторной выборки можно разделить на:

✅Недостаточная выборка

Этот метод уменьшает количество экземпляров в классе большинства, чтобы соответствовать классу меньшинства. Случайный выбор выборок или использование определенных алгоритмов, таких как Cluster Centroids или NearMiss, может помочь добиться недостаточной выборки.

✅Оверсэмплинг

Передискретизация направлена ​​на увеличение количества экземпляров в классе меньшинства. Такие методы, как случайная избыточная выборка, SMOTE (метод синтетической избыточной выборки меньшинства) или ADASYN (адаптивная синтетическая выборка), создают искусственные экземпляры для балансировки набора данных.

✅Гибридные методы

Эти методы сочетают в себе методы недостаточной и избыточной выборки для создания сбалансированного набора данных. Примеры включают SMOTEENN (SMOTE + отредактированные ближайшие соседи) и SMOTETomek (ссылки SMOTE + Tomek).

2. Генерация синтетических данных:

Генеративные модели, такие как вариационные автоэнкодеры (VAE) и генеративно-состязательные сети (GAN), могут генерировать синтетические данные для класса меньшинства, дополняя набор обучающих данных и устраняя дисбаланс классов.

3. Разработка функций:

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

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

Алгоритмические методы

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

4. Обучение с учетом затрат

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

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

Методы ансамбля, такие как бэггинг, бустинг (например, AdaBoost) и стекирование, могут улучшить производительность модели на несбалансированных данных. Объединение нескольких моделей или присвоение более высоких весов классу меньшинства во время ансамблевого обучения может улучшить способность модели фиксировать шаблоны класса меньшинства.

Это не так. У нас есть еще одна техника, т. е. выявление, которое может решить вашу проблему.

Расширенные методы

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

6. Одноклассовая классификация

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

7. Перенос обучения

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

Последние мысли

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

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

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

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

Благодаря опыту Data Pilot мы поможем вашему бизнесу путем тщательного рассмотрения и реализации этих стратегий с помощью моделей машинного обучения для повышения производительности и точности даже в несбалансированных наборах данных.


Авторы: Миша Захид и Рида Али Хан