Когда вы пытаетесь подогнать модели к большому набору данных, общий совет - разбить данные на три части: набор данных обучения, проверки и тестирования.
Это связано с тем, что модели обычно имеют три «уровня» параметров: первый «параметр» - это класс модели (например, SVM, нейронная сеть, случайный лес), второй набор параметров - это параметры «регуляризации» или «гиперпараметры» ( например, коэффициент штрафа Лассо, выбор ядра, структура нейронной сети) и третий набор - это то, что обычно считается «параметрами» (например, коэффициенты для ковариат).
Учитывая класс модели и выбор гиперпараметров, выбирают параметры, выбирая параметры, которые минимизируют ошибки в обучающем наборе. Учитывая класс модели, можно настроить гиперпараметры, минимизировав ошибку на множестве проверки. Один выбирает класс модели по производительности на тестовом наборе.
Но почему не больше разделов? Часто можно разделить гиперпараметры на две группы и использовать «проверку 1», чтобы соответствовать первой, и «проверку 2», чтобы соответствовать второй. Или можно даже рассматривать размер разделения обучающих данных / проверочных данных как гиперпараметр, подлежащий настройке.
Это уже распространенная практика в некоторых приложениях? Есть ли теоретическая работа по оптимальному разделению данных?