| name | scientific-process-optimization |
| description | 応答曲面法(ML-RSM)とパレート多目的最適化のスキル。プロセスパラメータの最適条件探索、
コンターマップ、プロセスウィンドウ可視化を行う際に使用。
Scientific Skills Exp-12, 13 で確立したパターン。
|
| tu_tools | [{"key":"biotools","name":"bio.tools","description":"プロセス最適化ツール検索"}] |
Scientific Process Optimization (RSM & Pareto)
機械学習ベースの応答曲面法(ML-Response Surface Methodology)と
多目的パレート最適化を用いて、プロセスパラメータの最適条件を探索するスキル。
半導体プロセス(エッチング、成膜)や材料合成の最適化に適用。
When to Use
- プロセスパラメータの最適条件を探索したいとき
- 2 変数の応答曲面(コンターマップ)を可視化したいとき
- 複数の目的関数間のトレードオフを分析したいとき
- パレート最適解(非劣解集合)を求めたいとき
Quick Start
標準パイプライン
1. ML ベース応答曲面(コンターマップ)
import numpy as np
import matplotlib.pyplot as plt
from sklearn.ensemble import GradientBoostingRegressor
def response_surface_2d(model, X_train, feature_names,
var1_name, var2_name, target_name,
fixed_values=None, resolution=50, figsize=(8, 7)):
"""
学習済みモデルを用いて 2 変数の応答曲面を描画する。
他の変数は中央値(または fixed_values で指定)に固定。
"""
var1_idx = list(feature_names).index(var1_name)
var2_idx = (feature_names).index(var2_name)
fixed_values :
fixed_values = np.median(X_train, axis=)
:
fixed_values = np.array(fixed_values)
v1_range = np.linspace(X_train[:, var1_idx].(),
X_train[:, var1_idx].(), resolution)
v2_range = np.linspace(X_train[:, var2_idx].(),
X_train[:, var2_idx].(), resolution)
V1, V2 = np.meshgrid(v1_range, v2_range)
X_grid = np.tile(fixed_values, (resolution * resolution, ))
X_grid[:, var1_idx] = V1.ravel()
X_grid[:, var2_idx] = V2.ravel()
Z = model.predict(X_grid).reshape(V1.shape)
fig, ax = plt.subplots(figsize=figsize)
cf = ax.contourf(V1, V2, Z, levels=, cmap=)
cs = ax.contour(V1, V2, Z, levels=, colors=, linewidths=, alpha=)
ax.clabel(cs, inline=, fontsize=, fmt=)
plt.colorbar(cf, ax=ax, label=target_name)
ax.set_xlabel(var1_name)
ax.set_ylabel(var2_name)
ax.set_title(, fontweight=)
plt.tight_layout()
plt.savefig(,
dpi=, bbox_inches=)
plt.close()
V1, V2, Z