Ottimizzazione bayesiana: massimizzazione del criterio MaxProCiao cari membri della community ed esperti di JMP,
Sono confuso dalla denominazione di una delle opzioni nel personalizzatore batch per l'ottimizzazione bayesiana.Una delle opzioni si chiamaMassimizzare il criterio MaxPronella piattaforma di ottimizzazione bayesiana. La guida in questa sezione afferma: " Questa opzione è un'esplorazione dello spazio dei fattori senza modello che evita la replicazione di alcuna impostazione dei fattori sia nei dati di addestramento che nel batch corrente. Utilizzare questa opzione per qualsiasi dimensione del batch quando uno o più modelli non si adattano bene. "
Per quanto riguarda la definizione del criterio MaxPro nella sezione di aiuto "Dettagli di progettazione per il riempimento flessibile rapido" , " Il criterio MaxPro massimizza il prodotto delle distanze tra i potenziali punti di progettazione in modo da coinvolgere tutti i fattori. Ciò supporta l'obiettivo di fornire buone proprietà di riempimento dello spazio sulle proiezioni dei fattori ". Viene inoltre menzionato che il criterio MaxPro " cerca di trovare punti nei cluster che minimizzino il seguente criterio" ( prima di esaminare la formula):

Poiché il prodotto dei quadrati delle distanze si trova al denominatore della formula, minimizzare questo criterio massimizza le distanze tra i potenziali punti di progettazione. Pertanto, massimizzare il criterio MaxPro potrebbe effettivamente portare a distanze minori tra i punti, causando un rischio maggiore di esperimenti che potrebbero risultare raggruppati o "sovrapposti" quando si considerano sottospazi più piccoli dello spazio sperimentale.Osservando il Bayesian Optimization Profiler, sembra che la formula utilizzata alla base di questa funzione di acquisizione non utilizzi le distanze (al quadrato) al denominatore (come nel criterio MaxPro originale), ma al numeratore, poiché possiamo notare un profilo di desiderabilità concavo che corrisponde a una formula di tipo -X² che coinvolge le distanze tra i punti di progettazione originali. La funzione di acquisizione MaxPro raggiunge il massimo dove le distanze tra il nuovo punto e i punti di progettazione originali sono massime:

Qualcuno potrebbe chiarire questa confusione tra il "criterio di minimizzazione di MaxPro" dei modelli di riempimento dello spazio e il "criterio di massimizzazione di MaxPro" dell'ottimizzazione bayesiana? Il criterio di MaxPro nella piattaforma di ottimizzazione bayesiana utilizza la stessa formula di quello nella piattaforma di riempimento dello spazio? Qual è la formula visualizzata nella funzione di acquisizione del criterio di riempimento dello spazio MaxPro?
Grazie in anticipo !
Modellazione statistica avanzataProgettazione degli esperimentiOggetto: Ottimizzazione bayesiana: massimizzazione del criterio MaxProC'è la possibilità di ricevere una risposta da parte del team di JMP o da utenti esperti su questa specifica domanda/dubbio?
Spero vivamente che la documentazione di JMP BayesOpt venga ampliata, poiché mancano alcune informazioni di base, ad esempio sulla formula e le figure relative ai kernel/tipi di correlazione continua. Esiste già un'ottima documentazione sui tipi di funzione coinvolti nella selezione del kernel:
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
...
Oggetto: Ottimizzazione bayesiana: massimizzazione del criterio MaxProCiao @Victor_G ,
Concordo pienamente con la tua valutazione e le tue domande sulla nuova piattaforma BayesOp. Desideravo provarla con i colleghi fin da quando ne ho sentito parlare per la prima volta all'inizio di quest'anno, ma sto anche cercando di bilanciare i potenziali benefici con le risorse/il tempo impiegato e non voglio mandare i colleghi in un labirinto di informazioni senza prima aver compreso i fondamenti di come JMP implementa BayesOp: questa parte si è rivelata la più complessa.
Qui potete trovare alcuni validi tutorial online sulle prime fasi di sviluppo e sulle recenti aggiunte a 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
Sono abbastanza bravi a fornire una descrizione generale di come funzionano le cose (ottimi per il management, soprattutto il secondo video fino a circa 20 minuti), ma non sono ancora riuscito a trovare spiegazioni più dettagliate, né molte informazioni su come ottimizzare/regolare gli algoritmi delle funzioni di ottimizzazione e acquisizione per lo specifico compito da svolgere.
Nei tutorial, ammettono che esiste il rischio di rimanere bloccati in massimi locali, ma affermano anche che il loro metodo può evitarlo perché bilancia il desiderio di esplorazione con quello di ottimizzazione. La spiegazione è vaga e capisco che non possano rivelare tutti i dettagli tecnici, ma qualche approfondimento in più sarebbe utile. Soprattutto per chi, come me, lavora nel settore e riconosce il valore di questo approccio, ma desidera anche una comprensione più approfondita, in modo che, SE le cose non vanno come previsto (il che accade nella maggior parte dei casi), possiamo adattarci e preservare le informazioni utili contenute nel lavoro svolto.
Ecco alcune riflessioni dopo aver cercato di approfondire la conoscenza di quest'ultima piattaforma di JMP.
Grazie per i link e le risorse aggiuntive!
DS
Oggetto: Ottimizzazione bayesiana: massimizzazione del criterio MaxProSalve, grazie per il suo interesse nell'ottimizzazione bayesiana in JMP Pro. Capisco la sua confusione riguardo alla dicitura "Massimizza MaxPro": JMP in realtà massimizza il reciproco del criterio MaxPro. Questa scelta è stata fatta per presentare tutte le opzioni di acquisizione delle sequenze come massimizzazioni, anziché alcune come minimizzazioni e altre come massimizzazioni. Col senno di poi, una formulazione migliore sarebbe stata "Massimizza il criterio di riempimento dello spazio" e avrebbe specificato nella documentazione che stavamo massimizzando il reciproco del criterio MaxPro.
Oggetto: Ottimizzazione bayesiana: massimizzazione del criterio MaxProGrazie @chris_gotwalt1 !
Sapevo che c'era qualcosa di diverso (e forse invertito) quando ho confrontato la funzione di acquisizione del criterio MaxPro nel profiler di ottimizzazione bayesiana con l'equazione della sezione di progettazione Space Filling. Grazie per il chiarimento.
Capisco il metodo semplificato per massimizzare qualsiasi funzione di acquisizione, ma la stessa denominazione utilizzata per questo criterio e per il design di riempimento dello spazio mi ha confuso.
Spero che la documentazione venga rivista e arricchita per evitare qualsiasi confusione e fornire agli utenti maggiori informazioni sulle potenzialità della piattaforma BayesOpt.
Migliore,
Oggetto: Ottimizzazione bayesiana: massimizzazione del criterio MaxProCiao @SDF1 ,
Grazie per la risposta e per i link aggiuntivi.
Sebbene questi link possano essere utili per iniziare a utilizzare BayesOpt in ambito pratico, non offrono un'analisi più approfondita di alcune scelte tecniche come il kernel, le forme (e le equazioni) della funzione di acquisizione, ecc.
Non vi è alcuna garanzia di raggiungere l'ottimo globale. Ho già presentato un caso d'uso al Discovery Seminar su BO in cui, utilizzando solo una modalità "automatica" (seguendo ciecamente i consigli della piattaforma per l'aggiunta delle esecuzioni successive), ho ottenuto un risultato subottimale rispetto a quello che potrei ottenere forzando l'esplorazione all'inizio, o addirittura meglio, partendo da esecuzioni iniziali create con un approccio di riempimento dello spazio:


Sono quindi un po' scettico riguardo alle affermazioni che menzioni: se il tuo obiettivo è stato raggiunto durante i cicli BO (indipendentemente dal fatto che si tratti di un ottimo locale o globale), la piattaforma consiglierà di replicare il punto e terminerà lì.
Il tema dell'ottimo globale vs. locale è stato un argomento ricorrente in questo seminario JMP Discovery, così come "come usare/fidarsi delle previsioni del modello", dove ho dimostrato che il calcolo degli indici di importanza/sensibilità delle caratteristiche basato sul processo gaussiano utilizzato durante il ciclo BO può essere molto fuorviante: https://www.linkedin.com/posts/victorguiller_bayesianoptimization-designofexperiments-activity-7475080705866174465-e3uV

Questo tipo di metodo di interpretabilità fornirà solo una spiegazione del percorso seguito dall'algoritmo, non necessariamente dell'importanza/sensibilità "reale" dei fattori.
Grazie mille per la discussione e i link!
Migliore,
Oggetto: Ottimizzazione bayesiana: massimizzazione del criterio MaxProCiao @Victor_G ,
Sì, concordo pienamente con te riguardo alle preoccupazioni sull'algoritmo e sul fatto che le iterazioni esplorino accuratamente lo spazio di progettazione per trovare rapidamente quello che si spera sia un massimo globale (o anche massimi raggruppati). Per essere chiari, non ho fatto alcuna affermazione sulle capacità, ho solo ripetuto alcune affermazioni fatte nei webinar online. Come ho menzionato nella mia risposta originale, sono webinar validi per iniziare, ma non approfondiscono la metodologia o gli algoritmi e come ottimizzarli: sono decisamente più orientati a utenti "occasionali" di JMP e della metodologia DOE.
In una certa misura, concordo e comprendo quanto viene comunicato/dimostrato nelle presentazioni sulla piattaforma BO: spesso, nel settore, non è fondamentale avere una profonda comprensione di come ogni fattore interagisce con tutti gli altri e disporre di un modello perfetto. È sufficiente sapere di essere all'85% o al 90% del percorso e di avere un processo stabile per generare la risposta desiderata. Il restante 10-15% può essere ottimizzato con piccoli aggiustamenti quando ci si avvicina all'ottimo. Tuttavia, essere in grado di avvicinarsi rapidamente all'ottimo fin dall'inizio, quando si hanno poche informazioni sullo spazio operativo, è estremamente vantaggioso.
Un aspetto che nessuno degli esempi ha mostrato è cosa succede se si INIZIA da un punto vicino a un ottimo. Cosa succede con l'algoritmo di esplorazione vs sfruttamento se si è già eseguita un'ottimizzazione BO e si è trovato un "massimo"? Cosa succede se si riavvia il processo utilizzando un paio di punti vicini a quel massimo? Si blocca o continua a esplorare lo spazio di progettazione? Posso pensare a diversi scenari in cui potrebbero esserci almeno due massimi globali raggiungibili tramite due impostazioni diverse, una delle quali potrebbe essere più pratica dal punto di vista della produzione. Ma se l'algoritmo BO si blocca sempre su uno dei massimi locali senza esplorare a sufficienza, si potrebbero perdere informazioni importanti.
Grazie per aver condiviso i tuoi confronti tra l'esecuzione di BO in modalità "automatica" e supervisionata e per aver illustrato l'efficacia dei diversi approcci nel raggiungere l'obiettivo desiderato. Come per altri approcci sperimentali, credo di vederlo più come un approccio iterativo e un ulteriore strumento a disposizione. I webinar lasciano quasi intendere che questo potrebbe diventare il "nuovo" sostituto del DOE, anche se i relatori affermano il contrario; c'è comunque un'atmosfera di fondo che suggerisce che si tratti della prossima grande novità. Come per ogni cosa, usatela con cautela.
Un aspetto fondamentale che ho appreso è che, con qualsiasi modellazione assistita da computer (che si chiami ML, IA, IA generativa o altro), la supervisione del processo è essenziale. La modellazione o la generazione assistita da computer senza supervisione può facilmente generare allucinazioni. Ho dato a diverse piattaforme di IA degli input per generare sagome di persone impegnate in diverse attività, piuttosto "semplici", senza dettagli, solo una sagoma. Ebbene, le diverse IA hanno facilmente generato arti in più sulle persone, come tre gambe o quattro braccia. Anche dopo aver segnalato un errore nella generazione da parte dell'IA, l'iterazione successiva continuerà a essere un'allucinazione. Il processo richiede ancora una supervisione e un controllo umano piuttosto intensi. Attualmente, anche la piattaforma BO sembra necessitare di un'attenta supervisione.
Solo un po' di sano scetticismo.
DS
Oggetto: Ottimizzazione bayesiana: massimizzazione del criterio MaxProCiao DS,
Mi scuso per l'equivoco, avevo capito che le affermazioni provenivano dal team JMP, non da te (mi scuso per qualsiasi confusione nella mia risposta).
Hai ragione, i punti di partenza iniziali (diffusione e posizione) sono importanti quanto le scelte che farai dopo aver avviato il ciclo BO. A seconda di quanto i punti iniziali siano vicini a un ottimo, possiamo pensare che l'algoritmo possa essere "attratto" da quest'area, soprattutto se è in linea con il tuo obiettivo. Per forzare l'esplorazione, può essere utile aggiungere delle run con un criterio di riempimento dello spazio (MaxPro) , in quanto genererà punti che hanno la massima distanza dai punti già presenti (oppure aggiungere run con una funzione di acquisizione che enfatizzi l'incertezza, come Multimodel Std Dev o Upper Confidence Bound) . Le decisioni dell'utente quando si utilizza BO possono avere un impatto molto significativo sui risultati del progetto.
Esattamente, BO è un'altra metodologia di "sperimentazione intelligente" nella cassetta degli attrezzi. Penso anche che in pratica potrebbe essere più efficace avere più run per ogni iterazione (non solo una run per iterazione) e continuare a variare il tipo di run aggiunte con diverse funzioni di acquisizione, per garantire la diversità nel batch di run ed evitare l'arresto prematuro dell'esplorazione. Potremmo ad esempio pensare a 5 run per iterazione, con una o due run di sfruttamento, due run di esplorazione (o più) e altre run in una modalità "bilanciata". Vedo BO con funzioni di acquisizione come un'opzione per creare un tipo di sperimentazione DoE "tiny", dove le funzioni di acquisizione sono simili all'ottimalità del progetto e dove l'aumento del "progetto" è molto flessibile in termini di dimensione delle run. Ma questo va a scapito di alcuni "strumenti" statistici e di misure di sicurezza come il blocco o altre tecniche di riduzione del rumore, quindi le due metodologie non sono esattamente intercambiabili. Sono d'accordo, "usare con cautela", iniziare con le impostazioni e i vincoli sperimentali e POI scegliere la metodologia di sperimentazione.
Sì, la modellazione computerizzata come il Machine Learning è ottima per individuare schemi e può ampliare le opzioni di modellazione, ma i risultati devono sempre essere considerati con cautela, poiché alcuni algoritmi possono essere soggetti a overfitting (o allucinazioni nel caso dell'IA generativa). Pertanto, è sempre necessario utilizzare la propria competenza specifica, il pensiero critico e una mentalità statistica per valutare i risultati del modello.
Grazie mille per la discussione, non vedo l'ora di vedere come si evolverà la piattaforma BayesOpt (e la relativa documentazione!) nelle prossime versioni.
Migliore,
Oggetto: Ottimizzazione bayesiana: massimizzazione del criterio MaxProGrazie per l'interessante discussione. Semplificando al massimo, credo che si tratti di due approcci alla sperimentazione fondamentalmente diversi.
Un approccio è di tipo algoritmico. L'obiettivo è semplicemente quello di trovare le impostazioni che producano un risultato desiderabile. Che i meccanismi sottostanti siano compresi o meno è in gran parte irrilevante, purché l'algoritmo converga in modo affidabile a una soluzione soddisfacente.
Il secondo approccio considera la sperimentazione come un processo di apprendimento. L'obiettivo non è solo identificare le configurazioni ottimali, ma anche comprenderne il funzionamento. Questa comprensione meccanicistica ci permette di prevedere le prestazioni in nuove situazioni, riconoscere quando le condizioni sono cambiate, trasferire le conoscenze ai progetti futuri e sviluppare prodotti e processi più robusti.
Nessuna delle due filosofie è intrinsecamente giusta o sbagliata: semplicemente ottimizzano obiettivi diversi. Se l'unico scopo è ottimizzare un singolo sistema il più rapidamente possibile, l'ottimizzazione bayesiana può essere estremamente interessante. Se invece l'obiettivo è costruire conoscenze scientifiche o ingegneristiche che vadano oltre il problema attuale, allora la sperimentazione deve essere progettata per rivelare i meccanismi, non semplicemente per cercare un optimum.
La mia preoccupazione è che a volte valutiamo questi metodi chiedendoci unicamente: "Abbiamo trovato una soluzione migliore?". Credo che una domanda altrettanto importante sia: "Cosa abbiamo imparato che ci sarà utile nel prossimo progetto?". Non sempre le due cose coincidono.
I dati possono identificare dove esiste un punto ottimale. Comprendere i meccanismi spiega perché esiste. Solo quest'ultima ci permette di prevedere cosa accadrà quando il mondo inevitabilmente cambierà.