Я пытаюсь сделать детектор объектов, которые встречаются очень редко (в изображениях), планируя использовать двоичный классификатор CNN, применяемый в скользящем окне с измененным размером. Я построил сбалансированные положительно-отрицательные обучающие и тестовые наборы (кстати, правильно ли это делать в таком случае?), И классификатор отлично справляется с тестовым набором с точки зрения точности. Теперь я хочу контролировать возврат / точность моего классификатора, поэтому, например, он не будет неправильно маркировать слишком много вхождений большинства классов.
Очевидное (для меня) решение состоит в том, чтобы использовать те же логистические потери, которые используются сейчас, но по-разному оценивать ошибки типа I и типа II, умножая потери в одном из двух случаев на некоторую константу, которую можно настроить. Это правильно?
PS С другой стороны, это эквивалентно взвешиванию некоторых тренировочных образцов больше, чем других. Я думаю, что добавление еще одного класса даст то же самое.
Ответы:
Искусственно построение сбалансированного набора обучения является спорным, весьма спорно на самом деле. Если вы делаете это, вы должны эмпирически проверить, что он действительно работает лучше, чем оставить несбалансированный тренировочный набор. Искусственная балансировка тестового набора почти никогда не является хорошей идеей. Тестовый набор должен представлять новые точки данных, когда они входят без меток. Вы ожидаете, что они будут несбалансированными, поэтому вам нужно знать, может ли ваша модель справиться с несбалансированным набором тестов. (Если вы не ожидаете, что новые записи будут несбалансированными, почему все ваши существующие записи несбалансированы?)
Что касается вашей метрики производительности, вы всегда получите то, что просите. Если точность - это не то, что вам нужно в первую очередь в несбалансированном наборе, потому что несбалансированны не только классы, но и затраты на неправильную классификацию, не используйте ее. Если вы использовали точность в качестве метрики и выполнили весь выбор модели и настройку гиперпараметра, всегда выбирая модель с максимальной точностью, вы оптимизируете точность.
Я считаю класс меньшинства положительным классом, это обычный способ присвоения им имен. Таким образом, точность и отзыв, как обсуждено ниже, являются точностью и отзывом класса меньшинства.
источник
Вы делаете несколько предположений. Лучше всего думать о конечной цели в общих чертах, а затем сформулировать стратегию, которая соответствует этой цели. Например, действительно ли вам нужна классификация с принудительным выбором и достаточно ли велико соотношение сигнал / шум, чтобы это поддерживать (хорошие примеры: распознавание звука и изображения)? Или отношение сигнал / шум низкое или вас интересуют тенденции ? Для последнего оценка риска для вас. Выбор является ключевым и определяет прогнозируемую метрику точности, которую вы выберете. Для получения дополнительной информации обо всем этом см. Http://www.fharrell.com/2017/01/classification-vs-prediction.html и http://www.fharrell.com/2017/03/damage-caused-by-classification .html .
Большинство проблем касается принятия решений , а оптимальные решения основаны на оценке риска в сочетании с функцией потерь / затрат / полезности.
Один из лучших аспектов подхода оценки риска (вероятности) состоит в том, что он обрабатывает серые зоны, где было бы ошибкой делать классификацию или решение без получения большего количества данных. Кроме того, существует тот факт, что оценка вероятности не требует (даже не позволяет) «сбалансировать» результаты путем искусственного манипулирования выборкой.
источник
источник