Opérateur bayésien avec descripteurs continus d'une entrée catégorielleSalut,
Un client a posé une question sur l'utilisation de l'opt bayésien dans une situation où il dispose d'une seule entrée catégorielle (par exemple, le type de catalyseur) qu'il peut décrire à l'aide de plusieurs variables continues (par exemple, des descripteurs chimiques).
Je sais qu'ils pourraient procéder en utilisant le tableau des descripteurs comme ensemble de candidats. Quelqu'un a-t-il déjà vu des exemples de clients utilisant cette méthode ? Ou des ingénieurs avant-vente ont-ils fait des essais avec des exemples simulés ?
Merci
Phil
Re : Opt bayésien avec descripteurs continus d’une entrée catégorielleSalut @Phil_Kay ,
Cherchent-ils à comprendre l'influence de la composition du catalyseur sur le processus global (construire un modèle) dans le but de contrôler/adapter la composition du catalyseur ?
J'ai eu des cas similaires avec des clients (par exemple dans le développement de parfums) : ils peuvent utiliser les composés A, B ou C, ils connaissent leur composition (par exemple 10 % d'huile, 5 % d'alcool), mais ils ne peuvent pas effectuer d'expérimentations ciblées car ils ne peuvent pas modifier les proportions, ce qui rend BayesOpt peu utile.
Acclamations,
Ben
Re : Opt bayésien avec descripteurs continus d’une entrée catégorielleBonjour @Phil_Kay , si cela peut vous aider, le tableau ci-joint provient de l'Assistant et contient l'invite suivante : « Simuler des données QSAR pour prédire le type de catalyseur à l'aide de descripteurs chimiques. Utiliser des relations chimiques réalistes et s'assurer que certains descripteurs sont significatifs. »
Il existe également un script pour un modèle XGBoost, qui semble bien fonctionner.
Re : Opt bayésien avec descripteurs continus d’une entrée catégorielleMerci, Ben. Je crois que leur objectif est de sélectionner le meilleur catalyseur pour obtenir un rendement optimal. Il y a peut-être une cinquantaine de catalyseurs parmi lesquels choisir. Chaque catalyseur aura des valeurs uniques pour les variables descriptives, reflétant ses différentes propriétés chimiques. Ils ne peuvent pas tous les tester, car cela impliquerait un nombre excessif de réactions. L'idée serait donc d'utiliser les variables descriptives comme facteurs dans l'algorithme Bayes OPT, une méthode rationnelle pour explorer l'espace des propriétés des catalyseurs et identifier le catalyseur optimal.
Re: Opt bayésien avec descripteurs continus d'une entrée catégorielleMerci, @russ_wolfinger . Ça a l'air bien. Mais je pensais plutôt à un ensemble de 50 catalyseurs différents. Désolé, je crois que ma formulation « type de catalyseur » n'était pas optimale. Chaque catalyseur aurait des valeurs uniques pour les descripteurs.
Re : Opt bayésien avec descripteurs continus d’une entrée catégorielleMerci pour ces précisions, Phil.
Existe-t-il une variable cible continue Y (par exemple, le rendement) à optimiser en fonction des descripteurs ? Le nom du catalyseur servirait-il alors d’étiquette de ligne ?
Dans ce cas, les données pourraient être traitées par BayesOpt afin de trouver les valeurs de descripteurs qui optimisent Y. Une fois ces valeurs trouvées, il faudrait, je crois, être capable de synthétiser un catalyseur avec la combinaison optimale de descripteurs (ou du moins une approximation très proche).
Une autre approche consiste à modéliser les relations structure-activité quantitatives (QSAR) afin d'établir un modèle prédictif de Y en fonction des descripteurs. XGBoost ou Torch sont des options pertinentes ; vous pouvez ensuite utiliser le profileur pour optimiser Y ou exploiter le modèle obtenu pour prédire l'activité de catalyseurs non mesurés à partir de descripteurs connus.
Si vous disposez de chaînes SMILES pour les catalyseurs, Torch propose des modèles de réseaux neuronaux graphiques qui fonctionnent généralement très bien.
J'ai donc ajouté une colonne « Rendement » aux données simulées.
Russ
Re : Opt bayésien avec descripteurs continus d’une entrée catégorielleOui, le rendement serait le plus souvent la variable de réponse, bien que les niveaux d'impuretés et le coût puissent être des variables supplémentaires. Le rendement est inconnu et ne peut être déterminé qu'en réalisant la réaction. Or, il est impossible de réaliser la réaction avec les 50 catalyseurs. Par conséquent, on utiliserait l'approche bayésienne pour explorer (idéalement) efficacement l'espace des propriétés des catalyseurs. Je pense qu'on choisirait simplement le catalyseur le plus performant, mais si le modèle suggère des propriétés optimales différentes de celles des catalyseurs existants, on pourrait envisager d'ajouter d'autres candidats.
Je pense que cela devrait être possible et relativement simple.
Mais je ne suis pas certain qu'il soit possible d'intégrer des variables de procédé supplémentaires, comme la température ou le pH, par exemple. J'imagine que ce serait important. À mon avis, la seule solution serait de créer un ensemble de candidats pour les descripteurs du catalyseur et un autre pour les facteurs de procédé (par exemple, un plan d'expériences de type « remplissage d'espace »), puis de calculer le produit de ces deux ensembles. On obtiendrait ainsi un ensemble de candidats très important, avec de multiples traitements des facteurs de procédé pour chaque catalyseur et ses descripteurs.
Re : Opt bayésien avec descripteurs continus d’une entrée catégorielleUn point important à prendre en compte lors de l'utilisation du rendement comme variable réponse pour BayesOpt : si l'objectif du rendement est défini sur « maximiser » et qu'il est exprimé en pourcentage plutôt qu'en unités absolues (comme g/L), l'algorithme peut prédire des résultats non physiques, à l'instar de la méthode des moindres carrés ordinaires (par exemple, un rendement de 103 %). Cela peut conduire à des suggestions d'expériences aberrantes.Re : Opt bayésien avec descripteurs continus d’une entrée catégorielleSalut @Phil_Kay ,
Vous trouverez ici des données publiques qui pourraient correspondre à votre situation : https://github.com/SigmanGroup/Threshold/tree/main/examples
Je viens de télécharger rapidement le jeu de données et de le tester en l'utilisant comme ensemble de candidats et table de correspondance. (Il semble s'agir d'une publication connexe : https://www.science.org/doi/10.1126/science.abj4213?referrer=https%3A%2F%2Fgithub.com%2FSigmanGroup%2FThreshold%2Ftree%2Fmain )
Le seul inconvénient de mon essai initial rapide est que BayesOpt s'est apparemment bloqué sur une recommandation (qui était d'ailleurs parfaitement juste pour une réponse).
Les données synthétiques sont peut-être l'option la plus « sûre » pour les démonstrations...
J'espère que cela vous aidera.
Florian
Re: Opt bayésien avec descripteurs continus d'une entrée catégorielleEh bien, je suppose qu'il a trouvé l'optimum avec une grande efficacité ! Ce serait encore plus intéressant avec l'intégration des variables de procédé et leurs interactions avec les descripteurs du catalyseur. Mais, comme je l'ai dit plus haut, je pense que ce sera un processus complexe à mettre en œuvre actuellement.
Re : Opt bayésien avec descripteurs continus d’une entrée catégorielleEn effet 
Oui, dans ce cas, un jeu de données synthétiques pourrait être la solution.
Unilever a indiqué que BayesOpt excelle particulièrement dans le développement de produits et de procédés (à la différence qu'ils utilisent les propriétés chimiques des ingrédients plutôt que des catalyseurs/QSAR et éventuellement d'autres paramètres de procédé comme l'agitation). Ils procèdent actuellement à une évaluation et n'ont pas encore communiqué leurs conclusions, mais j'espère obtenir des informations plus détaillées d'ici la fin octobre, voire une étude de cas publique.
Re : Opt bayésien avec descripteurs continus d’une entrée catégorielleCe serait formidable. Je pense que nous allons voir de plus en plus d'études de cas réussies de la part de nos clients, ce qui nous aidera vraiment à démontrer la valeur ajoutée de notre offre.
Re : Opt bayésien avec descripteurs continus d’une entrée catégorielleSuperbes données, Florian, merci du partage. Nous avons des arguments très convaincants pour exploiter ce type de données du point de vue de la modélisation prédictive :
1. Processus gaussien et avantages itératifs de BayesOpt. Le processus gaussien est généralement le plus adapté aux systèmes réguliers. MixedModel dans Torch offre des fonctionnalités similaires.
2. XGBoost / LightGBM / Arbres de décision boostés : Idéal pour les systèmes d’interaction non linéaires avec des changements brusques, voire des discontinuités.
3. Réseaux de neurones dans Torch et JMP : Idéaux pour les systèmes à régularité modérée, entre les processus gaussiens et les arbres de décision boostés. Grande richesse structurale.
4. Réseaux neuronaux graphiques sur SMILES dans Torch : Les plus fidèles à la structure chimique, potentiellement les meilleurs de tous.
Les éléments 3 et 4 peuvent facilement être combinés en un seul modèle et les meilleures prédictions possibles proviennent de leur combinaison.
Re: Opt bayésien avec descripteurs continus d'une entrée catégorielle@MikeD_Anderson, aurais-tu des conseils pour gérer le problème des pourcentages comme mesure de réponse ? Je le rencontre souvent chez mes clients (par exemple, pour le pourcentage de dissolution) où les seules mesures sont exprimées en pourcentage. J'ai du mal à comprendre comment définir une limite supérieure stricte, car même lors de simulations, BayesOpt peut la dépasser.
Re : Opt bayésien avec descripteurs continus d’une entrée catégorielle@Ben_BarrIngh – La solution idéale serait d'avoir l'équivalent de GenReg pour les processus stochastiques (le modèle de substitution utilisé par notre implémentation de BayesOpt). Cela nous permettrait d'intégrer la distribution bêta (c'est-à-dire une modélisation BeSP au lieu de GaSP). Les formules mathématiques nécessaires existent, mais il faudrait qu'un développeur ou un chef de produit se renseigne pour savoir si une feuille de route est prévue pour cette fonctionnalité.
Pour l'instant, la meilleure solution que j'ai trouvée consiste à transformer des termes comme « Rendement % » d'un objectif à maximiser en un objectif cible, par exemple 99,5 %. Ensuite, vous pouvez ajuster les bornes supérieure et inférieure de la courbe de désirabilité pour qu'elle ignore les valeurs supérieures à 100 %. Comme Bayes Opt est un peu capricieux pour effectuer cette opération sur sa plateforme actuellement, vous devrez configurer ces paramètres dans les propriétés de la colonne de réponse. Cela semble fonctionner, mais c'est un peu du bricolage.

Re : Opt bayésien avec descripteurs continus d’une entrée catégorielleTrès utile, merci @MikeD_Anderson
Re : Opt bayésien avec descripteurs continus d’une entrée catégorielleVous pouvez aussi essayer de calculer le logit de la proportion de réponses. C'est ainsi que la régression logistique transforme les données de réussite/échec en données sur l'intervalle (–∞, +∞). Ensuite, appliquez la fonction logistique aux prédictions pour les reconvertir en proportions. (Il me semble que JMP propose une fonction Logit Percent ; vous n'aurez ainsi pas à reporter le facteur 100.)