глоссарий

Undersampling

Undersampling

Андерсэмплинг (undersampling) — это приём подготовки данных для машинного обучения, когда искусственно сокращают количество примеров того класса, который в обучающей выборке встречается слишком часто, чтобы модель не игнорировала редкий класс. Представьте набор фотографий: тысяча изображений кошек и десять собак. Если обучить нейросеть без подготовки, она быстро выучит простое правило «всегда отвечай «кошка»» — так она получит почти 100% точности, но совершенно не научится находить собак. Андерсэмплинг решает эту проблему: из тысячи кошек случайно отбирают, скажем, десять, и теперь классы уравновешены — модель вынуждена различать признаки животных, а не угадывать самый частый ответ.

Зачем это важно? В реальных приложениях редкие события часто важнее массовых. Банковская транзакция с мошенничеством встречается в одном случае из тысячи, но именно её нужно выловить. Если дать нейросети сырые данные, она «увидит» почти только честные операции и решит, что мошенничество — статистический шум. После андерсэмплинга модель учится на сбалансированной выборке, где мошенничество встречается в половине случаев, и может уловить его закономерности. Конечно, выбрасывание части данных — грубое решение: можно потерять полезную информацию. Но на практике этот метод прост, быстр и служит отправной точкой для более изощрённых алгоритмов вроде синтетической генерации примеров.

Главная идея — заставить алгоритм обратить внимание на меньшинство. Модель работает как студент: если в учебнике одна страница про собак и девяносто девять про кошек, он вызубрит только про кошек. Убрав лишние страницы, вы заставляете его изучить и остальной материал. После обучения на отбалансированных данных модель возвращают на реальные пропорции и подбирают порог срабатывания, чтобы не было ложных тревог. В итоге андерсэмплинг — это осознанная потеря объёма данных ради выравнивания внимания модели, и он часто спасает там, где точность важнее полноты.