У меня есть объект настройки модели, который подходит для нескольких моделей и настраивает каждую из них, чтобы найти наилучшую комбинацию гиперпараметров для каждой из моделей. Я хочу выполнить перекрестную проверку части настройки модели, и здесь я сталкиваюсь с дилеммой.
Давайте предположим, что я подбираю только одну модель - классификатор случайных лесов и выполняю 5-кратную перекрестную проверку. В настоящее время для первого сгиба я подгоняю модель случайного леса и выполняю настройку модели. Я выполняю настройку модели с помощью пакета dlib. Я вычисляю метрику оценки (точность, точность и т. Д.) И выбираю наилучшую комбинацию гиперпараметров.
Теперь, когда я опускаю второй фолд, мне следует снова настраивать модель? Потому что, если я это сделаю, я получу другую комбинацию гиперпараметров, чем в первом случае. Если я сделаю это в пять раз, какую комбинацию я выберу?
Перекрестные валидаторы, присутствующие в spark и sklearn, используют поиск по сетке, поэтому для каждого сгиба они имеют одинаковую комбинацию гиперпараметров и не должны беспокоиться о том, что комбинации гиперпараметров меняются между сгибами
Выбор наилучшей комбинации гиперпараметров, которую я получаю, когда я опускаю первый сгиб, и использование ее для последующих сгибов звучит неправильно, потому что тогда вся моя настройка модели зависит от того, какой сгиб был пропущен первым. Однако, если я получаю разные гиперпараметры каждый раз, на какой мне рассчитывать?
TLDR:
Если вы выполняете, скажем, настройку модели на основе производной наряду с перекрестной проверкой, ваша комбинация гиперпараметров изменяется, когда вы выполняете итерации по сгибам. Как выбрать лучшую комбинацию? Вообще говоря, как вы используете перекрестную проверку с методами настройки моделей на основе производных.
PS: Пожалуйста, дайте мне знать, если вам нужно больше деталей