Проблемы обучения алгоритмов машинного обучения с несбалансированными данными

Оглавление:

  1. "Введение"
  2. Что такое несбалансированные данные?
  3. Влияние на границы принятия решений и прогнозы
  4. Вводящие в заблуждение показатели эффективности
  5. Методы обработки несбалансированных данных
  6. "Заключение"

1. Введение

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

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

2. Что такое несбалансированные данные?

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

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

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

Что вызывает несбалансированные данные?

В основном есть две причины, которые приводят к несбалансированному набору данных:
— это природа самой проблемы.
— есть систематическая ошибка в методах сбора данных или выборки.

Ниже приведены некоторые реальные проблемы, связанные с данными дисбаланса:

  1. Проблема Обнаружение мошеннических транзакций — типичный пример несбалансированных данных, поскольку большинство транзакций являются подлинными, а мошенническими — лишь небольшая их часть.
  2. В задаче Показ объявлений и прогнозирование кликов, поскольку большинство пользователей не нажимают на объявления, большая часть данных принадлежит тем, кто не нажимает, и лишь небольшая часть принадлежит клику.

3. Влияние на границы принятия решений и прогнозы

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

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

а) Логистическая регрессия

Логистическая регрессия пытается найти границу решения, которая лучше всего разделяет два класса данных. Процесс оптимизации включает в себя максимизацию логарифмических шансов или минимизацию логарифмических потерь. Обе группы стараются максимально отодвинуть от себя границы принятия решений. Когда один класс имеет намного больше выборок, чем другой, в силе PUSH будет доминировать класс большинства, и граница принятия решений сместится в сторону класса меньшинства. Этот сдвиг в сторону класса меньшинства может привести к некоторому смещению в предсказании класса меньшинства, когда используется пороговое значение по умолчанию 0,5. Если дисбаланс классов не является чрезмерным, некоторые корректировки порога принятия решения могут смягчить смещение.

Вердикт: если дисбаланс классов не является экстремальным, логистическая регрессия работает хорошо с небольшими корректировками порога принятия решения.

б) КНН

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

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

Вердикт: уровень воздействия зависит от значения K.

в) Наивный Байес

Наивный Байес вычисляет вероятность того, что выборка x принадлежит классу C, следующим образом:

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

Вердикт: на метод наивного Байеса влияют несбалансированные данные.

г) Дерево решений

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

Вердикт: на алгоритм дерева решений не оказывают сильного влияния несбалансированные данные.

4. Вводящие в заблуждение показатели производительности

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

а. Точность:

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

Accuracy = (True Positive + True Negative) / 
           (True Positive + True Negative + False Positive + False Negative)

Допустим, у нас есть набор данных с 90% отрицательных образцов класса и 10% положительных образцов класса. Модель, которая всегда предсказывает отрицательный класс, будет иметь высокую точность 90 %, даже если на самом деле она работает не очень хорошо и объективно предсказывает только один класс. Таким образом, Accuracy не следует использовать с несбалансированными наборами данных.

б. Точность

Он определяется как отношение количества истинных положительных прогнозов к общему количеству положительных прогнозов. Он дает ответ на вопрос «Какая доля положительных идентификаций на самом деле верна?». Математически точность определяется как:

Precision = True Positives / (True Positives + False Positives)

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

в. Отзыв или чувствительность

Он определяется как отношение количества истинных положительных прогнозов к общему количеству положительных образцов. Он дает ответ на вопрос «Какая доля фактических положительных результатов была определена правильно?». Математически отзыв определяется как:

Recall = True Positives / (True Positives + False Negatives)

Отзыв — полезный показатель в тех случаях, когда стоимость ложноотрицательных результатов высока. В задаче Показ объявлений и прогнозирование кликов очень важно свести к минимуму случаи, когда пользователь заинтересован в объявлении, но модель не может предсказать его как таковой, и объявление не показывается пользователю. пользователь. В таком сценарии рекламодатель теряет потенциального клиента, а рекламная платформа теряет потенциальный доход. High Recall гарантирует, что платформа показывает релевантную рекламу пользователям, которые в ней заинтересованы.

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

д. F1-счет

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

F1 Score = 2 * (Precision * Recall) / (Precision + Recall)

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

е. AUC

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

Допустим, у нас есть набор данных с 90% отрицательных образцов класса и 10% положительных образцов класса. Модель, которая всегда предсказывает отрицательный класс, будет иметь очень высокую долю истинно отрицательных результатов и очень низкую долю ложноположительных результатов. Это приводит к кривой, которая находится ближе к верхнему левому углу графика ROC, что приводит к высокому показателю AUC. Но модель совершенно не могла идентифицировать какие-либо положительные образцы, что приводило к низкому отзыву и низкому баллу F1. Таким образом, AUC может давать вводящие в заблуждение оценки при работе с несбалансированными данными.

Вердикт:

  • Точность и AUC плохо подходят для несбалансированных данных.
  • Precision, Recall и F1 Score обеспечивают более сбалансированную оценку.

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

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

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

а. Методы уровня данных:

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

  • 1. Избыточная выборка: она включает в себя случайный выбор примеров из класса меньшинства с заменой и добавление их в набор данных для увеличения их представления в наборе данных.
  • 2. Недостаточная выборка: это включает в себя случайное удаление выборок из класса большинства, чтобы уменьшить их представление в наборе данных.
  • 3. SMOTE: метод передискретизации синтетического меньшинства включает в себя создание синтетических выборок для увеличения класса меньшинства.

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

б. Методы уровня алгоритма:

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

  • Обучение с учетом затрат. Основное внимание уделяется назначению различных затрат на ошибки неправильной классификации для разных классов. Например, в задаче Обнаружение рака невозможность обнаружить рак (ложноотрицательный результат) может стоить дороже, чем неверное предсказание наличия у человека рака (ложноположительный результат). Назначая разную стоимость ошибкам, модель можно оптимизировать, чтобы снизить общую стоимость неправильной классификации.
  • Использование весов классов для автоматической корректировки весов в соответствии с частотами занятий – еще один способ решить эту проблему.

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

6. Заключение

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

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

Рекомендации

Повышение уровня кодирования

Спасибо, что являетесь частью нашего сообщества! Перед тем, как ты уйдешь:

  • 👏 Хлопайте за историю и подписывайтесь на автора 👉
  • 📰 Смотрите больше контента в публикации Level Up Coding
  • 💰 Бесплатный курс собеседования по программированию ⇒ Просмотреть курс
  • 🔔 Подписывайтесь на нас: Twitter | ЛинкедИн | "Новостная рассылка"

🚀👉 Присоединяйтесь к коллективу талантов Level Up и найдите прекрасную работу