一般的なモデルの逆解析とベイズ最適化を使い分けるために、両者の特徴や違いを説明します

モデルの逆解析 (Inverse Analysis) について、

回帰モデル・クラス分類モデルの逆解析~目標のY(物性・活性など)を達成するためのX(説明変数・記述子・特徴量・パラメータ・入力変数)とは?~
回帰モデルやクラス分類モデルが得られたあとの話です。 よくやるのは、説明変数 (記述子・特徴量・パラメータ・入力変数) X の値を回帰モデルやクラス分類モデルに入力して、目的変数 Y の値を推定することです。これをモデルの順解析とよびます。...

 

ベイズ最適化 (Bayesian Optimization, BO) と一緒にお話しいたします。

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

 

データセットがあるとき、いろいろな回帰手法を検討して、推定精度の最も高い回帰モデルを選びます。そのモデルの適用範囲 (Applicability Domain, AD) を設定してから、

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

 

モデルを使用します。つまり、AD 内の説明変数 x の値をモデルに入力し、目的変数 y の値を推定します。

たとえばモデルの逆解析では、y の値が目標の範囲内になるような、x の値の組み合わせを獲得しようとします。モデルの逆解析を達成するための、一つのやり方として、順解析を繰り返す方法があります。x の値の組み合わせの候補を多数準備して、それらをモデルに入力して y の値を推定し、AD と一緒に y の推定値を議論します。

議論の仕方の一つは、AD 的に信頼度の高い順に、y の推定値が目標範囲に入る x の候補を選択することであり (一般的なモデルの逆解析)、もう一つがベイズ最適化 (Bayesian Optimization, BO) です。BO でも一般的なモデルの逆解析と同じで、AD を考慮して x の候補を選択します。ただし、AD 外の x の候補が選択されることもあります。

x の値をモデルに入力して y の値が推定されたとき、たとえ x の値が AD 内でも、y の推定値はあくまで “推定” された値なので、実際の値を検証する必要があります。たとえば x が何らかの実験条件であり、y が実験の結果であるとき、x の値で実験して、その結果としての y の値を検証します。

BO で前提としているのは、そのような実験 (実際の y の値を検証すること) を繰り返し行うことです。ある x と y のデータセットがあったときに、BO で y の値が目標を達成する可能性がもっとも高い x の値の候補を選択し (BO の獲得関数によって、いろいろな選び方があります)、y の値を検証して目標を達成できなかったら、その新たな x と y の組をデータセットに追加して、再度 BO により x の値の候補を選択し、といったことを繰り返します。

この繰り返し回数が、BO では一般的なモデルの逆解析と比べて小さくなります。そのため、たとえば繰り返し実験をする回数を減らしたく、そのような実験が可能な環境があるのであれば、BO を使うのがよいと思います。

ただし、そのような目的ではないとき、一般的なモデルの逆解析で攻めるか、BO をするかは判断が分かれるところです。データ解析の目的やモデルを用いた何らかの設計でやりたいことと、モデルの逆解析で可能なことや BO における各獲得関数の目的を考慮して、決めるとよいでしょう。

構築されたモデルを詳細に解析しながら x の設計をしたいとき、たとえば x の値をいろいろと変化させてモデルに入力し、y の推定値がどう変わるかを検証して、モデルの x に対する感度も確認しながら x の設計をしたいときは、BO ではなく y の推定値を使ったモデルの逆解析のほうがよいです。BO では獲得関数により、y の推定値が確率や期待値のような値になってしまうため、x の値を変化させたときの y の推定値の変化は追えません。

回帰モデルの推定性能も考慮したほうがよいですね。BO では基本的に回帰モデル構築手法はガウス過程回帰 (Gaussian Process Regression, GPR) になります。

ガウス過程回帰(Gaussian Process Regression, GPR)~予測値だけでなく予測値のばらつきも計算できる!~
ガウス過程による回帰(Gaussian Process Regression, GPR)について、pdfとパワーポイントの資料を作成しました。データセットが与えられたときに、GPRで何ができるか、GPRをどのように計算するかが説明されていま...

 

GPR でいくらカーネルを設計しても、

[デモのプログラムあり] ガウス過程回帰(Gaussian Process Regression, GPR)におけるカーネル関数を11個の中から最適化する (scikit-learn)
こちらのガウス過程による回帰 (Gaussian Process Regression, GPR) において、カーネル関数をどうするか、というお話です。 そもそも GPR のカーネル関数はサポートベクター回帰 (Support Vector...

 

他の回帰分析手法と比べて、推定性能の低いモデルしか構築できないとき、BO ではなく GPR 以外の回帰分析手法を用いた一般的なモデルの逆解析のほうがよい可能性があります。

 

以上です。

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

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