目的変数にカテゴリ変数を含む際のベイズ最適化

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

目標とする y を持つ分子・材料・プロセスの設計に、ベイズ最適化が使われます。

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

 

ベイズ最適化をする場合、y が複数であったとしても、基本的にどれも連続値を取る y が使用されます。

一方で、分子・材料・プロセスに求められることとして、y の中に非連続値を持つ変数、カテゴリ変数を含むこともあります。例えば、ゲル化するかしないか、沈殿するかしないか、構造の種類、配列の種類などです。

このような場合、カテゴリ変数の y はそれぞれクラス分類モデルを構築すると良いでしょう。

次の実験条件をベイズ最適化で探索する際は、最初に仮想サンプルを大量に(100万個など)生成した後に、それらをまずクラス分類モデルに入力してクラスを予測します。その後、予測されたクラスが望ましいクラスとなる仮想サンプルのみを選択します。例えばここで、元々100万個あったサンプルが30万サンプルに減少するようなイメージです。

ここで選択されたサンプルのみ、連続値の y で構築されたガウス過程回帰モデルに入力し、y の値およびその分散を予測し、獲得関数を計算し、獲得関数の値が大きいサンプルを選択します。このようにすることで、カテゴリ変数の y も所望の結果となりつつ、連続変数の y が目標となる確率の高い仮想サンプルを選択できます。

大量にサンプルを生成して予測するのではなく、例えば遺伝的アルゴリズムで仮想サンプルを探索する場合についてです。遺伝的アルゴリズムにおける適合度を計算する際に、クラス分類モデルで誤ったクラスと予測された時に、獲得関数の計算を省略して適合度を非常に小さい値にすることで、カテゴリ変数の y が所望の結果となりつつ、連続変数の y が目標となる確率の高い仮想サンプルを生成できます。

以上のように、y にカテゴリ変数を含む場合でもベイズ最適化を適用できますので、ぜひご検討ください。

 

以上です。

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

 

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