Разделение на обучение и тест

Разделение на обучение и тест делит набор данных так, чтобы модель училась на одной части, а измерялась на другой, которой никогда не видела. Обычно частей три: обучающая выборка, на которой модель подгоняется, валидационная, по которой сравнивают варианты при настройке, и отложенный тест, к которому прикасаются только в конце. Разделение нужно потому, что оценка модели на данных, на которых она обучалась, измеряет запоминание, а не обобщение: достаточно сложная модель покажет хороший результат на своей обучающей выборке независимо от того, насколько плохо она работает в реальности. За большинством обманчивых результатов стоят две ошибки. Утечка: информация из теста попадает в обучение — напрямую (дубликаты строк, пример, оказавшийся с обеих сторон) или незаметно (признак, посчитанный по всему набору до разделения: статистика нормализации или агрегат, выведенный из целевой переменной). И разбиение, игнорирующее структуру данных. Если примеры сгруппированы — несколько обращений от одного клиента, несколько кадров из одного видео, — случайное разбиение раскладывает почти одинаковые примеры по обе стороны и завышает оценку; делить нужно по группам. Данные с временным порядком требуют той же аккуратности в другой форме: учиться на прошлом и проверяться на будущем, ведь случайное разбиение позволяет модели учиться на ещё не наступивших событиях. Та же логика управляет наборами для оценки языковых моделей: аналог утечки — бенчмарк, содержимое которого попало в данные предобучения, а аналог группового разбиения — тест, собранный из тех же шаблонов промптов, на которых промпт и разрабатывали.

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

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