ベイズ最適化で次の実験条件を取得するWEBアプリ

はじめに

機械学習ではハイパーパラメータチューニングに利用されるベイズ最適化ですが、最近では実験の効率化のために利用されるケースも増えてきています。 www.jst.go.jp

本記事では既に得られている実験データから、ベイズ最適化により次の実験条件を取得するアプリケーションを紹介します。

WEBアプリ

以下のURLから利用できます。

https://r-m-kohei-streamlit-bayesianoptimization-a-streamlit-app-lvwbbc.streamlitapp.com/

実装

今回はStreamlitでWEBアプリを実装しました。StreamlitによりPythonで簡単にWEBアプリを作成することができます。 streamlit.io

使い方

1. Dataset

事前に得られているデータセット(実験結果や計算結果)をアップロードします。説明変数と目的変数を含むcsvファイルをアップロードしてください。

例)

説明変数:材料Aの配合比、材料Bの配合比、温度条件、圧力...のような実験条件

目的変数:密度、引張強度、透過率...のような特性

2. Setting of X

説明変数の設定を行います。説明変数の列名を選択してください。選択後、各説明変数について上限値、下限値を設定してください。

3. Setting of Y

目的変数の設定を行います。目的変数の列名を選択してください。選択後、各目的変数について以下の選択肢から要件に合うように選んでください。

Maximization : 目的変数の最大値を探索します。

Minimization : 目的変数の最小値を探索します。

Range : 目的変数がある範囲に収まるような条件を探索します。この設定を利用する場合には範囲を指定してください。

4. Acquisition function

獲得関数(Acquisition function)の設定を行います。

5. Get the next condition

ベイズ最適化により次の実験条件を取得します。Performをクリックし、しばらくすると「Next condition」として出力されます。