Optimisation bayésienne ; stratégie de conception séquentielle pour une optimisation globaleUn client m'a interrogé sur une optimisation bayésienne. Quelqu'un a-t-il posé une demande similaire à un client ?
En général, l'optimisation bayésienne est une stratégie de conception séquentielle pour l'optimisation globale des fonctions de boîte noire qui ne prend aucune forme fonctionnelle. Cette méthode a été utilisée pour affiner les modèles d’apprentissage automatique. L'optimisation bayésienne a également été récemment appliquée dans l'industrie manufacturière (pour des expériences de simulation et des expériences réelles).
Mon client souhaite sélectionner la meilleure expérience candidate pour la prochaine exécution en fonction des données de l'expérience précédente.
Voici un exemple d’application pour l’expérience chimique.
https://www.nature.com/articles/s41586-021-03213-y
Je pense que JMP peut créer un modèle de processus gaussien afin qu'un client puisse effectuer certaines étapes d'optimisation bayésienne dans JMP.
Yuichi
Re : optimisation bayésienne ; stratégie de conception séquentielle pour une optimisation globaleMerci, Yuichi.
Il est intéressant de voir qu’il existe un logiciel commercial dédié à cela.
J'ai vu pas mal d'articles universitaires sur ce type d'approche. Certains d’entre eux ont fourni des applications open source basées sur R ou Python. Toutes les approches que je vois dans ces articles sont « robotiques » ou « algorithmiques ».
L'un des avantages de l'utilisation de JMP est que le scientifique peut explorer les données de manière interactive à chaque étape pour guider le processus dans sa compréhension du domaine.
Salutations,
Phil
Re : optimisation bayésienne ; stratégie de conception séquentielle pour une optimisation globaleJ'ai parlé avec un client aujourd'hui et il a pensé qu'il pourrait utiliser JMP pour son expérience. Pour votre information, les produits suivants sont également des logiciels candidats à cet effet.
https://citrine.io/product/what-is-the-citrine-platform/
Merci,
Yuichi
Re : optimisation bayésienne ; stratégie de conception séquentielle pour une optimisation globaleMerci, Phil. Toutes les informations me sont utiles.
Je comprends que la combinaison d'une conception remplissant l'espace et d'un modèle de processus gaussien serait une solution pour votre client. Cela a du sens pour moi.
Merci de m'avoir informé de votre présentation à Discovery Europe. Je comprends que l'approche de vous et de Ryan est la combinaison de la capacité Covariate/Candidate Run et de XGboost. Je pense que cela fonctionne également pour les clients JMP Pro.
Je suggérerai ces approches à un client. Si un client obtient un bon résultat, je vous le ferai savoir.
Merci,
Yuichi
Re : optimisation bayésienne ; stratégie de conception séquentielle pour une optimisation globaleOui, @yuichi_katsumur . Je pense qu'une combinaison de conception de remplissage d'espace et de modèle de processus gaussien serait une solution pour votre client.
Je pense que les clients s’intéressent de plus en plus à ce type d’approche, notamment en chimie. Bien que je ne connaisse aucun client qui utilise JMP pour cela pour le moment.
Et j'ai vu pas mal d'articles à ce sujet, y compris celui que vous avez partagé.
Un client a demandé comment utiliser cette approche pour déterminer l'effet de la concentration en sel sur la viscosité des shampooings.
C'est l'approche que je suggérerais:
- Vous avez besoin d'un ensemble de données de départ. Dans les articles que j'ai lus, ils commencent souvent par un ensemble aléatoire de points de données provenant de l'espace factoriel. Mais je pense qu’un petit design remplissant l’espace serait préférable. Réalisez cette expérience et enregistrez la réponse pour chaque exécution.
- Augmentez l'ensemble de données de départ avec un très grand nombre d'exécutions (disons 1 000) en utilisant le remplissage d'espace. Vous n’allez pas exécuter tous ces éléments, vous pouvez donc en choisir un très grand nombre. Vous disposez maintenant d'un tableau de données avec un très grand nombre d'exécutions - vous n'avez la réponse que pour quelques-unes d'entre elles.
- Modélisez la réponse par rapport aux facteurs à l’aide d’un modèle de processus gaussien. Enregistrez la formule de prédiction et enregistrez la formule de variance. Vous disposez désormais de la réponse réelle pour un petit nombre d'exécutions, ainsi que de la variance et de la réponse prévue pour toutes les exécutions.
- Parmi les exécutions qui n’ont pas été testées, trouvez celle présentant la plus grande variance. Enregistrez la réponse réelle pour cette exécution.
- Répétez les étapes 3 et 4 jusqu'à ce que vous ayez atteint votre objectif.
Cela a-t-il du sens?
J'ai joint un tableau de données qui pourrait aider à illustrer. Il est basé sur "2D Gaussian Process Sample.jmp" du dossier de données d'exemple.
Les gens parlent d’« exploitation » ou d’« exploration ». L'approche ci-dessus est une exploration car nous choisissons la prochaine exécution pour explorer la région la plus incertaine de l'espace des facteurs. L'exploitation est l'endroit où vous choisissez l'exécution qui devrait avoir la réponse optimale (par exemple le rendement le plus élevé). Souvent, les gens choisissent l’approche qui consiste à commencer par l’exploration, puis à passer à un moment donné à l’exploitation.
@Ryan_Lekivetz et moi-même avons donné une présentation à Discovery Europe où nous examinions l'optimisation séquentielle d'un processus chimique et à chaque étape, vous pouvez effectuer 48 analyses. Nous avons comparé les approches d'exploration et d'exploitation. Et nous avons examiné une approche hybride dans laquelle, à chaque étape (« cycle »), un ensemble optimal d'essais est choisi parmi les essais non testés dont le rendement prédit est supérieur à un certain seuil. Nous augmentons le seuil à chaque étape. Cela semblait être une approche utile.
J'espère que tout cela aidera. Je serai intéressé de savoir si votre client essaie cette approche.
Merci,
Phil