Я думаю, что вы упускаете что-то еще в вашем понимании цели перекрестной проверки.
Давайте проясним некоторую терминологию, обычно, когда мы говорим «модель», мы ссылаемся на конкретный метод для описания того, как некоторые входные данные связаны с тем, что мы пытаемся предсказать. Обычно мы не называем отдельные экземпляры этого метода различными моделями. Таким образом, вы можете сказать «У меня есть модель линейной регрессии», но вы не назвали бы два разных набора обученных коэффициентов разными моделями. По крайней мере, не в контексте выбора модели.
Таким образом, когда вы выполняете перекрестную проверку K-кратности, вы проверяете, насколько хорошо ваша модель может пройти обучение по некоторым данным, а затем предсказывает данные, которых она не видела. Мы используем перекрестную проверку для этого, потому что если вы тренируетесь, используя все имеющиеся у вас данные, у вас не останется ни одного для тестирования. Вы можете сделать это один раз, скажем, используя 80% данных для обучения и 20% для тестирования, но что если 20%, которые вы выбрали для тестирования, содержат множество точек, которые особенно просты (или особенно трудны)? предсказывать? Мы не будем предлагать наилучшую возможную оценку способности моделей учиться и предсказывать.
Мы хотим использовать все данные. Таким образом, чтобы продолжить приведенный выше пример разделения 80/20, мы бы провели 5-кратную перекрестную проверку, обучив модель 5 раз на 80% данных и протестировав на 20%. Мы гарантируем, что каждая точка данных попадает в тестовый набор 20% ровно один раз. Поэтому мы использовали каждую точку данных, которая нам нужна, чтобы понять, насколько хорошо наша модель выполняет задачу обучения на основе некоторых данных и прогнозирования некоторых новых данных.
Но цель перекрестной проверки не состоит в том, чтобы придумать нашу окончательную модель. Мы не используем эти 5 экземпляров нашей обученной модели, чтобы делать какие-либо реальные прогнозы. Для этого мы хотим использовать все данные, которые нам нужны, чтобы создать наилучшую возможную модель. Целью перекрестной проверки является проверка модели, а не построение модели.
Теперь, скажем, у нас есть две модели, скажем, модель линейной регрессии и нейронная сеть. Как мы можем сказать, какая модель лучше? Мы можем выполнить перекрестную проверку в K-кратном порядке и посмотреть, какая из них окажется лучше при прогнозировании контрольных точек теста. Но как только мы использовали перекрестную проверку для выбора более эффективной модели, мы обучаем эту модель (будь то линейная регрессия или нейронная сеть) для всех данных. Мы не используем фактические экземпляры модели, которые мы обучили во время перекрестной проверки для нашей окончательной прогнозной модели.
Обратите внимание, что существует метод, называемый агрегацией начальной загрузки (обычно сокращаемый до «пакетирования»), который каким-то образом использует экземпляры модели, созданные способом, аналогичным перекрестной проверке, для построения модели ансамбля, но это расширенный метод, выходящий за рамки вашего вопроса здесь.