問題:ベイズ最適化以前の研究開発研究では、4因子混合実験計画法(3つの混合因子と1つの3段階カテゴリ「異性体」効果)を用いて、3つの品質特性Y1、Y2、Y3を持つ化学製剤の最適な設定を見つけることに成功しました。
私はこの事例をDOE(実験計画法)の授業で使用し、シミュレーション式を用いて応答Y123を計算しました。良好なモデルが得られ、最適化も簡単で問題ありませんでした。詳細は添付ファイル「ANALYSIS MIXTURE DOE CHEMICAL FORMULATION」をご覧ください。
12回の実験からなる混合コワルスキーモデルDOEから開始して、ベイズ最適化(付録「ベイズ最適化」を参照)に苦戦しています。非常に信頼性の低いY2モデルが原因で、この最適化が失敗し続けています。なぜベイズ最適化では、この非常に信頼性の低いY2モデルで「最大望ましさ」が推奨されるのでしょうか?他のスクリーニングおよび空間充填DOEから開始しても、同じ信頼性の低いY2モデルが繰り返し得られます。
問題点は何ですか?どうすれば解決できますか?
実験計画法件名:ベイズ最適化問題こんにちは、 @frankderuyck さん。
あなたの具体的な使用例とは関係ありませんが、ベイズ最適化プラットフォームを使用してデータに基づいてガウス過程モデルを適合させる際に問題が発生する場合は、次の2つのオプションをお勧めします。
- MaxPro基準を使用して候補点を作成することで、設計空間の探索を強制的に進めることができます。このモデルに依存しない基準は、既存の点と新しい候補点との間の距離を最大化するため、実験空間を効率的に網羅できます。
- モデルベース拡張のRSquare閾値に関するデフォルト設定を変更することもできます(たとえば、この閾値をデフォルトの0.25から0.7に上げると、探索部分が増加します)。また、BOループの開始時に相関タイプ(ガウス分布、Mattern 3/2および5/2、または指数分布)を調整して、いずれかの相関タイプがユースケースにより適しているかどうかを確認することもできます。Mattern 5/2は良いデフォルトオプションですが、Y2についてはガウス分布の方がわずかに良い結果が得られる可能性があります。
いずれの場合も、実践者はプラットフォームとその結果を制御し、状況に最も適したオプション(探索/活用)を選択する必要があります。私はフランスのディスカバリーセミナーでBOに関するユースケースを発表しましたが、そこでは「自動」モード(デフォルト設定でプラットフォームの推奨事項を盲目的に踏襲する)では最適とは言えない結果となりました。モデルの適合が不十分で信頼性に欠けるため、探索ポイントを追加して探索を強制すると、モデルは入力と出力の関係性を把握し、活用がはるかに興味深いものになります。
あなたの回答式を見ると、両者は大きく異なっていることがわかります。
- Y1には主効果と交互作用効果を持つモデルがあり、そのサイズはほぼ同じ(主効果がわずかに大きい)です。
- Y2は、主効果といくつかの大きな交互作用効果(X1*X3およびX2*X3)を含むモデルです。
- Y3は、大きな主効果といくつかの小さな交互作用効果を持つモデルです。
Y1とY3の数式形式は「標準的」であり、ガウス過程に容易に適合させることができる。
Y2 の場合、非常に大きな相互作用効果により、GP の適合がはるかに複雑になります。カーネル方程式には、点間の距離 ( ガウスカーネルの例を参照) と帯域幅 (または長さスケールとも呼ばれる) パラメータが含まれます。このパラメータは、各因子/次元について GP によって学習され、各因子の相対的な変化が応答にどのように影響するかを示します。しかし、距離計算 (ユークリッド距離) とこのパラメータの学習では次元が分離されているため、GP モデルは、強い相互作用に関与する各因子について適切な帯域幅/長さスケール パラメータを見つけるのに苦労します。これは、各因子が独立して応答にどのように影響するかを適切に評価できないためです。
実際には、非常に大きな相互作用効果が起こりうる同様の状況に直面した場合、加算カーネルまたは多項式カーネルの方が適しています。加算カーネルは1次、2次、3次などの効果を分離し、多項式カーネルは固定次数(この場合は2または3)に明示的に設定されるためです。
JMPベイズ最適化プラットフォームのオプションを考慮すると、MaxPro基準でより多くの探索ポイントを生成するようにプラットフォームに強制することをお勧めします。添付ファイルに、MaxPro基準で4回の新たな探索実行を強制した後、Maximize Expected Improvementオプションでプラットフォームを最適化させたテスト結果を示します。見つかった最適解は、あなたが得たものよりもあなたの目標に近いようです。
この回答がお役に立てば幸いです。
件名:ベイズ最適化問題ビクターさん、詳しい説明をありがとうございます。しかし、まだいくつか問題があります。
(1)Y2プロファイラは、Y2モデルが依然として非常に信頼性に欠けることを示している。(2)重要(!):ここでのアイソマーの最適設定はアイソマー2であり、DOE(実験計画法)の正しい解であるアイソマー1とは一致しない。
ベイジオンがここで苦戦している理由が理解しにくい。
件名:ベイズ最適化問題Y2のR2値は0.7に近いかそれ以上だったので、このモデルは非常に信頼性が低いとは言えないと思います。
ベイズ最適化は、必ずしもグローバル最適解(存在する場合)を提供するとは限りませんが、最適な解を提供します。
混合設計は最適化設計であり、カテゴリ別異性体因子は混合因子に比べて大きな影響を与えないため、異なる異性体(および異なる混合比)で他の解が得られる可能性があります。違いを理解するには、いくつかの説明が考えられます。例えば、同様に良好なパフォーマンスを示す複数の最適解が存在する、あるいはY2に追加されたノイズがGPモデルにとって最適解を「隠している」可能性があります。Y2式からノイズを除去して最適解が同じかどうかを確認したり、DoEのモデルでBO解がDoEのコンテキストで得られた最適解にどれだけ近いかを確認したりしてみてください。
この回答がお役に立てば幸いです。
件名:ベイズ最適化問題Profiler Y2は良くない。DOEモデルは素晴らしかった。
frankderuyck_0-1786094852833.pngfrankderuyck_0-1786094852833.pngfrankderuyck_0-1786094852833.pngfrankderuyck_0-1786094852833.png
件名:ベイズ最適化問題何度か追加実行を行った結果、ベイズ法は常に最適な異性体1の解を導き出すが、Y2プロファイラーの結果は依然として非常に曖昧なままである。
解は私が得たものとほぼ同じですが、私のY2 R²は0.52と低かったです。
件名:ベイズ最適化問題Y2プロファイラによると、-0.48 < Y2 < 1 が期待できるとのことですが、これは正しいでしょうか?この結果は無視して、R²だけを見れば良いのでしょうか?
件名:ベイズ最適化問題あなたのBOファイルを見て、JMP BOプラットフォームを開いたところ、R² = 0.7999で、Y2のプロファイラはそれほど悪くありませんでした。
Victor_G_0-1786175430051.pngVictor_G_0-1786175430051.pngVictor_G_0-1786175430051.pngVictor_G_0-1786175430051.png
私のBOファイルテストでも同じ結果が出ました:R² = 0.7321、プロファイラは問題ないようです。
Victor_G_1-1786175585108.pngVictor_G_1-1786175585108.pngVictor_G_1-1786175585108.pngVictor_G_1-1786175585108.png
では、どのプロファイラ、あるいはどのステップで「問題のある」予測プロファイラを表示しているのでしょうか?
予測の不確実性を減らすために、Maximize Multivariate Model Std Dev (バッチサイズが 1 より大きい場合は Maximize Bayesian Desirability Std Dev) を使用して実行回数を増やすことができます。これは役立ちますが、相互作用効果が非常に大きいこの極端なシナリオでは、相互作用効果を含めた DoE の多変量回帰とガウス過程が競合するのは困難です。「Overlaid Interactions」オプションを使用して、各モデルが相互作用をどのように処理するかを確認できます。最初の投稿で説明した制限のため、(DoE) 回帰モデルの相互作用トレースは、ガウス過程のものよりもはるかに「多様」であることがわかります。
- 回帰モデル:
Victor_G_2-1786175872322.pngVictor_G_2-1786175872322.pngVictor_G_2-1786175872322.pngVictor_G_2-1786175872322.png
- ガウス過程:
Victor_G_3-1786175927453.pngVictor_G_3-1786175927453.pngVictor_G_3-1786175927453.pngVictor_G_3-1786175927453.png
ガウス過程は、点の近接性に基づいて応答の挙動を補間するのに対し、回帰分析は特定の効果(主効果、交互作用効果など)を用いて現象を記述します。モデルの適合方法と「哲学」は異なります。回帰分析では検証すべきモデルを仮定するのに対し、ガウス過程では「実験しながらモデルを構築していく」のです。
ベイズ最適化プラットフォームを使用している場合でも、探索ポイントを追加してもGPモデルの適合に問題が生じる場合は、プラットフォームのK分割交差検証によるモデルスクリーニングを使用してより多くのモデルオプションを探索できます。回帰手法が最適なモデル適合オプションの上位に表示されることがわかります(以下は、データテーブルの最初の構築ポイントのみを使用した結果です)。
Victor_G_4-1786176393503.pngVictor_G_4-1786176393503.pngVictor_G_4-1786176393503.pngVictor_G_4-1786176393503.png
この回答が少しでもお役に立てば幸いです。
件名:ベイズ最適化問題不思議なことに、最後のBOテストをクリックすると、予測プロファイラの結果が異なり、グラフは同じです。
私はJMP 18 Proを使用していますが、バージョン19(おそらくあなたは最新のJMPバージョンを使用していると思いますが)は異なるのでしょうか?
frankderuyck_0-1786349462076.pngfrankderuyck_0-1786349462076.pngfrankderuyck_0-1786349462076.pngfrankderuyck_0-1786349462076.png
件名:ベイズ最適化問題それは奇妙ですね。実際の値と予測値のプロットを見ると、GPモデルがデータ内のパターンを学習しているように見えるので、同じプロファイラを使用しているはずです。
JMP BOプラットフォームでY2応答のみのモデルパネルを表示した場合、同じプロファイラー結果になりますか?
同じ問題が発生するかどうかを確認するために、「通常の」ガウス過程プラットフォームを使用してモデリングを試してみましたか?
メニューから(保存したスクリプトからではなく)プラットフォームを直接実行した場合と、スクリプトから実行した場合の両方を試しましたか?何か違いはありましたか?
最後に、JMP 19へのアップデートは可能でしょうか?
これらのアイデアのいくつかが、あなたの問題を解決できることを願っています。
件名:ベイズ最適化問題ビクターさん、こんにちは。JMP 18でご提案いただいた方法を試してみましたが、うまくいきませんでした。添付ファイルに、全24回のDOE実行結果に対するシェッフェモデルとガウスモデルの比較を示します。ガウスモデルはY1の適合性が低く、Y2の結果も非常に悪いです。Y3は許容範囲内です。これらのガウスモデルでは、プロファイラを使用して最適な混合設定を見つけることは不可能で、望ましさは0です。JMP 19ではより良い結果が得られますか?解決策が見つかることを願っています。ベイズ最適化を使いたいのですが、私のチームは懐疑的になっています。
件名:ベイズ最適化問題ガウス予測式による結果は非常に悪く、ジャックナイフ予測とは異なっています。
frankderuyck_0-1786435375218.pngfrankderuyck_0-1786435375218.pngfrankderuyck_0-1786435375218.pngfrankderuyck_0-1786435375218.png
私のベイズ最適化がうまくいかないのも無理はない。結果が非常に不安定で一貫性がない。
件名:ベイズ最適化問題JMP 19での結果が問題ない場合、何が変わったのでしょうか?
件名:ベイズ最適化問題JMP 19のBOプラットフォームをデフォルト設定で使用してみましたが、さまざまな応答に対するモデルは良好なようです。
Victor_G_0-1786477092346.pngVictor_G_0-1786477092346.pngVictor_G_0-1786477092346.pngVictor_G_0-1786477092346.png
JMP19のベイズ最適化プラットフォーム(ガウス過程モデル)から予測式とスクリプトをあなたの表に保存しました。
「基本的な」ガウス過程モデルに関しては、Y1については同様の結果が得られましたが、プラットフォーム起動時に「 ナゲットパラメータを推定する」オプションをチェックすることで、モデリングを改善できます。
Victor_G_1-1786477388650.pngVictor_G_1-1786477388650.pngVictor_G_1-1786477388650.pngVictor_G_1-1786477388650.png
応答変数Y1は他の変数よりもノイズが多いように見えるため、このオプションを使用すると、ガウス過程によるデータの完全な補間を回避できるため、モデリングが改善されます。モデルの予測値が測定値から大きく乖離している場合でも、モデルの結果ははるかに解釈しやすく、回帰モデルと類似したものになります。
Victor_G_2-1786477805428.pngVictor_G_2-1786477805428.pngVictor_G_2-1786477805428.pngVictor_G_2-1786477805428.png
また、分析と予測式を再実行するためのスクリプトも保存しましたので、あなたの表をご覧ください。
最後に、ガウス過程予測式とジャックナイフ予測式は異なります。JMP ヘルプの「予測値による実際のプロット」を参照してください。ジャックナイフ予測値は、除外された特定のX行の予測Y値ですが、ガウス過程モデルの予測値は、リーブワンアウト検証(ジャックナイフ法)で学習された各モデルの平均から得られます。
この回答がお役に立てば幸いです。
件名:ベイズ最適化問題OK、ビクター、ありがとう。JMP 19に切り替える必要があるのは明らかですね。JMP 18が動作しないのはなぜなのか、何が変わったのか疑問に思います。ところで、別のBOバッチを追加すると、私の18バージョンではエラーが発生し、それを無視すると、Y2予測は以前のように完全にぼやけた灰色になります。
frankderuyck_0-1786523679953.pngfrankderuyck_0-1786523679953.pngfrankderuyck_0-1786523679953.pngfrankderuyck_0-1786523679953.png
frankderuyck_1-1786523771369.pngfrankderuyck_1-1786523771369.pngfrankderuyck_1-1786523771369.pngfrankderuyck_1-1786523771369.png
添付の初期DOE(実験計画法)に基づき、12回の実験からなるコワルスキーモデルを用いて、このベイズ最適化を実行していただけますか?
件名:ベイズ最適化問題こんにちは、 @frankderuyck さん、
興味本位でお聞きしますが、JMP 18 のどこでベイズ最適化にアクセスできますか?ベイズ最適化は JMP 19 で初めて導入されました: https://www.jmp.com/en/software/new-release/new-in-jmp
最高
フロリアン
件名:ベイズ最適化問題申し訳ありません、私の間違いでした。私はバージョン19.0.1を使用しています。
frankderuyck_0-1786550520590.pngfrankderuyck_0-1786550520590.pngfrankderuyck_0-1786550520590.pngfrankderuyck_0-1786550520590.png
件名:ベイズ最適化問題では、なぜ私の結果はビクターの結果と異なるのでしょうか?
件名:ベイズ最適化問題おはようございます、@frankderuyck さん、 @Victor_G さん。
最新リリースに含まれるいくつかの改善点によって問題が解決されたことを確認しました。
JMP 19.1.4より前:
Florian_Vogt_0-1786605432509.pngFlorian_Vogt_0-1786605432509.pngFlorian_Vogt_0-1786605432509.pngFlorian_Vogt_0-1786605432509.png
JMP 19.1.4(現在の最新リリース)の場合:
Florian_Vogt_1-1786605459011.pngFlorian_Vogt_1-1786605459011.pngFlorian_Vogt_1-1786605459011.pngFlorian_Vogt_1-1786605459011.png
最新バージョンへのアップデートには、プラットフォームの改善が含まれており、より良い結果が得られます(ビクターが示したように)。
最高
フロリアン
件名:ベイズ最適化問題フロリアンさん、ありがとうございます。最新バージョンにアップグレードするにはどうすればいいですか?
件名:ベイズ最適化問題あなたが共有してくれたこの画面で、「アップデートを確認」(左側の青い文字)をクリックしてください。ウィンドウが開き、更新版をダウンロードするためのリンクが表示されます。
@Florian_Vogt さん、情報ありがとうございます。19.1.x のリリースノートは詳細さに欠けるため、BO プラットフォームのアルゴリズムや計算に何らかの変更があったかどうかを確認できません。https: //community.jmp.com/t5/JMP-Knowledge-Base/JMP-New-Features-and-Release-Notes/ta-p/575202
件名:ベイズ最適化問題
Florian_Vogt_0-1786610753240.pngFlorian_Vogt_0-1786610753240.pngFlorian_Vogt_0-1786610753240.pngFlorian_Vogt_0-1786610753240.png
件名:ベイズ最適化問題Victor と Florian さん、アドバイスありがとうございました。JMP を最新バージョンにアップグレードしたところ、添付ファイルのようにようやく良い結果が得られました。ただ、いくつかバッチ処理を行った後、追加した理由が「最大期待改善」で止まってしまうように見えるのですが、複製に切り替わらないため最適解が見つからないようです。これは正しいでしょうか?しかし、最後のバッチを最適化すると最適な結果が得られますが、最初の最大改善の後ではそうではありません。回帰モデルが正常になったとき、最適化に進むには最大期待改善を何回実行すればよいのでしょうか?ガウス分布で最も重要な指標は何でしょうか?
frankderuyck_0-1786694503916.pngfrankderuyck_0-1786694503916.pngfrankderuyck_0-1786694503916.pngfrankderuyck_0-1786694503916.png
件名:ベイズ最適化問題こんにちは、 @frankderuyck さん。
実際には行き詰まっているわけではありません。3つの応答を持つ最適化タスクがあり、3つの目標を達成しようとしています。改善の余地がまだあると認識しているため、改善を試み続けます。これは望ましさ実行チャートにも示されており、達成された望ましさは依然として向上しています。実行を要求し続けると、最終的には現在の最良の結果を再現しようとします。
Florian_Vogt_0-1787142341723.pngFlorian_Vogt_0-1787142341723.pngFlorian_Vogt_0-1787142341723.pngFlorian_Vogt_0-1787142341723.png
停止するタイミングを一概に決めるのは難しいですが、率直に言って、目標が達成されたと感じた時、つまりいつでも停止できます。BayesOptは、データに応じて結果を最適化し検証します(「最良のトレーニング実行を再現」)。
お役に立てば幸いです!
フロリアン
件名:ベイズ最適化問題最後の行は最適な設定ではないようですので、モデル概要と最大望ましさを確認する必要があるのですよね?プロファイラにシミュレータがないことが分かります。予測式を保存して「グラフ」>「プロファイラ」に移動しても機能せず、空白のプロファイラシートが表示されます。最適化された設定でランダムノイズを使用してシミュレーションを実行し、機能を確認するにはどうすればよいですか?
件名:ベイズ最適化問題添付ファイル参照の 10 回の高速フレキシブル空間充填 DOE から始めると、12 回の Kowalski 開始や 24 回の Sheffé モデル (最初の投稿参照) とは異なる結果が得られます。X1、X2、X3 の最適設定はほぼ同じですが、空間充填では、結果として異性体 1 ではなく異性体 2 が得られます。異性体 2 と同様に、Scheffé と 12 回の Kowalski 開始では望ましさが劣ります。10 回の空間充填から始めるのは適切ではないと思います。実行回数が少なすぎますか? ベイズ最適化の許容可能な開始 DOE の基準はありますか?
件名:ベイズ最適化問題問題は、空間充填型実験計画法では3つの異性体全体にわたってバランスの取れたカバレッジが得られないことだと思います。また、異性体ごとの散布図を見ても、カバレッジはあまり良くありません。カテゴリカル効果がある場合、空間充填型実験計画法を選択する際には、これは重要な注意点ですよね?