Optimisation bayésienne : maximiser le critère MaxProBonjour chers membres de la communauté et experts JMP,
Je suis perplexe face à la dénomination d'une des options du personnalisateur de traitement par lots pour l'optimisation bayésienne.L'une des options s'appelleCritère MaxPro maximalDans la plateforme d'optimisation bayésienne, l'aide de cette section précise : « Cette option permet une exploration sans modèle de l'espace des facteurs, évitant ainsi la duplication des paramètres des facteurs dans les données d'entraînement et le lot actuel. Utilisez cette option pour toute taille de lot lorsqu'un ou plusieurs modèles ne s'ajustent pas correctement. »
Concernant la définition du critère MaxPro dans la section d'aide « Détails de conception du remplissage flexible rapide » , il est indiqué : « Le critère MaxPro maximise le produit des distances entre les points de conception potentiels en tenant compte de tous les facteurs. Ceci contribue à l'objectif d'obtenir de bonnes propriétés de remplissage de l'espace sur les projections des facteurs . » Il est également mentionné que le critère MaxPro « cherche à trouver, au sein des groupes, les points qui minimisent le critère suivant » ( avant de consulter la formule) :

Comme le produit des carrés des distances figure au dénominateur de la formule, minimiser ce critère maximise les distances entre les points de conception potentiels. Par conséquent, maximiser le critère MaxPro peut en réalité conduire à des distances plus petites entre les points, augmentant ainsi le risque d'obtenir des essais regroupés ou « empilés » lorsqu'on considère des sous-espaces plus restreints de l'espace expérimental.L'analyse du profileur d'optimisation bayésienne révèle que la formule sous-jacente à cette fonction d'acquisition n'utilise pas les distances (au carré) au dénominateur (contrairement au critère MaxPro original), mais au numérateur. En effet, on observe un profil de désirabilité concave correspondant à une formule de type -X² impliquant les distances entre les points de conception initiaux. La fonction d'acquisition MaxPro est maximale lorsque les distances entre le nouveau point et les points de conception initiaux sont les plus grandes.

Quelqu'un pourrait-il clarifier la confusion entre le critère « minimiser MaxPro » des plans d'expériences de remplissage d'espace et le critère « maximiser MaxPro » de l'optimisation bayésienne ? Le critère MaxPro de la plateforme d'optimisation bayésienne utilise-t-il la même formule que celui de la plateforme de remplissage d'espace ? Quelle est la formule affichée dans la fonction d'acquisition du critère MaxPro de remplissage d'espace ?
Merci d'avance !
Modélisation statistique avancéeConception des expériencesRe: Optimisation bayésienne : Maximiser le critère MaxProSerait-il possible d'obtenir une réponse de la part des utilisateurs de JMP ou d'utilisateurs avancés concernant cette question/ce point précis ?
J'espère vraiment que la documentation de JMP BayesOpt sera étoffée, car elle manque d'informations essentielles, notamment concernant les formules et les figures relatives aux noyaux et aux types de corrélation continue. Il existe déjà une bonne documentation sur les types de fonctions intervenant dans la sélection du noyau.
https://fr.mathworks.com/help/stats/kernel-covariance-function-options.html
https://www.comsol.fr/support/learning-center/course/surrogate-modeling-theory-271/more-on-covariance-functions-96531
https://indico.cern.ch/event/1407896/contributions/6068668/attachments/2947366/5179857/Lecture_2_vkain_BO.pdf
...
Re: Optimisation bayésienne : Maximiser le critère MaxProSalut @Victor_G ,
Je partage entièrement votre analyse et vos interrogations concernant la nouvelle plateforme BeysOp. J'ai très envie de la tester avec mes collègues depuis que j'en ai entendu parler en début d'année, mais je dois aussi prendre en compte le rapport coût-efficacité et le temps nécessaire. Je ne veux pas les entraîner dans des considérations trop techniques sans qu'ils comprennent d'abord les principes de base de la mise en œuvre de BayesOp par JMP ; c'est d'ailleurs ce qui s'est avéré le plus complexe.
Vous trouverez ici quelques tutoriels web corrects sur les premières étapes du développement et les nouveautés de JMP 19 Pro :
https://community.jmp.com/t5/Phil-Kay-s-Blog/Active-Learning-in-JMP-Chris-Gotwalt-ENBIS-Workshop/ba-p/835262
https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-Bayesian-Optimization/ev-p/894910
Ils donnent une description assez générale du fonctionnement (utile pour la gestion, surtout la deuxième partie jusqu'à environ 20 minutes), mais je n'ai toujours pas trouvé d'explications plus détaillées, ni d'informations sur la façon de régler/ajuster les algorithmes des fonctions d'optimisation et d'acquisition pour la tâche spécifique à accomplir.
Dans les tutoriels, ils reconnaissent le risque de se retrouver piégé dans des maxima locaux, mais affirment que leur méthode permet d'y remédier grâce à un équilibre entre exploration et optimisation. L'explication reste vague, et je comprends qu'ils ne peuvent pas tout dévoiler, mais des précisions seraient utiles. Notamment pour ceux d'entre nous qui, dans l'industrie, reconnaissons la valeur de cette approche, mais souhaiterions une compréhension plus approfondie afin de pouvoir nous adapter si les choses ne se déroulent pas comme prévu (ce qui est fréquent) et ainsi continuer à fournir des informations précieuses.
Voici quelques réflexions après avoir essayé d'en apprendre davantage sur cette nouvelle plateforme JMP.
Merci pour les liens et ressources supplémentaires !
DS
Re: Optimisation bayésienne : Maximiser le critère MaxProBonjour, merci de votre intérêt pour l'optimisation bayésienne dans JMP Pro. Je comprends votre confusion concernant l'expression « Maximiser MaxPro ». En réalité, JMP maximise l'inverse du critère MaxPro. L'objectif était de présenter toutes les options d'acquisition comme des maximisations, plutôt que certaines comme des minimisations et d'autres comme des maximisations. Avec le recul, une formulation plus appropriée aurait été « Maximiser le critère de remplissage de l'espace », et il aurait fallu préciser dans la documentation que nous maximisions l'inverse du critère MaxPro.
Re: Optimisation bayésienne : Maximiser le critère MaxProMerci @chris_gotwalt1 !
Je savais qu'il y avait une différence (voire une inversion) en comparant la forme de la fonction d'acquisition du critère MaxPro dans le profileur d'optimisation bayésienne et l'équation de la section sur la conception par remplissage d'espace. Merci pour ces précisions.
Je comprends bien la méthode simplifiée qui consiste à maximiser toute fonction d'acquisition, mais le fait que ce critère utilise la même dénomination que pour la conception de remplissage d'espace m'a induit en erreur.
J'espère que la documentation sera révisée et enrichie afin d'éviter toute confusion et d'apporter davantage d'informations aux utilisateurs sur les possibilités offertes par la plateforme BayesOpt.
Meilleur,
Re: Optimisation bayésienne : Maximiser le critère MaxProSalut @SDF1 ,
Merci pour votre réponse et les liens complémentaires.
Bien que ces liens puissent être utiles pour démarrer concrètement avec BayesOpt, ils n'offrent pas un aperçu plus approfondi de certains choix techniques comme le noyau, les formes (et les équations) de la fonction d'acquisition, etc.
Il n'existe aucune garantie d'atteindre l'optimum global. J'ai déjà présenté un cas d'utilisation lors du séminaire Discovery sur l'optimisation bayésienne où, en utilisant uniquement le mode « auto » (en suivant aveuglément les recommandations de la plateforme pour l'ajout des exécutions suivantes), j'obtiens un résultat sous-optimal par rapport à celui obtenu en forçant l'exploration dès le départ, ou mieux encore, en commençant par des exécutions initiales créées selon une approche de remplissage de l'espace.


Je suis donc un peu sceptique quant aux affirmations que vous mentionnez : si votre objectif a été atteint au cours des boucles BO (qu’il s’agisse d’un optimum local ou global), la plateforme recommandera de répliquer le point, et elle s’arrêtera là.
La question de l'optimum global versus l'optimum local a été fréquemment posée lors de ce séminaire JMP Discovery, de même que celle de la fiabilité des prédictions du modèle. J'y ai démontré que le calcul des indices d'importance/sensibilité des caractéristiques basé sur le processus gaussien utilisé lors de la boucle d'optimisation bayésienne peut être très trompeur : https://www.linkedin.com/posts/victorguiller_bayesianoptimization-designofexperiments-activity-7475080705866174465-e3uV

Ce type de méthode d'explicabilité ne fournira qu'une explication du chemin suivi par l'algorithme, et non nécessairement l'importance/sensibilité « réelle » des facteurs.
Merci beaucoup pour cette discussion et ces liens !
Meilleur,
Re: Optimisation bayésienne : Maximiser le critère MaxProSalut @Victor_G ,
Oui, je partage entièrement vos inquiétudes concernant l'algorithme et sa capacité à explorer précisément l'espace de conception lors des itérations, afin de trouver rapidement un maximum global (ou même des maxima groupés). Je tiens à préciser que je n'ai fait aucune affirmation quant aux capacités de l'algorithme ; je n'ai fait que reprendre certains points abordés lors des webinaires. Comme je l'ai mentionné dans ma première réponse, ces webinaires sont utiles pour débuter, mais ils n'approfondissent pas la méthodologie, les algorithmes ni leur optimisation ; ils s'adressent plutôt à des utilisateurs occasionnels de JMP et de la méthodologie DOE.
Dans une certaine mesure, je comprends et partage l'avis exprimé lors des présentations sur la plateforme BO. Dans l'industrie, il est souvent moins crucial de maîtriser parfaitement les interactions entre les différents facteurs et de disposer d'un modèle complexe. Il suffit de savoir qu'on a atteint 85 à 90 % de l'objectif et qu'on dispose d'un processus stable pour obtenir la réponse souhaitée. Les 10 à 15 % restants peuvent être optimisés par de petits ajustements lorsqu'on approche de l'optimum. Toutefois, il est primordial de pouvoir s'en approcher rapidement dès le départ, surtout lorsqu'on connaît peu le contexte opérationnel.
Aucun exemple n'a montré ce qui se passe si l'on démarre près d'un optimum. Que se passe-t-il avec l'algorithme d'exploration/exploitation si une optimisation bayésienne a déjà permis de trouver un maximum ? Que se passe-t-il si l'on relance le processus avec quelques points proches de ce maximum ? L'algorithme se bloque-t-il ou continue-t-il à explorer l'espace de conception ? On peut imaginer plusieurs scénarios où il pourrait y avoir au moins deux maxima globaux accessibles par deux configurations différentes, dont l'une pourrait être plus pratique en production. Cependant, si l'algorithme bayésien se bloque systématiquement sur un maximum local sans explorer suffisamment l'espace de conception, des informations importantes risquent d'être perdues.
Merci d'avoir partagé vos comparaisons entre l'exécution de BO en mode « auto » et supervisé, et d'avoir analysé comment les différentes approches atteignent l'objectif visé. Comme pour d'autres approches expérimentales, je la perçois davantage comme une approche itérative et un outil supplémentaire. Les webinaires donnent presque l'impression que cette méthode pourrait remplacer la planification d'expériences (DOE), même si les intervenants affirment le contraire ; on sent néanmoins cette impression sous-jacente qu'il s'agit de la prochaine grande révolution. Comme pour toute chose, la prudence est de mise.
Un enseignement majeur que j'en tire est que, pour toute modélisation assistée par ordinateur (qu'on l'appelle apprentissage automatique, intelligence artificielle, IA générative, peu importe), la supervision du processus est essentielle. Une modélisation ou une génération assistée par ordinateur non supervisée peut très facilement produire des résultats erronés. J'ai demandé à plusieurs plateformes d'IA de générer des silhouettes de personnes effectuant différentes tâches – des tâches assez « simples », sans détails, juste une silhouette. Or, ces IA ont facilement ajouté des membres supplémentaires aux humains – trois jambes ou quatre bras. Même après avoir signalé une erreur de génération, l'itération suivante reste erronée. Le processus nécessite donc une supervision humaine rigoureuse. Actuellement, la plateforme BO semble également nécessiter une supervision attentive.
Un sain scepticisme, tout simplement.
DS
Re: Optimisation bayésienne : Maximiser le critère MaxProSalut DS,
Je suis désolé pour le malentendu, j'avais bien compris que les réclamations provenaient de l'équipe JMP, et non de vous (veuillez m'excuser pour toute confusion dans ma réponse).
Vous avez raison, les points de départ initiaux (répartition et emplacement) sont aussi importants que les choix que vous ferez après le lancement de la boucle BO. Selon la proximité des points initiaux avec un optimum, l'algorithme peut être « attiré » par cette zone, surtout si elle correspond à votre cible et à votre objectif. Pour forcer l'exploration, il peut être utile d'ajouter des itérations avec un critère de remplissage de l'espace (MaxPro) , car cela générera des points situés à distance maximale des points déjà présents (ou d'ajouter des itérations avec une fonction d'acquisition privilégiant l'incertitude, comme l'écart type multimodel ou la borne supérieure de confiance) . Les décisions de l'utilisateur lors de l'utilisation de BO peuvent avoir un impact considérable sur les résultats du projet.
Exactement, l'optimisation bayésienne (BO) est une autre méthodologie d'« expérimentation intelligente » à notre disposition. Je pense également qu'en pratique, il peut être plus efficace d'effectuer plusieurs exécutions à chaque itération (et non une seule), en variant le type d'exécutions avec différentes fonctions d'acquisition, afin de garantir la diversité des exécutions et d'éviter un arrêt prématuré de l'exploration. On pourrait par exemple envisager 5 exécutions par itération, avec une ou deux exécutions d'exploitation, deux exécutions d'exploration (ou plus), et d'autres en mode « équilibré ». Je vois l'optimisation bayésienne avec des fonctions d'acquisition comme une option pour créer un type d'expérimentation de type « mini-plan d'expériences », où les fonctions d'acquisition sont similaires à l'optimalité de la conception, et où l'augmentation de la « conception » est très flexible en termes de taille des exécutions. Mais cela se fait au détriment de certains aspects statistiques et des protections comme le blocage ou d'autres techniques de réduction du bruit, de sorte que les deux méthodologies ne sont pas exactement interchangeables. Je suis d'accord, il faut l'utiliser avec prudence, commencer par définir les paramètres et les contraintes expérimentales, puis choisir la méthodologie d'expérimentation.
Oui, la modélisation informatique, comme l'apprentissage automatique, excelle dans la détection de tendances et peut élargir les possibilités de modélisation. Toutefois, il convient toujours d'interpréter les résultats avec prudence, car certains algorithmes peuvent être sensibles au surapprentissage (ou à des hallucinations dans le cas de l'IA générale). Il est donc essentiel de toujours faire appel à une expertise du domaine, à un esprit critique et à une approche statistique pour évaluer les résultats du modèle.
Merci beaucoup pour cette discussion, j'ai vraiment hâte de voir comment la plateforme BayesOpt (et sa documentation !) évoluera dans les prochaines versions.
Meilleur,
Re: Optimisation bayésienne : Maximiser le critère MaxProMerci pour cette discussion intéressante. Pour simplifier à l'extrême, je pense que cela se résume à deux approches fondamentalement différentes de l'expérimentation.
Une approche possible est algorithmique. L'objectif est simplement de trouver des paramètres qui produisent un résultat souhaitable. La compréhension des mécanismes sous-jacents importe peu, pourvu que l'algorithme converge de manière fiable vers une solution satisfaisante.
La seconde approche envisage l'expérimentation comme un processus d'apprentissage. L'objectif n'est pas seulement d'identifier les paramètres optimaux, mais aussi de comprendre leur fonctionnement. Cette compréhension mécaniste nous permet de prédire les performances dans de nouvelles situations, de déceler les changements de conditions, de transférer les connaissances aux conceptions futures et de développer des produits et des procédés plus robustes.
Aucune de ces philosophies n'est intrinsèquement bonne ou mauvaise ; elles optimisent simplement des objectifs différents. Si le seul but est d'optimiser un système unique le plus rapidement possible, l'optimisation bayésienne peut s'avérer extrêmement intéressante. En revanche, si l'objectif est de développer des connaissances scientifiques ou techniques qui dépassent le cadre du problème actuel, l'expérimentation doit être conçue pour révéler les mécanismes sous-jacents, et non se limiter à la recherche d'un optimum.
Ce qui m'inquiète, c'est que nous évaluons parfois ces méthodes uniquement en nous demandant : « Avons-nous trouvé une meilleure solution ? » Je pense qu'une question tout aussi importante est : « Qu'avons-nous appris qui sera encore utile pour le prochain projet ? » Ce ne sont pas toujours les mêmes choses.
Les données permettent d'identifier les zones optimales. La compréhension des mécanismes explique leur existence. Seule cette dernière nous permet de prédire ce qui se produira lorsque le monde évoluera inévitablement.