Итак, мы знаем, что случайный поиск работает лучше, чем поиск по сетке, но более поздним подходом является байесовская оптимизация (с использованием гауссовских процессов). Я посмотрел сравнение между ними и ничего не нашел. Я знаю, что в cs231n Стэнфорда они упоминают только случайный поиск, но, возможно, они хотели, чтобы все было просто.
У меня вопрос: какой подход, как правило, лучше, и если ответ «иногда случайный поиск, иногда байесовский», когда я должен предпочесть один метод другому?
bayesian
hyperparameter
Йони Керен
источник
источник
Ответы:
Я думаю, что ответ здесь такой же, как и везде в науке о данных: это зависит от данных :-)
Может случиться так, что один метод превосходит другой (здесь https://arimo.com/data-science/2016/bayesian-optimization-hyperparameter-tuning/ люди сравнивают байесовскую оптимизацию гиперпараметров и достигают лучшего результата в борьбе с преступностью в Сан-Франциско, чем со случайным поиском), однако я сомневаюсь, что есть общее правило для этого. Вы можете увидеть хороший gif здесь ( http://blog.revolutionanalytics.com/2016/06/bayesian-optimization-of-machine-learning-models.html ), где люди показывают «путь», по которому байесовская оптимизация ведет в ландшафте гиперпараметров, в частности, не похоже, что он превосходит случайный поиск вообще ...
Я думаю, что причина, по которой люди склонны использовать байесовскую оптимизацию гиперпараметров, заключается в том, что для достижения сопоставимого результата требуется просто меньше тренировочных шагов по сравнению со случайным поиском с достаточно большим количеством экспериментов.
Подводя итог в одном предложении:
* Если время тренировки критично, используйте оптимизацию байесовских гиперпараметров, а если время не является проблемой, выберите один из двух вариантов ... *
Обычно мне лень внедрять байесовский материал с помощью гауссовских процессов, если я могу достичь того же результата при случайном поиске ... Я просто обучаю ансамбли Gradient Bossting на «нескольких» данных, поэтому для меня время не проблема ...
источник
Байесовская оптимизация лучше, потому что она принимает более разумные решения. Вы можете проверить эту статью, чтобы узнать больше: Оптимизация гиперпараметра для нейронных сетей . В этой статье также есть информация о плюсах и минусах обоих методов, а также о некоторых дополнительных методах, таких как поиск по сетке и древовидные оценки парзенов. Даже при том, что это было написано, чтобы показать плюсы и минусы различных методов для нейронных сетей, основные знания обобщаются для любых других областей машинного обучения
источник
Следует отметить, что байесовская оптимизация гиперпараметров - это последовательный процесс, поэтому он может занять больше времени, чем некоторые другие подходы, которые можно искать или проводить параллельно.
источник