Словарь ИИ
Что такое дисбаланс классов
Коротко
Дисбаланс классов это ситуация, когда в обучающих данных примеров одного класса намного больше, чем другого, и модель почти перестает замечать редкий класс.
Машинное обучение · class imbalance
Михаил МозгПроверено: 1 минута чтения
Ребенку
Представь, что в коробке сто красных шариков и всего два синих. Если каждый раз говорить «красный», ошибаться почти не будешь, но синий так и не научишься находить. Компьютер, который учится на таких примерах, поступает похоже: привыкает к частому ответу. Поэтому люди следят, чтобы редкие примеры тоже было хорошо видно.
Простыми словами
Модель учится на примерах и замечает, какие ответы встречаются чаще. Если среди тысячи платежей мошеннических всего несколько, ей выгодно всегда отвечать «платеж честный»: доля верных ответов выйдет почти идеальной, а пользы не будет никакой. Такой перекос исправляют тремя способами: редкие примеры показывают чаще, частые прореживают или прямо объясняют модели, что пропуск редкого случая стоит дороже. Похожая история с врачом, который годами видел только здоровых пациентов: редкую болезнь он легко пропустит.
Для бизнеса
С перекосом сталкивается почти любая ценная задача: мошенничество, брак на линии, уход клиента, отказ оборудования. Интересное событие всегда редкое, и именно его компания хочет ловить. Опасность прячется в отчетах: подрядчик показывает впечатляющую долю верных ответов, а модель не нашла ни одного мошенника. Прежде чем принимать работу, попросите полноту и точность по редкому классу и матрицу ошибок на реальной выборке. Цена решения зависит от того, сколько редких случаев накоплено в истории и во что обходится пропуск по сравнению с ложной тревогой. Иногда честнее сначала копить данные несколько месяцев, чем обучать модель на десятке примеров. Такие допущения разумно проверить на пилоте с живым потоком операций.
Для специалиста
Дисбаланс классов (class imbalance) это неравномерное распределение меток в задаче классификации, при котором миноритарный класс (minority class) занимает малую долю выборки. Функцию потерь, усредненную по примерам, тогда определяет в основном мажоритарный класс, а доля верных ответов (accuracy) теряет смысл; качество оценивают точностью и полнотой, F1-мерой, PR-AUC и матрицей ошибок. Методы делят на три группы. Уровень данных: случайная недовыборка (undersampling), повторение редких примеров (oversampling) и синтез новых; SMOTE (Chawla и соавторы, JAIR, 2002) создает синтетические точки миноритарного класса между соседними примерами и сочетается с недовыборкой мажоритарного. Уровень функции потерь: веса классов (class weights), обучение с учетом стоимости ошибок (cost-sensitive learning), focal loss (Lin и соавторы, 2017), которая снижает вес хорошо классифицированных примеров и сосредотачивает обучение на трудных. Уровень решения: сдвиг порога и калибровка вероятностей. Стратифицированное разбиение сохраняет долю классов в обучающей и тестовой частях.
Пример
Банк учит модель находить мошеннические переводы, а в истории их единицы на многие тысячи честных. Без поправки на перекос модель пропускала почти все подозрительные операции, хотя в отчете выглядела точной. После взвешивания классов и сдвига порога она стала поднимать тревогу чаще, и сотрудники разбирают только отмеченные переводы.
Связанные термины
Вопросы и ответы
Почему при дисбалансе классов нельзя смотреть на долю верных ответов?
Как исправить дисбаланс классов?
Источники
Где это применяют в компании
Не уверены, нужно ли это вашей компании?
Карта ИИ-решений