Несбалансированные данные

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

Что считается дисбалансом? Ответ может варьироваться от умеренного до экстремального, как показано в таблице ниже.

Степень дисбаланса Доля меньшинства
Мягкий 20-40% набора данных
Умеренный 1-20% набора данных
Экстрим <1% набора данных

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

Рассмотрим следующий пример модели, обнаруживающей мошенничество. Случаи мошенничества происходят один раз на 200 транзакций в этом наборе данных, поэтому в истинном распределении около 0,5% данных являются положительными.

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

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

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

Понижение дискретизации и повышение веса

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

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

Шаг 1: Понизьте выборку большинства классов. Рассмотрим еще раз наш пример набора данных о мошенничестве с 1 положительным результатом на 200 отрицательных результатов. Понижение дискретизации в 10 раз улучшает баланс с 1 положительного на 20 отрицательных (5%). Хотя полученный тренировочный набор по-прежнему умеренно несбалансирован , соотношение положительных и отрицательных результатов намного лучше, чем исходное чрезвычайно несбалансированное соотношение (0,5%).

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

Шаг 2: Повышение веса класса с пониженной выборкой . Последний шаг — добавить весовые коэффициенты примера к классу с пониженной выборкой. Поскольку мы уменьшили выборку в 10 раз, вес примера должен быть равен 10.

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

Возможно, вы привыкли слышать термин вес , когда он относится к параметрам модели, таким как соединения в нейронной сети. Здесь мы говорим о весе примера , что означает более важный подсчет отдельного примера во время обучения. Вес примера 10 означает, что модель рассматривает пример как в 10 раз более важный (при расчете потерь), чем пример с весом 1.

Вес должен быть равен коэффициенту, который вы использовали для понижения дискретизации:

\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]

Почему Downsample и Upweight?

Может показаться странным добавлять веса примера после субдискретизации. Мы пытались улучшить нашу модель по сравнению с классом меньшинства — зачем нам придавать большее значение большинству? Это результирующие изменения:

  • Более быстрая сходимость : во время обучения мы чаще видим миноритарный класс, что поможет модели быстрее сходиться.
  • Место на диске : объединяя класс большинства в меньшее количество примеров с большими весами, мы тратим меньше места на диске для их хранения. Эта экономия дает больше места на диске для класса меньшинства, поэтому мы можем собрать большее количество и более широкий диапазон примеров из этого класса.
  • Калибровка : Повышение веса гарантирует, что наша модель все еще откалибрована; результаты все еще можно интерпретировать как вероятности.