Validation 要素は、パイプライン前段で生成されたパラメータを使って objectives に列挙された実験をシミュレートし、測定データと比較します。フィットしたデータ範囲外への汎化性能を確認するための要素です。
最小構成の検証
summary_stats を省略すると、測定データと同じ物理単位で報告されるよう適切なデフォルトが補われます。
Validation.objectives は DataFit.objectives と同じ type ベースの判別共用体で検証されます。未知の objective 型、判別キーの欠落や競合、未知の内部キー、辞書でもインスタンスでもない値(例: {"bad": "RMSE"})は送信時に拒否されます。ルールと例の全容は 目的関数 (objective) の厳密な検証を参照してください。検証結果の取得
element_results には目的関数ごとの集約統計量が格納されます。
get_element_metadata で取得します。
"validate")はパイプラインの elements dict で指定したキーです。"validate_pristine" と "validate_aged" のように複数の検証要素を 1 つのパイプラインで実行できます。
検証プロットに対応しない目的関数
一部の目的関数(代表例はiws.objectives.Pulse などの特徴量抽出系の目的関数)は、時系列の検証プロットを生成しません。フィット時に比較対象となる「測定値」が連続したトレースではなく、派生特徴量(パルス抵抗、フィットした傾きなど)であるためです。
このような目的関数に対して検証ステップを実行すると、検証要素の結果がプロットデータの代わりに、トップレベルに validation_not_supported フラグを持つフラットな辞書として返ります(目的関数ごとのエントリではなく、要素全体が対象です)。
フィット後の検証
フィットと検証を同じパイプライン内に置くと、パラメータが自動的に共有されます。fit の最適パラメータを受け取り、保留した実験に対して走らせます。
Ionworks Studio での検証プロットの確認
検証およびデータフィットの結果は、Ionworks Studio Web アプリ上で対話的なプロットとして表示されます。プロットは以下の操作に対応しています。- ズーム: クリック&ドラッグで領域を拡大
- パン: Shift を押しながらドラッグで移動
- リセット: ダブルクリックで表示をリセット
- ホバー: カーソルを当てて値を確認
この挙動は
Validation 要素と、DataFit 要素が生成する検証プロットの両方に適用されます。トレースデータとプロットごとのレイアウトは element_results とは別に保存され、SDK からは client.pipeline.get_element_metadata(submission_id, element_name) で同じペイロードを取得できます。パイプライン概要
検証が直接エントリ・計算・データフィットとどう連結するか。
データフィッティング概要
検証対象となるパラメータの生成方法。