Я считаю более ценным иметь набор для обучения и проверки, если у меня есть набор данных ограниченного размера. В любом случае, набор проверки по сути является тестовым набором. Причина этого заключается в том, что вы хотите, чтобы ваша модель могла экстраполировать, имея высокую точность данных, на которых она обучена, а также высокую точность данных, которых она не видела раньше. Набор проверки позволяет вам определить, так ли это. Я обычно беру не менее 10% данных и делаю их проверочными. Важно, чтобы данные проверки выбирались случайным образом, чтобы их распределение вероятностей совпадало с распределением обучающего набора. Затем я отслеживаю потери проверки и сохраняю модель с наименьшими потерями проверки. Я также использую регулируемую скорость обучения. Для этого Keras имеет два полезных обратных вызова, ModelCheckpoint и ReduceLROnPlateau. Документация здесь . С помощью набора проверки вы можете отслеживать потерю проверки во время обучения и выяснить, правильно ли тренируется ваша модель (точность обучения) и правильно ли она экстраполируется (потеря проверки). В среднем потери при проверке должны уменьшаться с увеличением точности модели. Если потери при проверке начинают увеличиваться с высокой точностью обучения, ваша модель переоснащается, и вы можете предпринять корректирующие действия, такие как добавление слоев, регуляризаторов или уменьшение сложности модели. Документация для этого здесь и здесь . Чтобы понять, почему я использую регулируемую скорость обучения, см. Ответ на вопрос о переполнении стека здесь .