Оптимизация стохастических компьютерных моделей

11

Это сложная тема для меня, потому что поиск слов «оптимизация» и «стохастик» в поиске почти автоматически приводит к поиску стохастической оптимизации. Но что я действительно хочу знать, так это то, какие методы существуют для оптимизации компьютерных моделей, когда выходные данные компьютерной модели являются стохастическими, то есть недетерминированными?

Например, если вы рассматриваете компьютерную модель, в которой есть некоторая неизвестная функция которая представляет выходные данные компьютерной модели, то существует много статистических методов для решения таких проблем, какf(x)

minf(x)xX

когда является детерминированным. Но что происходит, когда является стохастическим? Есть ли решение проблемы, или в лучшем случае мы можем решить толькоf ( x )f(x)f(x)

minE[f(x)]xX

где - обычный оператор ожидания.E()

RustyStatistician
источник
1
Это очень интересный вопрос. Оптимизация - единственное, что действительно возможно. Статистическим приложением, связанным с этим вопросом, является алгоритм MCEM, где полная функция правдоподобия наблюдаема только с ошибкой MCMC на вершине. Аналогично, алгоритмы фильтра частиц MCMC имеют ту же проблему. Я не перечитал достаточно литературы, чтобы знать, каковы современные методы для ответа на это. E[f(x)]
Клифф АВ
2
Это зависит от вашей цели. - это только один из многих возможных вариантов. В некоторых приложениях вам может потребоваться «надежное» решение, а не просто «хорошее в среднем». В этом сценарии вы бы оптимизировали по некоторому квантилю распределения . Байесовская оптимизация касается дорогостоящих (а иногда и шумных) оценок функций. Проверьте, например, этот вопрос . f ( x )E[f(x)]f(x)
Lacerbi
1
@lacerbi какой-нибудь из этих примеров шумный? Я думаю, что они только детерминированы.
RustyStatistician
@RustyStatistician: вы правы, большинство примеров являются детерминированными или говорят об байесовской оптимизации в целом. Ниже приведены ссылки, более сфокусированные на «шумной» части.
Lacerbi
У вас есть доступ к компьютерной программе, чтобы вы могли запустить ее самостоятельно для выбранных входов ? Тогда методы проектирования экспериментов станут доступными для использования! Поищи на сайте. x
kjetil b halvorsen

Ответы:

10

( Расширяю мой комментарий до правильного ответа. )

Как я уже говорил, это зависит от вашей цели.

Ожидаемое значение - это только один из многих возможных вариантов для цели оптимизации. Например, предполагая, что нормально распределены, вы можете сделать:f ( x )E[f(x)]f(x)

κRκ>0κκ

xopt=argminx{E[f(x)]+κVar[f(x)]}
для некоторые которые манипулируют чувствительностью к риску. Если вы ищете надежное решение, которое, вероятно, будет наилучшим и препятствует значительным положительным колебаниям. И наоборот, отрицательное значение будет благоприятствовать "оптимистической" оптимизации, которая ищет большие отрицательные колебания (отрицательное - это хорошо, поскольку мы минимизируем). Вы можете выбрать на основе квантилей нормального распределения (см. Ссылку 2 ниже).κRκ>0κκ

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

Несколько человек применили БО к шумным функциям. В качестве введения в тему Дэвид Гинсбургер выступил с прекрасной речью под названием «Вариации ожидаемого улучшения» на семинаре по гауссовским процессам глобальной оптимизации (Шеффилд, 17 сентября 2015 г.). Вы можете найти его доклад здесь , и все доклады доступны на этой странице (я также рекомендую все остальные доклады как отличное общее введение в BO).

В качестве ссылки я бы начал с работы, проделанной Гинсбурджером и его коллегами, а также Грэмси и его коллегами:

  1. Picheny, V. и Ginsbourger, D., 2014. «Методы оптимизации на основе шумного кригинга: унифицированная реализация в пакете DiceOptim». Вычислительная статистика и анализ данных , 71, с. 1035-1053. ( ссылка )

  2. Picheny, V., Ginsbourger, D., Richet, Y. and Caplin, G., 2013. «Оптимизация на основе квантиля шумовых компьютерных экспериментов с настраиваемой точностью». Технометрия , 55 (1), с.2-13. ( ссылка )

  3. Gramacy, RB и Lee, HK, 2012. «Модели гауссовского процесса с байесовским трэдом с применением к компьютерному моделированию». Журнал Американской статистической ассоциации . ( ссылка )

  4. Gramacy, RB и Apley, DW, 2015. «Приближение локального гауссовского процесса для больших компьютерных экспериментов». Журнал вычислительной и графической статистики , 24 (2), с. 561-578. ( ссылка )

И Ginsburger, и Gramacy имеют R-пакеты, которые реализуют свои методы BO, соответственно DiceOptim и tgp .

lacerbi
источник
1
Где в вашем ответе или вы имеете в виду ? κkκ
RustyStatistician
1
Еще один алгоритм, который я не использовал * но выигрывает в отделе забавного названия, SNOBFIT . (* Автор является заметным в оптимизации сообществе , однако, и программное обеспечение было КИ на детерминированный тесте , поэтому данная рекомендация не только на основе имени прохладного!)
GeoMatt22
4

Текущие ответы сосредоточены на правильном (математическом) определении цели стохастической оптимизации - я хочу представить несколько более прикладную перспективу.

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

После того, как вы определили свою цель таким образом, остается вопрос: найти оптимальное значение для некоторого среднего значения для шумной цели. Есть два пути: а) оптимизация и б) выборка MCMC. Вы спрашивали конкретно об оптимизации, но я хочу привлечь MCMC, потому что они часто лучше себя ведут для этой задачи.

а) Если вы продолжаете оптимизацию, вам нужно убедиться, что вы не застряли и оптимизатор может справиться со стохастической целью. Глава 4 в диссертации доктора Маттео Фазиоло дает некоторые подсказки, см. (2).

b) Как мы отмечаем в (1), MCMC, как правило, более устойчивы к стохастической цели - в мягких условиях, касающихся распределения шума, MCMC будет усреднять шум, а выбранная цель будет неотличима от нешумной цель со средним значением шумной цели. Однако MCMC также могут застрять при встрече с оценкой, которая особенно хороша. Что вы НЕ ДОЛЖНЫ делать сейчас, так это получить следующую «очевидную» идею: просто рассчитайте как текущее, так и предлагаемое значение в каждой итерации MCMC. Ключевое слово для поиска здесь "псевдо-маргинальное", смотрите также здесь и здесь .

1) Хартиг, Ф .; Калабрезе, JM; Reineking, B .; Wiegand, T. & Huth, A. (2011) Статистический вывод для стохастических имитационных моделей - теория и применение . Ecol. Lett., 14, 816-827.

2) Фасиоло, М. (2016) Статистические методы комплексной динамики населения . Университет Бата

Флориан Хартиг
источник
4

Допустим, мы находимся в дискретном вероятностном пространстве, так что . Интуитивно вам нужна некоторая функция чтобы вы могли оптимизировать . Вы можете оптимизировать только одну цель! U : R nR U ( f ( x ) )f(x)RnU:RnRU(f(x))

Оптимизация одной целевой функции может показаться довольно сдерживающей, но это не так ! Скорее одна цель может представлять невероятно разнообразные предпочтения, которые вы можете иметь перед тем, что является лучшим или худшим решением.

Забегая вперед, можно начать с простого выбора случайной величины затем решить:λ

E[f(x)]

minimize (over x)E[λf(x)]subject toxX
Это простое линейное повторное взвешивание . В любом случае, вот аргумент, почему объединение нескольких целей в одну цель обычно нормально.E[f(x)]

Базовая настройка:

  • У вас есть выбор переменной и допустимое множество .хxX
  • Ваш выбор приводит к случайному результату˜ y = f ( x )xy~=f(x)
  • У вас есть рациональные предпочтения над случайным исходом. (По сути, вы можете сказать, предпочитаете ли вы один случайный результат другому.)~ уy~

Ваша проблема состоит в том, чтобы выбрать , чтобы:xX

xXf(x)f(x)
На английском языке вы хотите выбрать так что никакой выполнимый выбор приведет к результату, предпочтительнее ,xxf(x)

Эквивалентность максимизации полезности (при определенных технических условиях)

Для технической простоты я скажу, что мы находимся в дискретном вероятностном пространстве с исходами, поэтому я могу представить случайный результат с вектором .ny~yRn

При определенных технических условиях (которые не являются ограничивающими в практическом смысле) вышеуказанная проблема эквивалентна максимизации функции полезности . (Функция полезности назначает более предпочтительным результатам большее число.)U(y)

Эта логика применима к любой проблеме, когда ваш выбор приводит к множеству переменных результата.

maximize (over x)U(f(x))subject toxX

Предоставление большей структуры функции полезности : Гипотеза ожидаемой полезности :U

Если мы находимся в вероятностной обстановке и принимаем аксиомы Неймана-Моргернстерна , общая функция полезности должна принимать особый вид:U

U(y)=E[u(yi)]=ipiu(yi)
где - вероятность состояния а - вогнутая функция полезности. Кривизна измеряет неприятие риска. Просто подставив эту специализированную форму вы получите:piiuuU

maximize (over x)ipiu(yi)subject toxXy=f(x)

Заметьте, что простой случай максимизирует ожидаемое значение (то есть отсутствие неприятия риска).u(yi)=yi

Другой подход: весλ

Еще одна вещь, которую нужно сделать:

maximize (over x)iλiyisubject toxXy=f(x)

Интуитивно вы можете выбрать веса , которые больше или меньше вероятности возникновения состояния , и это отражает важность состояния.p iλipi

Более глубокое обоснование этого подхода состоит в том, что при определенных технических условиях существуют лямбда-веса , так что вышеуказанная проблема и более ранние проблемы (например, максимизация ) имеют одно и то же решение.U ( f ( x ) )λU(f(x))

Мэтью Ганн
источник
Но в этой настройке не все служебные функции приводят к одному и тому же правильному ответу?
RustyStatistician
И есть ли типичные варианты для функций полезности? Моя проблема - стохастический компьютерный симулятор, который на самом деле является симулятором черного ящика, поэтому я не знаю никакой информации о базовой механике, поэтому я могу даже назначить ему вспомогательную функцию?
RustyStatistician
Вам нужно продумать логику вашей проблемы, что представляет собой хороший результат, а затем найти некую объективную функцию, которая назначает лучшие результаты большему числу. (Или, что то же самое, вы можете установить это как проблему минимизации и назначить худшие результаты большим числом. Например, минимизируйте некоторое представление об ошибке квадрата и т. Д.)
Мэтью Ганн