Optimisation des modèles informatiques stochastiques


11

C'est un sujet difficile pour moi sur Google, car avoir les mots optimisation et stochastique dans une recherche par défaut est presque automatiquement une recherche d'optimisation stochastique. Mais ce que je veux vraiment savoir, c'est quelles méthodes existent pour l'optimisation des modèles informatiques lorsque la sortie du modèle informatique est stochastique, c'est-à-dire non déterministe?

Par exemple, si vous considérez un modèle informatique où il existe une fonction inconnue qui représente la sortie du modèle informatique, il existe de nombreuses méthodes statistiques pour résoudre des problèmes commeF(X)

minF(X)XX

lorsque F(X) est déterministe. Mais que se passe-t-il lorsque F(X) est stochastique? Y a-t-il une solution au problème, ou au mieux pouvons-nous seulement résoudre

minE[F(X)]XX

E() est l'opérateur d'attente habituel.


1
C'est une question très intéressante. L'optimisation de est la seule chose qui sera vraiment possible. Une application statistique liée à cette question est l'algorithme MCEM, où la fonction de vraisemblance complète n'est observable qu'avec une erreur MCMC. De même, les algorithmes de filtre à particules MCMC ont le même problème. Je n'ai pas suffisamment lu sur les deux documents pour savoir quelles sont les méthodes de pointe pour répondre à cette question. E[F(X)]
Cliff AB

2
Cela dépend de votre objectif. n'est que l'un des nombreux choix possibles. Dans certaines applications, vous voudrez peut-être avoir une solution "fiable", pas seulement une solution "bonne en moyenne". Dans ce scénario, vous optimiseriez wrt à un certain quantile de la distribution de . L'optimisation bayésienne traite des évaluations de fonctions coûteuses (et parfois bruyantes). Vérifiez par exemple cette question . E[f(x)]f(x)
lacerbi

1
@lacerbi certains de ces exemples sont-ils bruyants? Je pense qu'ils ne sont que déterministes.
RustyStatistician

@RustyStatistician: vous avez raison, la plupart des exemples sont déterministes ou parlent de l'optimisation bayésienne en général. Voir ci-dessous pour des références plus focalisées sur la partie "bruyante".
lacerbi

Avez-vous accès au programme informatique afin de pouvoir l'exécuter vous-même pour les entrées choisies ? Les méthodes de conception des expériences deviennent alors disponibles! Recherche ce site. X
kjetil b halvorsen

Réponses:


10

( Élargir mon commentaire à une réponse appropriée. )

Comme je l'ai mentionné, cela dépend de votre objectif.

La valeur attendue n'est que l'un des nombreux choix possibles pour la cible d'optimisation. Par exemple, en supposant que les sont normalement distribués, vous pouvez faire:E[f(x)]f(x)

κRκ>0κκ

xopt=argminx{E[f(x)]+κVar[f(x)]}
pour certains qui manipulent la sensibilité au risque. Si vous recherchez une solution robuste qui est probablement la meilleure et décourage les grandes fluctuations positives. Inversement, un négatif favoriserait une optimisation "optimiste" qui recherche de grandes fluctuations négatives (négatif est bon puisque nous minimisons). Vous pouvez choisir fonction des quantiles de la distribution normale (voir référence 2 ci-dessous).κRκ>0κκ

En général, l'optimisation bayésienne (BO, qui est liée aux processus gaussiens et au krigeage ) traite des évaluations de fonctions coûteuses et parfois bruyantes; bien que la majeure partie de la littérature se concentre sur la première partie. Vous pouvez trouver des critiques pour l'optimisation bayésienne à cette question .

Plusieurs personnes ont appliqué BO aux fonctions bruyantes. En guise d'introduction au sujet, David Ginsbourger a donné une belle conférence intitulée "Variations sur l'amélioration attendue" lors de l'atelier sur les processus gaussiens pour l'optimisation globale (Sheffield, 17 septembre 2015). Vous pouvez trouver son exposé ici , et tous les exposés sont disponibles sur cette page (je recommande également tous les autres exposés comme une excellente introduction générale à BO.)

Comme références, je commencerais par le travail effectué par Ginsbourger et ses collègues, et Gramacy et ses collègues:

  1. Picheny, V. et Ginsbourger, D., 2014. "Méthodes d'optimisation basées sur le krigeage bruyant: une implémentation unifiée dans le package DiceOptim". Statistiques computationnelles et analyse des données , 71, pp.1035-1053. ( lien )

  2. Picheny, V., Ginsbourger, D., Richet, Y. et Caplin, G., 2013. "Optimisation basée sur le quantile d'expériences informatiques bruyantes avec une précision ajustable". Technometrics , 55 (1), pp.2-13. ( lien )

  3. Gramacy, RB et Lee, HK, 2012. «Modèles de processus gaussiens arborés bayésiens avec une application à la modélisation informatique». Journal de l'American Statistical Association . ( lien )

  4. Gramacy, RB et Apley, DW, 2015. "Approximation du processus gaussien local pour les grandes expériences informatiques". Journal of Computational and Graphical Statistics , 24 (2), pp.561-578. ( lien )

Ginsburger et Gramacy ont tous deux des packages R qui implémentent leurs méthodes BO, respectivement DiceOptim et tgp .


1
Où est dans votre réponse, ou voulez-vous dire ? κkκ
RustyStatistician

1
Un autre algorithme, que je n'ai pas utilisé * mais qui gagne dans le département des noms amusants, est SNOBFIT . (* L'auteur est notable dans la communauté de l'optimisation cependant, et le logiciel a bien fonctionné sur une référence déterministe , donc la recommandation n'est pas seulement basée sur le nom cool!)
GeoMatt22

4

Les réponses actuelles se concentrent sur la définition (mathématique) appropriée d'une cible d'optimisation stochastique - je veux fournir une perspective un peu plus appliquée.

Ce problème se produit fréquemment lors de l'ajustement de modèles stochastiques, par exemple en utilisant des probabilités informelles ou synthétiques. La référence (1) vous fournit une liste d'options qui peuvent être utilisées pour définir la distance entre un modèle stochastique et les données.

Après avoir défini votre cible de cette manière, le problème qui reste est de trouver l'optimum d'une moyenne d'une cible bruyante. Il y a deux voies à suivre, a) l'optimisation et b) l'échantillonnage MCMC. Vous posiez des questions spécifiques sur l'optimisation, mais je veux faire venir les MCMC car elles sont souvent mieux adaptées à cette tâche.

a) Si vous restez avec l'optimisation, vous devez vous assurer que vous n'êtes pas bloqué et que l'optimiseur peut gérer une cible stochastique. Le chapitre 4 de la thèse de doctorat de Matteo Fasiolo donne quelques indices, voir (2).

b) Comme nous le notons dans (1), les MCMC sont généralement plus robustes contre une cible stochastique - dans des conditions douces concernant la distribution du bruit, la MCMC fera la moyenne du bruit, et la cible échantillonnée sera indiscernable d'une non bruyante cible avec la moyenne de la cible bruyante. Cependant, les MCMC peuvent également rester bloqués lorsqu'ils rencontrent une évaluation particulièrement bonne. Ce que vous NE DEVEZ PAS FAIRE maintenant, c'est l'idée "évidente" suivante: calculez simplement la valeur actuelle et la valeur proposée dans chaque itération MCMC. Le mot-clé à rechercher ici est "pseudo-marginal", voir aussi ici et ici .

1) Hartig, F.; Calabrese, JM; Reineking, B .; Wiegand, T. & Huth, A. (2011) Inférence statistique pour les modèles de simulation stochastique - théorie et application . Ecol. Lett., 14, 816-827.

2) Fasiolo, M. (2016) Méthodes statistiques pour la dynamique des populations complexes . Université de Bath


4

Disons que nous sommes dans un espace de probabilité discret de sorte que . Intuitivement, vous avez besoin d'une fonction pour pouvoir optimiser . Vous ne pouvez optimiser qu'un seul objectif! U : R nR U ( f ( x ) )F(X)RnU:RnRU(F(X))

L'optimisation d'une fonction d'objectif unique peut sembler assez contraignante, mais ce n'est pas le cas ! Au contraire, un seul objectif peut représenter des préférences incroyablement diverses que vous pourriez avoir par rapport à ce qui est une solution meilleure ou pire.

En sautant, un simple point de départ peut être de choisir une variable aléatoire puis de résoudre:λ

E[f(x)]

minimiser (plus X)E[λF(X)]sujet àXX
Il s'agit d'une simple repondération linéaire de . Quoi qu'il en soit, voici un argument pour expliquer pourquoi le regroupement de plusieurs objectifs en un seul objectif est généralement correct.E[F(X)]

Configuration de base:

  • Vous avez une variable de choix et un ensemble réalisable .XXX
  • Votre choix de conduit à un résultat aléatoire˜ y = f ( x )Xy~=F(X)
  • Vous avez des préférences rationnelles sur le résultat aléatoire. (Fondamentalement, vous pouvez dire si vous préférez un résultat aléatoire à un autre.)˜ yy~

Votre problème est de choisir tel que:XX

XXF(X)F(X)
En anglais, vous voulez choisir afin qu'aucun choix réalisable conduise à un résultat préféré à .XXF(X)

Équivalence à maximiser l'utilité (sous certaines conditions techniques)

Pour des raisons de simplicité technique, je dirai que nous sommes dans un espace de probabilité discret avec résultats afin que je puisse représenter un résultat aléatoire avec un vecteur .ny~yRn

Sous certaines conditions techniques (qui ne sont pas limitatives au sens pratique), le problème ci-dessus équivaut à maximiser une fonction d'utilité . (La fonction d'utilité attribue un nombre plus élevé de résultats préférés.)U(y)

Cette logique s'appliquerait à tout problème où votre choix conduit à plusieurs variables de résultat.

maximiser (sur X)U(F(X))sujet àXX

Donner plus de structure à la fonction d'utilité : Hypothèse d' utilité attendue :U

Si nous sommes dans un cadre probabiliste et que nous acceptons les axiomes de Neumann-Morgernstern , la fonction d'utilité globale doit prendre une forme spéciale:U

U(y)=E[u(yje)]=jepjeu(yje)
Où est la probabilité de l'état et est une fonction d'utilité concave. La courbure de mesure l'aversion au risque. Substituant simplement cette forme spécialisée de , vous obtenez:pjejeuuU

maximiser (sur X)jepjeu(yje)sujet àXXy=F(X)

Observez que le cas simple maximise la valeur attendue (c.-à-d. Aucune aversion au risque).u(yje)=yje

Une autre approche: poidsλ

Une autre chose à faire est:

maximiser (sur X)jeλjeyjesujet àXXy=F(X)

Intuitivement, vous pouvez choisir des poids qui sont plus grands ou plus petits que la probabilité d'un état, et cela capture l'importance d'un état.λjepje

La justification plus profonde de cette approche est que dans certaines conditions techniques, il existe des poids lambda tels que le problème ci-dessus et les problèmes précédents (par exemple, maximiser ) ont la même solution.λU(F(X))


Mais dans cette configuration, toutes les fonctions utilitaires ne conduisent pas à la même réponse correcte?
RustyStatistician

Et existe-t-il des choix typiques pour les fonctions utilitaires? Mon problème est un simulateur informatique stochastique, qui est en fait un simulateur de boîte noire, donc je ne connais aucune information sur la mécanique sous-jacente, puis-je même lui attribuer une fonction utilitaire?
RustyStatistician

Vous devez réfléchir à la logique de votre problème, ce qui constitue un bon résultat, puis trouver une fonction objective qui attribue de meilleurs résultats à un nombre plus élevé. (Ou de manière équivalente, vous pouvez définir cela comme un problème de minimisation et attribuer un résultat plus élevé aux résultats les plus mauvais. Par exemple. Minimiser une notion d'erreur quadratique, etc.)
Matthew Gunn
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.