Дисбаланс классов
Материал из MachineLearning.
| | Статья написана с использованием LLM GPT-5.6 Sol Thinking и проверена участником Участник:Aleksandra Ivanova 19:52, 12 июля 2026 (MSD) |
Дисбаланс классов — ситуация в задаче классификации, при которой объекты разных классов представлены в данных в существенно разных количествах. Класс с большим числом наблюдений называют мажоритарным, класс с меньшим числом — миноритарным. Для бинарной классификации степень дисбаланса иногда выражают отношением
,
где и
— размеры классов.
Одного этого отношения недостаточно для оценки сложности задачи. Соотношение один к ста может почти не влиять на качество, если классы хорошо разделяются, а редкий класс представлен тысячами разнообразных объектов. Напротив, умеренный дисбаланс способен серьёзно затруднить обучение при сильном перекрытии классов, ошибках в разметке или малом числе наблюдений. Существенны также последствия ошибок: редкий класс может быть второстепенным, а может соответствовать мошенничеству, аварии или опасному заболеванию.
Причины дисбаланса
Во многих задачах дисбаланс отражает реальную частоту событий. Большинство банковских операций не являются мошенническими, большая часть оборудования работает исправно, а критические дефекты встречаются значительно реже нормальных изделий. Такое распределение называют естественным дисбалансом. Искусственное выравнивание долей классов в этом случае не делает данные более реалистичными.
Другая причина связана с процедурой сбора данных. Представители одного класса могут реже попадать в наблюдаемую выборку, хуже регистрироваться или чаще оставаться без метки. Например, положительное событие может считаться подтверждённым только после ручной проверки, тогда как отрицательные случаи фиксируются автоматически. Возникает не только различие в численности классов, но и смещение выборки: собранные данные перестают точно представлять совокупность, для которой строится модель.
Соотношение классов может меняться после внедрения системы. Изменение доли положительных и отрицательных объектов при сохранении условных распределений признаков называют сдвигом априорных вероятностей классов. Если меняется сама зависимость между признаками и целевой переменной, происходит более общий сдвиг распределения данных. Эти случаи требуют разной реакции: корректировка вероятностей и порога может помочь при изменении долей классов, но не компенсирует исчезновение прежних закономерностей.[1]
Влияние на обучение
Большинство алгоритмов машинного обучения минимизирует среднюю ошибку по обучающим объектам. Если один класс значительно многочисленнее другого, его вклад в целевую функцию оказывается больше. Модель может уменьшить общую ошибку, улучшая предсказания для мажоритарного класса и почти не изменяя качество на миноритарном.
Такое поведение не является обязательным свойством любого классификатора. Оно зависит от функции потерь, регуляризации, сложности модели и геометрии данных. Основная трудность состоит в том, что распределение редкого класса оценивается по малому числу наблюдений. Отдельные области пространства признаков могут оказаться совсем не представлены в обучающей выборке. Шумный или ошибочно размеченный объект при этом приобретает непропорционально большое значение.
Дисбаланс редко действует изолированно. Наиболее сложны случаи, в которых малочисленный класс одновременно неоднороден, пересекается с мажоритарным классом и содержит выбросы. Поэтому изменение количества объектов само по себе не устраняет проблему. Дублирование наблюдений не создаёт новой информации, а удаление объектов способно разрушить структуру распространённого класса.[1]
Оценка качества
Общая доля правильных ответов определяется как
,
где — число верно найденных положительных объектов,
— число верно распознанных отрицательных объектов,
— число ложноположительных решений,
— число пропущенных положительных объектов.
При сильном дисбалансе эта метрика может скрывать полную непригодность модели. Если положительный класс составляет один процент выборки, постоянное предсказание отрицательного класса даёт точность девяносто девять процентов. Такой классификатор не обнаруживает ни одного положительного объекта.
Для анализа поведения модели используют показатели, основанные на матрице ошибок. Точность положительного класса, или precision, показывает, какая доля положительных решений верна:
.
Полнота показывает, какая доля положительных объектов обнаружена:
.
Специфичность измеряет долю правильно распознанных отрицательных объектов:
.
F-мера объединяет точность и полноту:
,
где — precision,
— recall. Она полезна, когда важно качество положительных решений, но не учитывает число истинно отрицательных объектов.
Сбалансированная точность придаёт обоим классам одинаковый вес:
.
В отличие от обычной accuracy, она не позволяет получить высокое значение за счёт одного только мажоритарного класса.[1]
ROC-кривая показывает связь между полнотой и долей ложноположительных решений при изменении классификационного порога. Она характеризует способность модели ранжировать объекты, но при сильном дисбалансе может сглаживать практическую значимость ложных тревог. Небольшая доля ошибок среди миллионов отрицательных объектов всё равно означает большое абсолютное число ложных срабатываний.
PR-кривая связывает точность положительного класса и полноту. Она непосредственно показывает, насколько положительные решения загрязнены ложными срабатываниями, поэтому часто лучше отражает качество обнаружения редкого класса. Значения precision зависят от распространённости положительного класса, из-за чего PR-кривые, полученные на выборках с разными долями классов, нельзя сравнивать без учёта этого различия.[1][1]
Числовой пример
Пусть выборка содержит 10 000 объектов: 100 положительных и 9900 отрицательных. Модель выдаёт числовую оценку, а окончательная метка определяется выбранным порогом.
При низком пороге модель находит 90 положительных объектов, пропускает 10 и создаёт 700 ложноположительных решений. Accuracy равна 92,9 процента, полнота — 90 процентам, а точность положительного класса — приблизительно 11,4 процента. Почти девять из десяти тревог оказываются ложными.
При более высоком пороге модель находит 55 положительных объектов, пропускает 45 и создаёт 40 ложных тревог. Accuracy возрастает до 99,15 процента, точность положительного класса — до 57,9 процента, но полнота падает до 55 процентов.
В обоих случаях используется одна модель. Изменяется только правило принятия решения. Первый режим лучше сохраняет редкие события, второй резко уменьшает поток ложных тревог. Выбор между ними нельзя сделать по accuracy: он зависит от стоимости пропуска и ресурсов на обработку положительных сигналов.
Изменение обучающей выборки
Случайное уменьшение выборки удаляет часть объектов мажоритарного класса. Оно сокращает время обучения и ослабляет его преобладание, но вместе с объектами удаляется информация. Метод особенно рискован при сложной внутренней структуре распространённого класса.
Случайное увеличение выборки повторно добавляет объекты миноритарного класса. Все исходные наблюдения сохраняются, однако новых данных не возникает. Модель может начать чрезмерно подстраиваться под несколько многократно повторённых объектов.
Синтетическое увеличение формирует новые объекты на основе существующих наблюдений. Метод SMOTE создаёт точки между объектом миноритарного класса и его соседями того же класса.[1] Такой подход может заполнить плохо представленную область пространства признаков, но не гарантирует содержательной корректности новых объектов. При перекрытии классов синтетические точки способны попасть в неоднозначные области. Для категориальных, временных, текстовых и структурированных данных простая интерполяция часто не имеет естественной интерпретации.
Цель изменения выборки не состоит в обязательном получении равных классов. Подходящее соотношение определяется по качеству на валидационных данных.
Взвешивание и функции потерь
Вместо изменения данных можно назначить классам разные веса. Общий вид взвешенной функции потерь:
,
где — вес класса объекта,
— ошибка на отдельном наблюдении.
Вес редкого класса часто задают обратно пропорционально его частоте. Это простая отправная точка, а не универсальное правило. Слишком большой вес может повысить полноту ценой неприемлемого числа ложноположительных решений.
В стоимостно-чувствительном обучении веса связываются с последствиями ошибок. Ложноотрицательное и ложноположительное решения оцениваются по-разному, поскольку приводят к разным потерям. Частоты классов и стоимости ошибок при этом не следует смешивать: редкое событие не обязательно дорого пропускать, а распространённое событие не обязательно малозначимо.[1]
К специализированным подходам относятся ансамбли, в которых базовые модели обучаются на разных подвыборках мажоритарного класса. Агрегация позволяет использовать больше исходной информации, чем однократное уменьшение выборки, но увеличивает вычислительные затраты и число настраиваемых параметров.
Классификационный порог
Модель может выдавать вероятность, скор или значение функции решения. Эти величины не являются итоговой меткой класса. Решение формируется отдельным правилом:
,
где — числовая оценка модели,
— классификационный порог.
Снижение порога обычно увеличивает полноту и число ложноположительных решений. Повышение порога уменьшает количество ложных тревог, но приводит к большему числу пропущенных положительных объектов.
Порог не является универсальным. Он имеет содержательный смысл только для калиброванной вероятности и определённого соотношения последствий ошибок. Если стоимость ложноположительного решения равна
, а стоимость ложноотрицательного —
, то при стандартных предположениях порог для калиброванной вероятности можно записать как
.
В реальной системе порог также может определяться допустимой долей ложных тревог, минимальной полнотой или ограниченной пропускной способностью ручной проверки. Его выбирают по валидационным данным и фиксируют до итогового тестирования.
Калибровка вероятностей
Числовой выход классификатора не всегда является вероятностью. Значение функции решения метода опорных векторов, расстояние до разделяющей поверхности и необработанный выход ансамбля могут хорошо упорядочивать объекты, но не соответствовать частоте положительного класса.
Калибровка устанавливает соответствие между предсказанными значениями и наблюдаемыми частотами. Среди объектов с оценкой около положительный класс должен встречаться приблизительно в семидесяти процентах случаев. Такое соответствие необходимо, если решение принимается на основе ожидаемых затрат.[1]
Изменение выборки и взвешивание классов меняют распределение, которое видит алгоритм. Ранжирование объектов может улучшиться, но полученные значения перестают соответствовать реальной распространённости класса. Калибровку в таком случае выполняют отдельно на данных с естественным соотношением классов.
При изменении доли классов после внедрения прежняя калибровка и прежний порог могут потерять актуальность. Сохранение качества ранжирования не гарантирует сохранения точности вероятностей или числа ложных тревог.
Валидация
Разделение данных выполняется до уменьшения, увеличения или синтетического преобразования выборки. При кросс-валидации эти операции применяются отдельно внутри каждой обучающей части. Валидационные и тестовые объекты не должны влиять на выбор соседей, создание синтетических наблюдений, вычисление параметров преобразования или обучение калибратора.
Преобразование всей выборки до разделения приводит к утечке данных. Например, синтетический объект может быть создан с участием наблюдения, которое позднее окажется в валидационной части. Оценка качества после этого перестаёт быть независимой.
По валидационным данным выбираются способ изменения выборки, веса классов, параметры функции потерь, метод калибровки и классификационный порог. Тестовая выборка применяется один раз для оценки уже зафиксированной процедуры.
При временной зависимости данных необходимо сохранять хронологический порядок. Случайное перемешивание способно скрыть изменение долей классов и дать завышенную оценку устойчивости модели.
Многоклассовая и многометочная классификация
В многоклассовой задаче один или несколько классов могут быть значительно реже остальных. Для оценки используют метрики по каждому классу и макроусреднение, при котором классы получают одинаковый вес. Взвешенное усреднение отвечает на другой вопрос: его результат сильнее определяется многочисленными классами.
В многометочной классификации одному объекту соответствует несколько меток. Частоты меток могут различаться на несколько порядков, поэтому для них часто выбирают отдельные веса и пороги. Единый порог редко обеспечивает одинаково приемлемое поведение для распространённых и редких меток.
Система может использовать отказ от автоматического решения. Если максимальная оценка недостаточна или несколько классов имеют близкие значения, объект передаётся на дополнительную проверку. Такой отказ является отдельным решением, порог которого определяется допустимым риском и доступными ресурсами.
Типичные ошибки
Механическое выравнивание классов без анализа структуры данных способно удалить важные наблюдения, усилить шум или создать нереалистичные синтетические объекты.
Оценка только по accuracy скрывает качество на редком классе. Даже очень высокое значение этой метрики совместимо с полным отсутствием положительных предсказаний.
Изменение всей выборки до её разделения нарушает независимость валидации. Увеличение выборки, выбор соседей, вычисление весов, калибровка и настройка порога должны входить в валидируемый конвейер.
Автоматический выбор порога игнорирует стоимость ошибок, ограничения системы и калибровку выхода модели. Настройка порога по тестовой выборке, в свою очередь, превращает тестирование в часть подбора модели.
Оптимизация одной метрики без анализа последствий может создать непригодный режим работы. Максимальная полнота иногда сопровождается огромным числом ложных тревог, а высокая точность положительного класса достигается за счёт пропуска большинства редких событий.
Порог, веса и калибровку нельзя без проверки переносить в среду с другой долей классов или изменившейся зависимостью между признаками и целевой переменной.
Методологический смысл
Дисбаланс классов является свойством данных и прикладной задачи, а не самостоятельным дефектом алгоритма. Он становится существенным, когда редкость наблюдений мешает изучить распределение класса, выбранная функция потерь придаёт его ошибкам недостаточный вес или итоговый режим решений не соответствует допустимым последствиям.
Модель формирует статистическую оценку. Функция потерь определяет, какие ошибки влияют на обучение. Классификационный порог связывает оценку с действием. Ни равенство классов, ни порог , ни максимум отдельной метрики не являются универсальной целью. Метод выбирается по тому, какие ошибки допустимы, какие данные доступны и в каких условиях будет работать система.
Примечания
Литература
- Branco P., Torgo L., Ribeiro R. P. A Survey of Predictive Modeling on Imbalanced Domains // ACM Computing Surveys. 2016. Vol. 49, No. 2. Article 31. DOI: 10.1145/2907070.
- Chawla N. V., Bowyer K. W., Hall L. O., Kegelmeyer W. P. SMOTE: Synthetic Minority Over-sampling Technique // Journal of Artificial Intelligence Research. 2002. Vol. 16. P. 321–357.
- Davis J., Goadrich M. The Relationship Between Precision-Recall and ROC Curves // Proceedings of the 23rd International Conference on Machine Learning. New York: ACM, 2006. P. 233–240.
- Elkan C. The Foundations of Cost-Sensitive Learning // Proceedings of the 17th International Joint Conference on Artificial Intelligence. San Francisco: Morgan Kaufmann, 2001. P. 973–978.
- He H., Garcia E. A. Learning from Imbalanced Data // IEEE Transactions on Knowledge and Data Engineering. 2009. Vol. 21, No. 9. P. 1263–1284.
- He H., Ma Y., eds. Imbalanced Learning: Foundations, Algorithms, and Applications. Hoboken: Wiley-IEEE Press, 2013.
- Japkowicz N., Stephen S. The Class Imbalance Problem: A Systematic Study // Intelligent Data Analysis. 2002. Vol. 6, No. 5. P. 429–449.
- Niculescu-Mizil A., Caruana R. Predicting Good Probabilities with Supervised Learning // Proceedings of the 22nd International Conference on Machine Learning. New York: ACM, 2005. P. 625–632.
- Saito T., Rehmsmeier M. The Precision-Recall Plot Is More Informative than the ROC Plot When Evaluating Binary Classifiers on Imbalanced Datasets // PLOS ONE. 2015. Vol. 10, No. 3. Article e0118432.

