В последнее время я много размышлял о «проблеме дисбаланса классов» в машинном / статистическом обучении и все глубже погружаюсь в ощущение, что я просто не понимаю, что происходит.
Сначала позвольте мне определить (или попытаться) определить мои термины:
Проблема дисбаланса классов в машинном / статистическом обучении заключается в том, что некоторые алгоритмы двоичной классификации (*) не работают должным образом, когда соотношение классов от 0 к 1 очень искажено.
Так, в приведенном выше примере, например, если для каждого отдельного класса было сто классов , я бы сказал, что дисбаланс классов составляет от до или .
В большинстве формулировок проблемы, которые я видел, не хватает того, что я считаю достаточной квалификацией (какие модели борются, насколько несбалансированными является проблема), и это один из источников моего замешательства.
Обзор стандартных текстов в машинном / статистическом обучении мало что дает:
- Элементы статистического обучения и введение в статистическое обучение не содержат «дисбаланса классов» в индексе.
Машинное обучение для прогнозирующей аналитики данных также не содержит «дисбаланса классов» в индексе.
Машинное обучение Мерфи : Вероятностная перспектива действительно содержит «дисбаланс классов *» в индексе. Ссылка на раздел о SVM, где я нашел следующий дразнящий комментарий:
Стоит помнить, что все эти трудности и множество эвристических методов, которые были предложены для их устранения, в основном возникают из-за того, что SVM не моделируют неопределенность с использованием вероятностей, поэтому их выходные результаты не сопоставимы между классами.
Этот комментарий сочетается с моей интуицией и опытом: на моей предыдущей работе мы обычно подгоняли логистические регрессии и модели дерева с градиентным ускорением (чтобы минимизировать биномиальную логарифмическую вероятность) для несбалансированных данных (порядка дисбаланса класса ), с нет явных проблем с производительностью.
Я читал (где-то), что модели на основе дерева классификации (сами деревья и случайный лес) также страдают от проблемы дисбаланса классов. Это немного мутит воду, деревья в некотором смысле возвращают вероятности: запись голосования для целевого класса в каждом терминальном узле дерева.
Итак, в заключение, что я действительно хочу, так это концептуальное понимание сил, которые приводят к проблеме дисбаланса классов (если она существует).
- Это то, что мы делаем для себя с плохо выбранными алгоритмами и ленивыми порогами классификации по умолчанию?
- Исчезает ли оно, если мы всегда подходим к вероятностным моделям, которые оптимизируют надлежащие критерии оценки? Иными словами, является ли причина просто неудачным выбором функции потерь, то есть оценки предсказательной силы модели, основанной на жестких правилах классификации и общей точности?
- Если да, то являются ли модели, которые не оптимизируют правильные правила оценки, бесполезными (или, по крайней мере, менее полезными)?
(*) Под классификацией я подразумеваю любую статистическую модель, подходящую для данных бинарного отклика. Я не предполагаю, что моей целью является трудное задание одному или другому классу, хотя это может быть.
poor choice of loss functionв свой список. Итак, вы думаете, это верно даже для правильных правил подсчета в качестве функций потерь?