На этом шаге мы приведем общие сведения по методике подготовки таких наборов.
Оценка модели всегда сводится к делению доступных данных на три выборки: обучающую, проверочную и контрольную (или тестовую). Вы тренируете модель на обучающих данных и оцениваете с использованием проверочных. После создания окончательной версии модель тестируется с применением контрольных данных.
Вероятно, вы зададите вопрос: почему бы не использовать только две выборки, обучающую и контрольную? Можно было бы тренировать модель на обучающих данных и тестировать на контрольных. Ведь так намного проще!
Причина в том, что процесс конструирования модели всегда связан с настройкой ее параметров: например, с выбором количества слоев или изменением их размерности (такие настройки называют гиперпараметрами модели, чтобы отличать их от параметров - весовых коэффициентов). В качестве сигнала обратной связи тогда используются проверочные данные. Сама настройка фактически является разновидностью обучения: поиском более удачной конфигурации в некотором пространстве параметров. Как результат, настройка конфигурации модели по качеству прогнозирования на проверочных данных может быстро привести к переобучению на этих данных, даже притом, что модель никогда напрямую не обучается на них.
Главная причина этого явления - так называемая утечка информации. Каждый раз, настраивая гиперпараметр модели, исходя из качества прогноза по проверочным данным, вы допускаете просачивание в модель некоторой информации из этих данных. Если сделать это только один раз для одного параметра, в модель попадет небольшой объем информации, и проверочный набор данных останется надежным мерилом качества модели. Однако если повторить настройку много раз - выполняя эксперимент, оценивая модель на проверочных данных и корректируя ее по результатам, - в модель будет просачиваться все больший объем информации о проверочном наборе данных.
В конце концов вы получите модель, искусственно настроенную на достижение высокого качества прогнозирования по проверочным данным, потому что именно на этих данных вы ее оптимизировали. Однако истинной целью является качество прогнозирования на совершенно новых данных, поэтому для оценки качества модели следует использовать отдельный набор, никак не участвующий в обучении: контрольный набор. Ваша модель не должна иметь доступа ни к какой информации из контрольного набора, даже косвенно. Если какие-то настройки в модели выполнить на основе оценки качества прогнозирования по контрольным данным, ваша оценка обобщенности модели будет неточна.
Деление данных на обучающую, проверочную и контрольную выборки может показаться простой задачей. Тем не менее есть ряд продвинутых приемов ее решения, которые могут пригодиться при ограниченном объеме исходных данных. Рассмотрим три классических рецепта оценки:
На следующем шаге мы рассмотрим проверку с простым расщеплением выборки.