Предположим, вы дали задание, скажем, вы должны использовать маску, чтобы найти очень маленькие цели на огромном изображении. Вы начали с маркировки изображения с помощью соответствующего инструмента. После всей тяжелой работы и скуки надписывания изображения вы встречаете ФИНАЛЬНОГО БОССА…
Вы помните, эти маски очень маленькие по сравнению с остальной частью изображения! Плюс может не быть различия маски (возможно, нет границы маски с фоном)! У тебя серьезные проблемы.
Время освоить основы.
Введение
Некоторые проблемы в науке о данных имеют несбалансированную структуру набора данных по самой природе. Такой как:
- Обнаружение мошенничества
- Спам по электронной почте
- Обнаружение мелких объектов и т. д. и т. д.
Давайте пропустим часть глубокого обучения, поскольку они, скорее всего, представляют собой разные реализации простых статистических решений ML.
Что вы могли бы сделать в любом случае?
Вариант реструктуризации данных:
Вы можете осторожно удалить некоторые точки данных, чтобы количество положительных и отрицательных образцов было более или менее одинаковым. И наоборот, вы можете сгенерировать больше выборок меньшинства, чтобы они соответствовали выборкам большинства (расширение). Тем не менее, несколько моментов являются чрезвычайно важными.
- Представляет ли уменьшенное предыдущее большинство исходное?
- Совпадает ли дополненное меньшинство с оригиналом?
Кроме того, как вы решаете, устранить ли большинство или увеличить меньшинство? По сути, если ваш набор данных достаточно велик, даже если вы исключите большинство, сделайте это. Однако, если проблематично работать с меньшим набором данных с исключенным большинством, попробуйте увеличить меньшинство.
Я ленивый Вариант:
Слышали ли вы о весах классов? Если нет, пожалуйста, сделайте это! Более случайным объяснением может быть «метрика, которая определяет, насколько сильно модель будет наказана, если она будет сделана неправильно в этом классе». В большинстве фреймворков, таких как sklearn, модели имеют параметр для определения весов классов, даже сбалансированный вариант для автоматического определения его самого. Однако имейте в виду, что настройка весов классов может в конце концов разрушить ваши показатели, поскольку ваш класс большинства будет оштрафован меньше, чем класс меньшинства. В общем, у вас будет универсальная модель.
Важный совет, который я нигде не видел!
Что, если бы я сказал вам, что вы можете в основном избавиться от универсальной модели с настройкой веса класса?
Конечно, это не так просто, но вы можете установить «динамический (обычно уменьшающийся) вес класса, изменяющийся каждую итерацию (эпоху)». Использование такого метода приведет к сильному наказанию класса меньшинства, что даст лучшие результаты в начальных итерациях, уменьшение веса класса сместит баланс в пользу класса большинства в более поздних итерациях, чтобы улучшить общий балл в классе большинства!