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

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

В следующей таблице представлены общепринятые названия и диапазоны для различных степеней дисбаланса:

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

Например, рассмотрим набор данных по обнаружению вирусов, в котором класс меньшинства составляет 0,5% набора данных, а класс большинства — 99,5%. Чрезвычайно несбалансированные наборы данных, подобные этому, распространены в медицине, поскольку у большинства субъектов вируса не будет.

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

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

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

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

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

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

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

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

Шаг 2. Увеличьте вес класса с пониженной дискретизацией . Добавьте примерные веса в класс с пониженной дискретизацией. После уменьшения выборки в 20 раз вес примера должен составлять 20. (Да, это может показаться нелогичным, но позже мы объясним, почему.)

Рисунок 7. Двухэтапная диаграмма понижения дискретизации и повышения веса.             Шаг 1. Понижение выборки извлекает случайные примеры из класса большинства. Шаг 2. Повышение веса увеличивает вес примеров с пониженной дискретизацией.
Рисунок 7. Повышение веса.

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

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

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

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

Коэффициенты ребалансировки

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

  • Размер партии
  • Коэффициент дисбаланса
  • Количество примеров в обучающем наборе

В идеале каждая партия должна содержать несколько примеров классов меньшинств. Группы, которые не содержат достаточного количества классов меньшинств, будут обучаться очень плохо. Размер партии должен быть в несколько раз больше коэффициента дисбаланса. Например, если коэффициент дисбаланса составляет 100:1, то размер партии должен быть не менее 500.

Упражнение: Проверьте свое понимание.

Рассмотрим следующую ситуацию:

  • Размер пакета — 128.
  • Коэффициент дисбаланса составляет 100:1.
  • Обучающий набор содержит один миллиард примеров.
Какие из следующих утверждений верны?
Увеличение размера пакета до 1024 улучшит полученную модель.
При размере партии в 1024 человека в каждой партии будет в среднем около 10 экземпляров класса меньшинства, чего должно быть достаточно для обучения. Без понижения выборки обучающий набор по-прежнему будет содержать один миллиард примеров.
Понижение дискретизации (и увеличение веса) до 20:1 при сохранении размера пакета на уровне 128 улучшит полученную модель.
В каждой партии в среднем будет около 9 экземпляров класса меньшинства, чего должно быть достаточно для обучения. Понижение выборки эффективно уменьшает количество примеров в обучающем наборе с одного миллиарда до 40 миллионов.
Нынешняя ситуация в порядке.
Большинство пакетов не будут содержать достаточно классов меньшинства для обучения полезной модели.