Bayesianische Optimierung; Sequentielle Designstrategie zur globalen OptimierungEin Kunde hat mich nach einer Bayes'schen Optimierung gefragt. Hat jemand eine ähnliche Anfrage von einem Kunden gestellt?
Im Allgemeinen ist die Bayes'sche Optimierung eine sequentielle Entwurfsstrategie zur globalen Optimierung von Black-Box-Funktionen, die keine funktionalen Formen annimmt. Diese Methode wurde verwendet, um Modelle für maschinelles Lernen zu optimieren. Die Bayes'sche Optimierung wird seit kurzem auch in der Fertigungsindustrie angewendet (für Simulationsexperimente und tatsächliche Experimente).
Mein Kunde möchte basierend auf den Daten des vorherigen Experiments das beste Kandidatenexperiment für den nächsten Durchlauf auswählen.
Hier ist ein Anwendungsbeispiel für das chemische Experiment.
https://www.nature.com/articles/s41586-021-03213-y
Ich denke, JMP kann ein Gaußsches Prozessmodell erstellen, damit ein Kunde einige Schritte der Bayes'schen Optimierung in JMP durchführen kann.
Yuichi
Betreff: Bayesianische Optimierung; Sequentielle Designstrategie zur globalen OptimierungDanke, Yuichi.
Interessant ist, dass es hierfür ein eigenes kommerzielles Softwareprodukt gibt.
Ich habe eine ganze Reihe wissenschaftlicher Arbeiten über diese Art von Ansatz gesehen. Einige von ihnen haben Open-Source-Anwendungen auf Basis von R oder Python bereitgestellt. Alle Ansätze, die ich in diesen Aufsätzen sehe, sind „roboterhaft“ oder „algorithmisch“.
Ein Vorteil der Verwendung von JMP besteht darin, dass der Wissenschaftler die Daten bei jedem Schritt interaktiv untersuchen kann, um den Prozess mit seinem Verständnis der Domäne zu steuern.
Grüße,
Phil
Betreff: Bayesianische Optimierung; Sequentielle Designstrategie zur globalen OptimierungIch habe heute mit einem Kunden gesprochen und er hatte das Gefühl, dass er JMP für sein Experiment verwenden könnte. Zu Ihrer Information: Die folgenden Produkte sind ebenfalls geeignete Software für diesen Zweck.
https://citrine.io/product/what-is-the-citrine-platform/
Danke,
Yuichi
Betreff: Bayesianische Optimierung; Sequentielle Designstrategie zur globalen OptimierungDanke, Phil. Alle Informationen sind für mich hilfreich.
Ich verstehe, dass die Kombination aus raumfüllendem Design und Gauß-Prozessmodell eine Lösung für Ihren Kunden wäre. Das macht für mich Sinn.
Vielen Dank, dass Sie mich über Ihre Präsentation bei Discovery Europe informiert haben. Ich verstehe, dass Ihr und Ryans Ansatz die Kombination aus Covariate/Candidate Run-Fähigkeit und XGboost ist. Ich denke, das funktioniert auch für JMP Pro-Kunden.
Ich werde diese Ansätze einem Kunden vorschlagen. Wenn ein Kunde ein gutes Ergebnis erzielt, gebe ich Ihnen Bescheid.
Danke,
Yuichi
Betreff: Bayesianische Optimierung; Sequentielle Designstrategie zur globalen OptimierungJa, @yuichi_katsumur . Ich denke, dass eine Kombination aus raumfüllendem Design und Gauß-Prozessmodell eine Lösung für Ihren Kunden wäre.
Ich denke, dass das Interesse der Kunden an einem solchen Ansatz, insbesondere in der Chemie, zunimmt. Allerdings kenne ich derzeit keinen Kunden, der dafür JMP nutzt.
Und ich habe eine ganze Reihe von Artikeln darüber gesehen, einschließlich des Artikels, den Sie geteilt haben.
Ein Kunde fragte nach der Verwendung dieses Ansatzes zur Bestimmung der Auswirkung der Salzkonzentration auf die Viskosität von Shampoos.
Dies ist der Ansatz, den ich vorschlagen würde:
- Sie benötigen einen Startdatensatz. In den Artikeln, die ich gelesen habe, beginnen sie oft mit einem zufälligen Satz von Datenpunkten aus dem Faktorraum. Aber ich denke, dass ein kleines, raumfüllendes Design besser wäre. Führen Sie dieses Experiment durch und zeichnen Sie die Reaktion für jeden Durchgang auf.
- Erweitern Sie den Startdatensatz mit einer sehr großen Anzahl von Läufen (z. B. 1000) mithilfe von Raumfüllung. Sie werden nicht alle davon ausführen, daher können Sie eine sehr große Anzahl auswählen. Sie haben jetzt eine Datentabelle mit einer sehr großen Anzahl von Läufen – Sie haben die Antwort nur für einige davon.
- Modellieren Sie die Reaktion auf die Faktoren mithilfe des Gaußschen Prozessmodells. Vorhersageformel und Varianzformel speichern. Jetzt haben Sie die tatsächliche Reaktion für eine kleine Anzahl von Läufen sowie die Varianz und die vorhergesagte Reaktion für alle Läufe.
- Finden Sie aus den nicht getesteten Läufen den Lauf mit der größten Varianz. Notieren Sie die tatsächliche Reaktion für diesen Lauf.
- Wiederholen Sie die Schritte 3 und 4, bis Sie Ihr Ziel erreicht haben.
Ist das sinnvoll?
Ich habe eine Datentabelle beigefügt, die zur Veranschaulichung beitragen könnte. Es basiert auf „2D Gaussian Process Beispiel.jmp“ aus dem Beispieldatenordner.
Man spricht von „Ausbeutung“ vs. „Erkundung“. Bei dem oben genannten Ansatz handelt es sich um einen Explorationsansatz, da wir den nächsten Lauf wählen, um den unsichersten Bereich des Faktorraums zu erkunden. Bei der Ausbeutung wählen Sie den Lauf aus, der voraussichtlich die optimale Reaktion (z. B. den höchsten Ertrag) haben wird. Oft verwenden Menschen den Ansatz, mit der Erkundung zu beginnen und dann an einem bestimmten Punkt zur Ausbeutung überzugehen.
@Ryan_Lekivetz und ich selbst gab eine Präsentation bei Discovery Europe Wir haben uns mit der sequentiellen Optimierung eines chemischen Prozesses befasst und bei jedem Schritt können 48 Durchläufe durchgeführt werden. Wir haben Explorations- und Exploitationsansätze verglichen. Und wir haben uns einen Hybridansatz angesehen, bei dem bei jedem Schritt („Runde“) ein optimaler Satz von Läufen aus den ungetesteten Läufen ausgewählt wird, deren Ertrag über einem bestimmten Schwellenwert vorhergesagt wurde. Wir erhöhen den Schwellenwert bei jedem Schritt. Dies schien ein nützlicher Ansatz zu sein.
Ich hoffe, dass alles hilft. Es würde mich interessieren, ob Ihr Kunde diesen Ansatz ausprobiert.
Danke,
Phil