多目的最適化におけるベイズ最適化において、目的変数の予測値を制約条件として用いる

分子設計・材料設計・プロセス設計・プロセス管理において、分子記述子・実験条件・合成条件・製造条件・評価条件・プロセス条件・プロセス変数などの特徴量 x と分子・材料の物性・活性・特性や製品の品質などの目的変数 y との間で数理モデル y = f(x) を構築し、構築したモデルに x の値を入力して y の値を予測したり、y が目標値となる x の値を設計したりします。

y の目標値がまだ遠い時には、ベイズ最適化によって次の x の候補の設計と実験等を繰り返し行うことによって、y の目標値を達成する分子・材料・プロセスを実現する x を探索します。

[無料公開] 「Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析」 の “まえがき”、目次の詳細、第1・2章
2021 年 6 月 3 日に、金子弘昌著の「Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析」が出版されました。講談社: Amazon: Amazon(Kindle): === 出版して約2年経過した 2023 年 4 月 ...

 

y が複数ある多目的最適化の時には、獲得関数を工夫することで対応可能です。

目的変数が複数のときに実験計画法のベイズ最適化(Bayesian Optimization, BO)が対応!
実験計画法やベイズ最適化 (Bayesian Optimization, BO) についてはこちらに書いたとおりです。Python コードもあります。今回は実験計画法の BO について目的変数が複数のときに対応しましたので報告します。プログ...
ベイズ最適化で複数の目的変数がある場合の対応[Probability of Improvement(PI)以外]
適応的実験計画法により、高機能性材料を達成するための実験条件・製造条件を探索したり、高性能プロセスを開発するためのプロセス条件を探索したりするとき、ベイズ最適化を用いることで効率的に外挿を探索しながら目標達成を目指すことができます。設計問題...
[無料公開] 「化学・化学工学のための実践データサイエンス―Pythonによるデータ解析・機械学習―」 の “まえがき”、目次、第1・2章
2022 年 10 月 5 日に、金子弘昌著の「化学・化学工学のための実践データサイエンス―Pythonによるデータ解析・機械学習―」が出版されました。朝倉書店: Amazon: これまで他に、三冊の本 「化学のための Pythonによるデ...

 

y が複数ある中で、y ごとに目標値への到達度や到達のしやすさが異なることもあります。ある y について目標値に到達するのは簡単で、すでに目標値に到達していたり、x を少し調整するだけで簡単に目標値を達成できたりする状況です。この時に獲得関数として、例えば y ごとに目標範囲に入る確率を掛け算した値 (の対数値) を用いると、その獲得関数の値が大きい x の候補というのは、目標値を簡単に達成可能な y の確率を重視する候補 (この確率が 1 の候補) ばかりが選ばれてしまい、他の y の確率を上げられる x が設計されないこともあります。

この際、もちろん y ごとに重みを与えて (簡単な y には小さい重み、困難な y には大きな重み)、獲得関数を計算することもできますが、適切な重みを決める必要があり、重みの決定はケースバイケースで試行錯誤や経験が重要になってきます。

そこで、目標値を簡単に達成可能な y については獲得関数の計算から外すことを考えます。簡単な y については、x の多くの候補で目標値を達成できると考えられますので、まずたくさんの x の候補から簡単な y を予測し、予測値が目標を達成している x の候補のみ選択します。もちろん、ここで y の予測値の分散も考慮することも考えられますが、y はこれだけではなく、むしろ目標達成が困難な y が後に控えていますので、ここでは x の候補の多様性を考えて、y の予測値を制約条件として用いて、予測値が目標値に入っている x の候補を全て選択します。

ここで選択された x の候補に対して、それ以外の y で (予測値の分散も考慮した) 獲得関数を計算し、獲得関数の値が大きい x の候補を最終候補とします。このようにすることで簡単な y に対してはそれを満たすと考えられる x の候補群を確保でき、さらに他の y を達成する確率の高い x の候補を選択できます。

ベイズ最適化で多目的最適化を行う場合はぜひご検討ください。

 

以上です。

質問やコメントなどありましたら、X, facebook, メールなどでご連絡いただけるとうれしいです。

タイトルとURLをコピーしました