Я заинтересован в максимизации функции , где .θ ∈ R p
Проблема в том, что я не знаю аналитической формы функции или ее производных. Единственное, что я могу сделать, это оценить функцию по точкам, подключив значение и получить оценку NOISY в этой точке. Если я хочу, я могу уменьшить изменчивость этих оценок, но я должен заплатить увеличивающиеся вычислительные затраты. * F ( θ * )
Вот что я пробовал до сих пор:
Стохастический крутой спуск с конечными различиями: он может работать, но требует большой настройки (например, последовательность усиления, коэффициент масштабирования) и часто очень нестабилен.
Имитация отжига: он работает и надежен, но требует много функциональных оценок, поэтому я нашел его довольно медленным.
Поэтому я прошу предложения / идеи о возможном альтернативном методе оптимизации, который может работать в этих условиях. Я держу проблему как можно более общей, чтобы поощрять предложения из областей исследований, отличных от моей. Я должен добавить, что я был бы очень заинтересован в методе, который мог бы дать мне оценку гессиана при сходимости. Это потому, что я могу использовать его для оценки неопределенности параметров . В противном случае мне придется использовать конечные различия вокруг максимума, чтобы получить оценку.
источник
Ответы:
Наш пакет Matlab SnobFit был создан именно для этой цели. Никаких предположений о распределении шума не требуется. Более того, значения функций могут быть переданы через текстовые файлы, поэтому вы можете применять их к функциям, реализованным в любой системе, способной записывать текстовый файл. См.
Http://www.mat.univie.ac.at/~neum/software/snobfit/
SnobFit был разработан для приложения, в котором функция, которую нужно оптимизировать, даже не существовала, а функциональные значения (мера качества изготовления) были получены на специализированном дорогостоящем оборудовании, создавая образцы продукции и измеряя их вручную, в результате чего было получено около 50 функций. оценки за день.
источник
Есть несколько методов байесовской оптимизации , которые вы можете попробовать. Самые простые основаны на гауссовском процессе:
Они работают, формируя апостериорные над правдоподобными функциями, пока дают наблюдения и предлагают следующий пункт, чтобы быстро изучить функцию, а также найти глобальные максимумы (см. Мой пост в блоге ).
Еще одним преимуществом является то, что вы можете оценить гессиан в максимумах. Однако вам нужно указать модель шума.
источник
Алгоритм SPSA Джеймса Сполла (сокращенно, если я правильно помню, имитирует стохастическое возмущение, имитирующее возмущение) был разработан именно для такой задачи. У него есть пара статей, в которых он использует их для задач, подобных той, которую вы описываете.
источник