守りの AD 攻めの BO (AD: モデルの適用範囲、BO: ベイズ最適化)

シェアする

分子設計でも材料設計でもプロセス設計でも、説明変数 X と目的変数 Y のそろったデータセットを準備して、X と Y の間でモデル Y = f(X) を構築します。構築したモデルを用いて、Y が目標の値となるような X の候補を設計します。多くの場合では、X のサンプル候補をたくさん (100 万個など) 生成して、それらをモデルに入力して Y の値を予測します。ベイズ最適化 (Bayesian Optimization, BO) では、獲得関数の値を計算します。

ベイズ最適化(Bayesian Optimization, BO)~実験計画法で使ったり、ハイパーパラメータを最適化したり~
ガウス過程による回帰をうまく使って、実験計画法における新しい実験候補を探索したり、回帰モデルやクラス分類モデルのハイパーパラメータ (学習で...

予測値や獲得関数の値が望ましい値となるような、X の候補を選択して、それで実験します。

モデルを利用するときには、モデルの適用範囲 (Applicability Domain, AD) が重要という話をしました。

モデルの適用範囲・モデルの適用領域 (Applicability Domain, AD) ~回帰モデル・クラス分類モデルを使うとき必須となる概念~
今回は、モデルの適用範囲・モデルの適用領域 (Applicability Domain, AD) についてです。AD は回帰モデル・クラス分...

モデルには本来の予測性能を発揮できるデータ領域があり、それを AD としてあらかじめ設定します。X のサンプルが AD 内であれば、その Y の予測値は信頼でき、AD 外であれば、その予測値は信頼できない、というわけです。

AD の設定方法はいろいろあります。トレーニングデータの中心からの距離とか、データ密度とか、予測値の標準偏差を計算する方法とかです。トレーニングデータの中心からの距離が ある値以下を AD 内と設定したり、データ密度の値が ある値以上を AD 内としたり、予測値±標準偏差内 (予測値±2×標準偏差や予測値±3×標準偏差とかも) を実際の値の範囲と設定したりです。

AD を設定することは、モデルの守備範囲を決めることです。守りを固めることで、AD の範囲内であればモデルが機能することがわかりますので、その範囲内で分子設計・材料設計・プロセス設計をしたり、ソフトセンサーだったら予測値を信頼したりします。

一方で、守っているだけでは、らちが明かない場合もあると思います。材料の目標値がとても高いところにあり、AD 内では目ぼしい設計ができないこともあるでしょう。

攻めに転じる必要があります。ここで活用できるのが BO です。

ベイズ最適化(Bayesian Optimization, BO)~実験計画法で使ったり、ハイパーパラメータを最適化したり~
ガウス過程による回帰をうまく使って、実験計画法における新しい実験候補を探索したり、回帰モデルやクラス分類モデルのハイパーパラメータ (学習で...

AD の考え方と BO を比較しますと、AD では予測値の標準偏差を、その範囲内で実測値が得られる可能性が高いといったように、標準偏差が小さい方がよいという使われ方をします、ベイズ最適化では逆に、標準偏差が大きい X のサンプルが選ばれる傾向が強いです。AD の外を選択する、という感じです。もちろん AD の外は非常に広いですので、その中でもどこが Y の目標を達成できる確率が高そうか、といったことを BO では計算しています。

BO では攻めの分子設計・材料設計・プロセス設計を行える一方で、実測値が実測値から外れる可能性も高いです。そのため、こちらでも書いていますように、BO では繰り返し実験をすることが前提になります。

ベイズ最適化で期待できること
材料の活性・物性・特性は、化学構造だけで変化するものではなく、材料の作り方、つまり実験条件や製造条件によっても変化します。例えば高分子設計に...

守りの AD 攻めの BO をうまく使い分けるとよいと思います。

以上です。

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

シェアする

フォローする