Перекрёстная проверка

Перекрёстная проверка оценивает обобщающую способность модели, разбивая данные на k частей, обучая модель k раз и каждый раз откладывая под тест другую часть, а затем усредняя результаты. Вместо одной оценки из одного произвольного разбиения вы получаете k оценок, разброс которых показывает, насколько результат зависит от того, какие строки куда попали. Именно разброс здесь и важен. На небольшом наборе единственная отложенная оценка может гулять на несколько пунктов чисто по жребию, и команды регулярно принимают это колебание за реальное улучшение; перекрёстная проверка делает неопределённость видимой и даёт более честное сравнение моделей-кандидатов или гиперпараметров. Стоит она в k раз дороже по вычислениям на обучение — поэтому она стандартна для малых и средних наборов и редка для больших моделей, где практичен один аккуратно построенный отложенный набор. Разновидности важны не меньше самого метода. Стратифицированные фолды сохраняют баланс классов внутри каждого фолда и являются выбором по умолчанию для классификации с редкими классами. Групповые фолды держат все строки одной сущности в одном фолде — по той же причине, по которой наивное разбиение течёт. Перекрёстная проверка для временных рядов обучается на растущем префиксе и проверяется на следующем окне, никогда на прошлом. И если перекрёстная проверка использовалась для выбора модели, сам выбор видел все фолды, так что победившая оценка оптимистична: чтобы сообщить честное число, всё равно нужен по-настоящему нетронутый финальный тест.

Похожие термины

Ещё термины: MLOps-процессы