Если вы сделаете предположение, что за сеткой параметров лежит относительно гладкая функция, то есть некоторые вещи, которые вы можете сделать. Например, одна простая эвристика состоит в том, чтобы начать с очень грубой сетки параметров, а затем использовать более тонкую сетку вокруг лучших настроек параметров из грубой сетки.
Это имеет тенденцию работать довольно хорошо на практике, с оговорками, конечно. Во-первых, пространство не обязательно гладкое, и там могут быть локальные оптимумы . Грубая сетка может полностью пропустить это, и вы можете получить неоптимальное решение. Также обратите внимание, что если у вас относительно мало сэмплов в вашем наборе удержания, то у вас может быть много настроек параметров, которые дают одинаковую оценку (ошибка или любой другой показатель, который вы используете). Это может быть особенно проблематично, если вы проводите многоклассное обучение (например, используя метод « один против всех» ), и у вас есть только несколько примеров из каждого класса в вашем наборе. Однако, не прибегая к неприятным методам нелинейной оптимизации, это, вероятно, служит хорошей отправной точкой.
Там хороший набор ссылок здесь . В прошлом я использовал подход, согласно которому вы можете разумно оценить хороший диапазон гиперпараметров ядра путем проверки ядра (например, в случае ядра RBF, обеспечив, чтобы гистограмма значений ядра давала хороший разброс значений, вместо того, чтобы наклониться к 0 или 1 - и вы можете сделать это автоматически тоже без особой работы), что означает, что вы можете сузить диапазон перед началом. Затем вы можете сосредоточить свой поиск на любых других параметрах, таких как параметр регуляризации / производительности. Однако, конечно, это работает только с предварительно вычисленными ядрами, хотя вы можете оценить это по случайному подмножеству точек, если вы не хотите использовать предварительно вычисленные ядра, и я думаю, что этот подход тоже подойдет.