В статистическом машинном обучении следует подчеркнуть, что нет никаких гарантий . Когда вы оцениваете производительность, используя ограниченный набор, это просто оценка . Оценки могут быть неверными.
Это требует некоторого привыкания, но это то, что вам нужно, чтобы освоиться. Когда вы говорите: «Что, если производительность действительно ухудшается?», Ответ уверен, что это может произойти. Фактическая производительность может быть хуже, чем вы предполагали / прогнозировали. Это также может быть лучше. Оба возможны. Это неизбежно. Существует некоторая неотъемлемая, непреодолимая неопределенность.
Когда вы оцениваете производительность с помощью длительного набора тестов, вы используете данные из прошлого, чтобы попытаться предсказать будущую производительность. Как говорится, прошлые результаты не являются гарантией будущих результатов . Это факт жизни, который мы просто должны принять.
Вы не можете позволить этому обездвижить вас. Тот факт, что можно сделать хуже, чем вы предсказывали, не является причиной, чтобы избежать развертывания в производстве модели, обученной на данных. В частности, это также возможно сделать плохо, если вы этого не сделаете. Вполне возможно, что модель, обученная по всем данным (поезд + проверка + тест), будет хуже, чем модель, обученная только на части поезд + проверка. Также возможно, что это будет лучше. Поэтому вместо того, чтобы искать гарантию, мы должны спросить себя: что дает нам наилучшие шансы на успех? Что наиболее вероятно будет наиболее эффективным?
И в этом случае, когда вы хотите развернуть в производство, лучшее, что вы можете сделать, это использовать все доступные вам данные. С точки зрения ожидаемой производительности, использование всех данных не хуже, чем использование некоторых данных, и потенциально лучше. Таким образом, вы можете также использовать все доступные вам данные для обучения модели при построении производственной модели. Все может пойти плохо - всегда можно получить неудачу, когда вы используете статистические методы - но это дает вам наилучший шанс, что все пойдет хорошо.
В частности, стандартная практика выглядит следующим образом:
Зарезервируйте некоторые из ваших данных в длительном тестовом наборе. Не существует жесткого правила о том, какую долю использовать, но, например, вы можете зарезервировать 20% для набора тестов и оставить оставшиеся 80% для обучения и проверки. Обычно все разбиения должны быть случайными.
Затем используйте данные обучения и проверки, чтобы опробовать несколько архитектур и гиперпараметров, экспериментируя, чтобы найти лучшую модель, какую только сможете. Возьмите 80%, оставленные для обучения и проверки, и разбейте их на обучающий набор и проверочный набор, обучите модель, используя обучающий набор, а затем измерьте ее точность на проверочном наборе. Если вы используете перекрестную проверку, вы будете делать это разделение много раз и усреднять результаты по набору проверки; в противном случае вы сделаете один сплит (например, 70% / 30% от 80%, или что-то в этом роде) и оцените производительность на наборе проверки. Если у вас есть много гиперпараметров, попробуйте сделать это один раз для каждого варианта настройки гиперпараметра. Если вам нужно попробовать много архитектур, сделайте это для каждой подходящей архитектуры. Вы можете повторить это, используя то, что вы
Когда вы довольны, вы замораживаете выбор архитектуры, гиперпараметров и т. Д. Теперь ваши эксперименты завершены. Как только вы достигнете этой точки, вы никогда не сможете попробовать какие-либо другие варианты снова (без получения нового нового набора тестов) - так что не переходите к этой точке, пока не будете уверены, что готовы.
Когда вы будете готовы, тогда вы обучаете модель на полном наборе обучения + проверки (то есть 80%), используя архитектуру и гиперпараметры, которые вы выбрали ранее. Затем измерьте его точность на удерживаемом тестовом наборе. Это ваша оценка / прогноз того, насколько точным будет этот подход к моделированию. Вы получаете один номер здесь. Это то, что есть: если вы не довольны им, вы не можете вернуться к шагам 1 и 2 и провести больше экспериментов; это было бы недействительным.
Наконец, для производственного использования вы можете обучить модель на всем наборе данных, обучении + проверке + наборе тестов и использовать ее в производственном использовании. Обратите внимание, что вы никогда не измеряете точность этой производственной модели, поскольку у вас нет оставшихся данных для этого; Вы уже использовали все данные. Если вы хотите оценить, насколько хорошо он будет работать, вы имеете право использовать оценочную точность, полученную на шаге 4, в качестве прогноза того, насколько хорошо он будет работать в производстве, поскольку это лучший из доступных прогнозов его будущей производительности. Как всегда, никаких гарантий нет - это только лучшая оценка, возможная с учетом имеющейся у нас информации. Вполне возможно, что это может быть хуже, чем вы предсказывали, или лучше, чем вы предсказывали - это всегда так.