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