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


11

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

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

minf(x)x∈X

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

minE[f(x)]x∈X

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


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=arg⁡minx{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 .


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 n → R U ( f ( x ) )f(x)∈RnU:Rn→RU(f(x))

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

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

E[f(x)]

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

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

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

Ваша проблема состоит в том, чтобы выбрать , чтобы:x∗∈X

∄x∈Xf(x∗)≺f(x)
На английском языке вы хотите выбрать так что никакой выполнимый выбор приведет к результату, предпочтительнее ,x∗xf(x∗)

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

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

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

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

maximize (over x)U(f(x))subject tox∈X

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

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

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

maximize (over x)∑ipiu(yi)subject tox∈Xy=f(x)

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

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

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

maximize (over x)∑iλiyisubject tox∈Xy=f(x)

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

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


Но в этой настройке не все служебные функции приводят к одному и тому же правильному ответу?
— RustyStatistician

И есть ли типичные варианты для функций полезности? Моя проблема - стохастический компьютерный симулятор, который на самом деле является симулятором черного ящика, поэтому я не знаю никакой информации о базовой механике, поэтому я могу даже назначить ему вспомогательную функцию?
— RustyStatistician

Вам нужно продумать логику вашей проблемы, что представляет собой хороший результат, а затем найти некую объективную функцию, которая назначает лучшие результаты большему числу. (Или, что то же самое, вы можете установить это как проблему минимизации и назначить худшие результаты большим числом. Например, минимизируйте некоторое представление об ошибке квадрата и т. Д.)
— Мэтью Ганн
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.