В настоящее время я прохожу случайный поиск по гиперпараметрической оптимизации Bengio и Bergsta [1], где авторы утверждают, что случайный поиск более эффективен, чем поиск по сетке, для достижения примерно одинаковой производительности.
Мой вопрос: согласны ли здесь люди с этим утверждением? В своей работе я использовал поиск по сетке в основном из-за отсутствия инструментов, позволяющих легко выполнять случайный поиск.
Каков опыт использования сетки или случайного поиска?
our Optunity
должно быть); как говорится в справке по поведению, «если что-то ... случается с вашим продуктом или веб-сайтом, это нормально. Однако вы должны раскрыть свою принадлежность»Ответы:
Случайный поиск с вероятностью 95% может найти комбинацию параметров в пределах 5% оптимума всего за 60 итераций. Кроме того, по сравнению с другими методами он не увязает в местных оптимах.
Посмотрите эту замечательную статью Алисы Чжэн в Dato , в частности, раздел « Алгоритмы настройки гиперпараметров» .
Вы можете улучшить этот шанс с большим количеством испытаний.
В общем, если у вас слишком много параметров для настройки, поиск по сетке может стать невозможным. Вот когда я пытаюсь случайный поиск.
источник
Посмотрите еще раз на графику из бумаги (рисунок 1). Допустим, у вас есть два параметра: при поиске по сетке 3x3 вы проверяете только три разных значения параметров по каждому из параметров (три строки и три столбца на графике слева), а при случайном поиске вы проверяете девять (!) Разных значений параметров каждого из параметров (девять отдельных строк и девять различных столбцов).
Очевидно, что случайный поиск, случайно, не может быть репрезентативным для всего диапазона параметров, но с ростом размера выборки шансы на это становятся все меньше и меньше.
источник
Если вы можете написать функцию для поиска по сетке, возможно, еще проще написать функцию для случайного поиска, потому что вам не нужно предварительно указывать и сохранять сетку заранее.
Если оставить в стороне, такие методы, как LIPO, оптимизация роя частиц и байесовская оптимизация, делают разумный выбор того, какие гиперпараметры, вероятно, будут лучше, поэтому, если вам нужно, чтобы количество моделей соответствовало абсолютному минимуму (скажем, потому что это дорого, чтобы соответствовать модель), эти инструменты являются многообещающими вариантами. Они также являются глобальными оптимизаторами, поэтому они имеют высокую вероятность определения глобального максимума. Некоторые функции получения методов БО имеют доказуемые границы сожаления, что делает их еще более привлекательными.
Более подробную информацию можно найти в следующих вопросах:
Каковы некоторые из недостатков байесовской гиперпараметрической оптимизации?
Оптимизация, когда функция стоимости медленна для оценки
источник
По умолчанию случайный поиск и поиск по сетке являются ужасными алгоритмами, если не выполняется одно из следующих действий.
Большинство людей утверждают, что случайный поиск лучше, чем поиск по сетке. Тем не менее, обратите внимание, что, когда общее количество оценок функции предопределено, поиск по сетке приведет к хорошему охвату пространства поиска, что не хуже, чем случайный поиск с тем же бюджетом, и разница между ними будет незначительной, если таковая имеется. Если вы начнете добавлять некоторые предположения, например, что ваша проблема отделима или почти отделима, то вы найдете аргументы в поддержку поиска по сетке. В целом, оба сравнительно ужасны, если только в очень немногих случаях. Таким образом, нет необходимости проводить различие между ними, если не будут рассмотрены некоторые дополнительные предположения о проблеме.
источник
Нахождение точки в пределах 95% от максимумов в 2D-топографии только с одним максимумом занимает 100% / 25 = 25%, 6,25%, 1,5625% или 16 наблюдений. Пока первые четыре наблюдения правильно определяют, в каком квадранте находятся максимумы (экстремумы). 1D топография занимает 100/2 = 50, 25, 12,5, 6,25, 3,125 или 5 * 2. Я предполагаю, что люди, которые ищут множественные удаленные локальные максимумы, используют поиск в большой сетке, а затем регрессию или какой-то другой метод прогнозирования. Сетка из 60 наблюдений должна иметь одно наблюдение в пределах 100/60 = 1,66% от экстремумов. Глобальная оптимизация Википедия Я все еще думаю, что всегда есть лучший метод, чем случайность.
источник
Как показал Тим, вы можете проверить больше значений параметров при случайном поиске, чем при поиске по сетке. Это особенно эффективно, если некоторые параметры, которые вы тестируете, оказываются неэффективными для вашей проблемы, например, «Незначительный параметр» на рис. 1 из статьи.
Я сделал пост о настройке гиперпараметров, где объясняю различия между поиском по сетке, случайным поиском и байесовской оптимизацией. Вы можете проверить это (и дайте мне знать, если это было полезно, обратная связь приветствуется!)
источник