Максимизация неизвестной шумной функции

10

Я заинтересован в максимизации функции , где .θ R pf(θ)θRp

Проблема в том, что я не знаю аналитической формы функции или ее производных. Единственное, что я могу сделать, это оценить функцию по точкам, подключив значение и получить оценку NOISY в этой точке. Если я хочу, я могу уменьшить изменчивость этих оценок, но я должен заплатить увеличивающиеся вычислительные затраты. * F ( θ * )θf^(θ)

Вот что я пробовал до сих пор:

  • Стохастический крутой спуск с конечными различиями: он может работать, но требует большой настройки (например, последовательность усиления, коэффициент масштабирования) и часто очень нестабилен.

  • Имитация отжига: он работает и надежен, но требует много функциональных оценок, поэтому я нашел его довольно медленным.

Поэтому я прошу предложения / идеи о возможном альтернативном методе оптимизации, который может работать в этих условиях. Я держу проблему как можно более общей, чтобы поощрять предложения из областей исследований, отличных от моей. Я должен добавить, что я был бы очень заинтересован в методе, который мог бы дать мне оценку гессиана при сходимости. Это потому, что я могу использовать его для оценки неопределенности параметров . В противном случае мне придется использовать конечные различия вокруг максимума, чтобы получить оценку.θ

Jugurtha
источник
Если вы не можете сказать что-то более конкретное о шуме, связанном с выходом вашей функции, я не уверен, что что-то более сложное, чем имитация отжига (вам даже придется в некоторой степени настроить это), поможет.
Арон Ахмадиа
К сожалению, я не знаю много о случайном шуме, связанном с каждой оценкой функции. Его распространение неизвестно, и это может быть функцией . С другой стороны, шумы, которые влияют на последующие оценки функций, являются независимыми. Очевидно, я предполагаю, что дисперсия шума не огромна, иначе максимизация была бы невозможна. θ
Jugurtha
С другой стороны, предположим, что я что-то знаю о распределении шума, например, что . Помогут ли мне эти знания? f^(θ)N(f(θ),σ)
Jugurtha
Похоже, я исправлен проф. Неймайером :)
Арон Ахмадиа
Физики здесь, я использовал CMA-ES для оптического формирования фазы (оптимизируя фазу лазерного импульса через формирователь импульсов), что довольно шумно.
tillsten

Ответы:

7

Наш пакет Matlab SnobFit был создан именно для этой цели. Никаких предположений о распределении шума не требуется. Более того, значения функций могут быть переданы через текстовые файлы, поэтому вы можете применять их к функциям, реализованным в любой системе, способной записывать текстовый файл. См.
Http://www.mat.univie.ac.at/~neum/software/snobfit/

SnobFit был разработан для приложения, в котором функция, которую нужно оптимизировать, даже не существовала, а функциональные значения (мера качества изготовления) были получены на специализированном дорогостоящем оборудовании, создавая образцы продукции и измеряя их вручную, в результате чего было получено около 50 функций. оценки за день.

Арнольд Ноймайер
источник
Большое спасибо за ваш ответ. Я начал читать вашу статью о пакете SnobFit, и я нахожу это действительно интересным. Также, читая введение к вашей статье, я понял, что проблема, с которой я сталкиваюсь (в статистическом контексте), довольно часто встречается в промышленной математике. Существует обширная литература, о которой я совершенно не знал. На самом деле подход, над которым я работал, чем-то похож на квадратичное приближение Пауэлла (2002).
Jugurtha
Работает ли снобфит с 128 степенями свободы? Просто чтобы знать, стоит попробовать в моем случае.
tillsten
@tillsten: Никакие методы для шумной задачи не работают хорошо с 128 степенями свободы, если вы не можете тратить огромное количество значений функций. Вы можете попробовать наш VXQR1, который предназначен для не шумных проблем, но иногда хорошо справляется с шумными проблемами.
Арнольд Ноймайер
Предел для Snobfit составляет около 20 переменных. если у вас есть больше, вам нужно выбрать по здравому смыслу группы из 20 переменных, которые вы частично оптимизируете по очереди. Или вы можете разрешить скольжение некоторых переменных одновременно, чтобы уменьшить размер.
Арнольд Ноймайер
7

Есть несколько методов байесовской оптимизации , которые вы можете попробовать. Самые простые основаны на гауссовском процессе:

  • Гарольд Дж. Кушнер. Новый метод определения местоположения максимума произвольной многопиковой кривой при наличии шума. Журнал базовой инженерии, стр. 86: 97–106, март 1964 г.
  • J. Mockus. Байесовский подход к глобальной оптимизации. Конспект лекций в области управления и информатики, 38: 473–481, 1982.
  • Ниранджан Шринивас, Андреас Краузе, Шам Какаде и Матиас Сигер. Оптимизация гауссовского процесса в бандитской обстановке: без сожаления и экспериментального дизайна. В учеб. Международная конференция по машинному обучению (ICML), 2010.
  • Андреас Краузе, Аджит Сингх и Карлос Гестрин. Почти оптимальное размещение сенсоров в гауссовских процессах: теория, эффективные алгоритмы и эмпирические исследования. J. Mach. Учить. Res., 9: 235–284, июнь 2008 г.

Они работают, формируя апостериорные над правдоподобными функциями, пока дают наблюдения и предлагают следующий пункт, чтобы быстро изучить функцию, а также найти глобальные максимумы (см. Мой пост в блоге ).

Еще одним преимуществом является то, что вы можете оценить гессиан в максимумах. Однако вам нужно указать модель шума.

Memming
источник
4

Алгоритм SPSA Джеймса Сполла (сокращенно, если я правильно помню, имитирует стохастическое возмущение, имитирующее возмущение) был разработан именно для такой задачи. У него есть пара статей, в которых он использует их для задач, подобных той, которую вы описываете.

Вольфганг Бангерт
источник
Я попробовал подход Спалла, основанный на стохастической версии наискорейшего спуска и Рафсона Ньютона. Я попробовал имитацию отжига, но не версию, предложенную Spall, я должен попробовать. Я не особо увлечен имитационным отжигом, потому что не могу получить оценку гессиана при сходимости (хотя, например, с помощью стохастического Рафсона Ньютона я могу получить приближение к гессиану «бесплатно»).
Jugurtha