ASCMO-STATICのモデルタイプ

ASCMO-STATICのモデルには以下のタイプがあります。

Advanced Settings オプションがオンの状態(File > Options > Advanced Settings)においては、さらに以下のタイプも使用できます。

注記 

すべてのモデルタイプの概要とそれらの最適な使用法は、概要:モデルタイプの説明を参照してください。

No Model ー モデルを使用しない

測定データのみが表示されます。

ASC GP Model ー ASC GPモデル

ASCMO Gaussian Process(ASC GP)モデルタイプは、15個の入力に対してトレーニングデータが4000個までのデータセットに使用することができます。これはデフォルトのモデルタイプです。トレーニング時間とメモリ消費量は、特にデータポイントの数に応じて変化します。データポイントの量がさらに多い場合は、他のモデルタイプの方が適している場合があります。

以下のモデルパラメータを設定できます:

Automatic Transformation

モデルのトレーニング時に、自動的に最適なBox-Cox変換が決定されるようにしたい場合は、このチェックボックスをオンにします。

Output Transformation

出力の変換タイプを選択します。変換を利用することによりモデル予測を改善できます。トレーニングデータの値に負またはゼロが含まれる場合、一部の変換は使用不可となります。

以下から選択できます:

  • none - 変換なし
  • 1/y - 反転
  • 1/sqrt(y) 平方根の逆数
  • log(y) - 対数
  • sqrt(y) - 平方根
  • Bounded:上下限値内に制限されます。

    Edit をクリックして自動的に選択された上下限値を開く表示、または手動で下限値と上限値を定義することができます。これらを手動で定義するには、Automatic チェックボックスをオフにします。上下限値はトレーニングデータの範囲内である必要があります。

  • log(y+c):対数 + 定数

    Edit をクリックして自動的に選択された対数シフトを開く表示、または手動でシフト値を定義することができます。これを手動で定義するには、Automatic チェックボックスをオフにします。

Advanced

Advanced Settings がオン(File > Options > Advanced Settings)になっていると、出力のモデルトレーニングについてさらに詳細なパラメータを設定することができます。

開くASC GPモデルの詳細パラメータ

Number of Iterations

モデルトレーニングにおいて実施する反復回数を入力します。検証データで10回反復してもモデル性能が向上しない場合、トレーニングは中止されます。ディープラーニングにおいて、これはよく「エポック数」と呼ばれます。

Number of Multistarts

異なる開始値で行う反復の回数を入力します。値が大きいとモデル品質が向上しますが、モデルトレーニングの所要時間が長くなります。デフォルトは3です。

Plot Likelihood

このオプションをオンにすると、モデリング時に、対数尤度関数とLeave-One-Out誤差の値がランの関数として開く表示されます

Max No. of Basis Functions

モデルトレーニングの基底関数の最大数を入力します。値が大きいとモデル品質が向上しますが、モデルトレーニングの所要時間が長くなります。デフォルトは4000です。トレーニングデータポイントとサブセットサイズのどちらか小さい方の値が、モデルの基底関数の数として使用されます。さらに多くのトレーニングデータポイントが使用可能な場合は、すべてのデータがトレーニングに使用されますが、結果のモデルは4000個の基底関数に制限されます。この場合は少し異なるトレーニングアルゴリズムが使用されますが、モデルの予測は同じ方法で行われます。

Sparse Subset Selection Method

"Max No. of Basis Functions" を超えるデータポイントがある場合に、トレーニングデータポイントを予備のサブセットに削減するために使用する方法を選択します。

  • Random(デフォルト):特定の選択基準を持たないサブセットのランダム選択。

  • GP-SCS like を選択すると、ガウスプロセス回帰を使用して、予測性能への影響に基き、関連するフィーチャーをサブセットに反復的に追加します。

Kernel

モデルトレーニングに使用されるカーネル関数を選択します。

  • Squared Exponential (ARD)(デフォルト):よりソフトなカーブ特性値を使用します。

  • Matern (ARD) は、よりハードなカーブ特性値でモデルのトレーニングを行います。強い非線形効果をよりシャープに、少ないノイズで解像することができます。これは過剰適合(オーバーフィッティング)を招く可能性があります。

Automatic Noise

ノイズレベルパラメータの最適化を自動的に行いたい場合は、これをオンにします。

Noise Level

許容される最大ノイズレベルの値を入力します。このフィールドは、"Automatic Noise" チェックボックスがオフになっている場合のみ使用できます。

Lower Bound Noise

ノイズレベルパラメータの最小値を入力します。このフィールドは、"Automatic Noise" チェックボックスがオンになっている場合のみ使用できます。

Linear Extrapolation

データの基礎的傾向を学習し、測定領域外にその傾向を示すリニアモデルを使用したい場合は、オンにします。

Modeling Criterion

モデルトレーニングに使用されるモデリング目標を選択します。

  • Default:likelihoodに基づきます。

  • Relative Error:誤差を実際の値で割った商((測定データ - 予測データ) / 測定データ * 100)です。最適化の実行中は開く可視化ウィンドウがポップアップ表示され、ここで手動で最適化を停止してその時点までの最良の結果を使用することができます。

Input Length Scale Squared

Editをクリックすると、開くInput Length Scale Squared ウィンドウが開きます。ここで各入力のハイパーパラメータを編集することができます。Automatic をオンにすると、その入力に対して適切なハイパーパラメータが自動設定されます。オフにすると、任意の値を入力することができます。入力のサイズに関するハイパーパラメータの値は、ガウス分布のベルカーブのコア幅です。長さのスケールは以下の式のrであるため、値が小さい方が関連性が高くなります:

関連性は、Relevance of Inputs (ASCMO-STATIC)にグラフィカルに表示することができます。

MLP Model ー MLPモデル

Bosch ECU用フラットバッファフォーマットにエクスポートすることができるMLP(Multilayer Perceptron:多層パーセプトロン)モデルです。

以下のパラメータ設定が行えます。

Automatic Transformation

モデルのトレーニング時に、自動的に最適なBox-Cox変換が決定されるようにしたい場合は、このチェックボックスをオンにします。

Output Transformation

出力の変換タイプを選択します。変換を利用することによりモデル予測を改善できます。トレーニングデータの値に負またはゼロが含まれる場合、一部の変換は使用不可となります。

以下から選択できます:

  • none - 変換なし
  • 1/y - 反転
  • 1/sqrt(y) 平方根の逆数
  • log(y) - 対数
  • sqrt(y) - 平方根
  • Bounded:上下限値内に制限されます。

    Edit をクリックして自動的に選択された上下限値を開く表示、または手動で下限値と上限値を定義することができます。これらを手動で定義するには、Automatic チェックボックスをオフにします。上下限値はトレーニングデータの範囲内である必要があります。

  • log(y+c):対数 + 定数

    Edit をクリックして自動的に選択された対数シフトを開く表示、または手動でシフト値を定義することができます。これを手動で定義するには、Automatic チェックボックスをオフにします。

Iterations

モデルトレーニングにおいて実施する反復回数を入力します。検証データで10回反復してもモデル性能が向上しない場合、トレーニングは中止されます。ディープラーニングにおいて、これはよく「エポック数」と呼ばれます。

Multistart

モデルトレーニング実行中に異なる開始値でオプティマイザを実行する回数を入力します。値が大きいほど最適なモデルが見つかる確率が上がりますが、所要時間が長くなります。

Validations Ratio [%]

トレーニングデータからランダムに選択される検証サンプルの相対数(単位:%)を入力します。

Use Test Data as Validation Data

テストデータを検証データとして使用したい場合は、チェックボックスをオンにします。

Continue Training

新しいトレーニングを開始する代わりに、可能であれば既存のモデルトレーニングと反復を続行するには、このオプションをオンにします。Training Properties を変更して続行することができます。たとえば、複雑な活性化関数でトレーニングした後、ECUにとってより効率的な関数に切り替え、シームレスにトレーニングを続けることができます。

Layers

多層パーセプトロンの層を設定します。常に1つ以上(通常は1~3)の隠れ層と1つの出力層が存在します。

リストから活性化関数を選択します。

  • Linear: y = x

  • ReLU: y = max(0, x)

  • LeakyReLU: y = max(0.01 * x, x)

  • Sigmoid: y = 1 / (1 + exp(-x))

  • PrecTanh: y = 2 / (1 + exp(-2 * x)) - 1

  • Elliotsig: y = x / (1 + abs(x))

Insert:クリックして隠れ層を挿入します。

Delete:選択されている1つまたは複数の層を削除します。

Polynom Model ー 多項式モデル

注記 

File > Options > Advanced Settings で高度な設定が有効になっている場合にのみ使用できるモデルです(参照:高度な設定を有効にする

Polynom モデルでは以下のパラメータ設定が行えます:

Automatic Transformation

モデルのトレーニング時に、自動的に最適なBox-Cox変換が決定されるようにしたい場合は、このチェックボックスをオンにします。

Output Transformation

出力の変換タイプを選択します。変換を利用することによりモデル予測を改善できます。トレーニングデータの値に負またはゼロが含まれる場合、一部の変換は使用不可となります。

以下から選択できます:

  • none - 変換なし
  • 1/y - 反転
  • 1/sqrt(y) 平方根の逆数
  • log(y) - 対数
  • sqrt(y) - 平方根
  • Bounded:上下限値内に制限されます。

    Edit をクリックして自動的に選択された上下限値を開く表示、または手動で下限値と上限値を定義することができます。これらを手動で定義するには、Automatic チェックボックスをオフにします。上下限値はトレーニングデータの範囲内である必要があります。

  • log(y+c):対数 + 定数

    Edit をクリックして自動的に選択された対数シフトを開く表示、または手動でシフト値を定義することができます。これを手動で定義するには、Automatic チェックボックスをオフにします。

Interaction 1/2

  • 以下のような一次相関:

    xi * xji != j であること)

  • 以下のような二次相関

    xi * xj * xki=j も可)

Order

多項式の最大次数。

純粋項 xin

Stepwise Regression

このオプションがオンになっていると、回帰モデルが段階的に構築されます。ここには5%未満のp値(有意レベル)を持つ各項が順に含まれます。新しい項を含めると、すでに含まれている項の有意レベルが変わる可能性があります。p値が10%より高い項は、除去されます。このメソッドは変数増減法(Forward Selection Method)とも呼ばれます。

ASC Compressed Model ー ASC圧縮モデル

注記 

File > Options > Advanced Settings で高度な設定が有効になっている場合にのみ使用できるモデルです(参照:高度な設定を有効にするまた、ASCMO_MODEL_COMPRESSION のライセンスも必要です。

このモデルタイプでは、モデル内の基底関数の数を制限することができます (参照:Model Compression)。以下のモデルパラメータを設定できます:

Model Size

圧縮モデル用の基底関数の数を入力します。

Number of Iterations

モデルトレーニングにおいて実施する反復回数を入力します。検証データで10回反復してもモデル性能が向上しない場合、トレーニングは中止されます。ディープラーニングにおいて、これはよく「エポック数」と呼ばれます。

Multistart

モデルトレーニング実行中に異なる開始値でオプティマイザを実行する回数を入力します。値が大きいほど最適なモデルが見つかる確率が上がりますが、所要時間が長くなります。

Plot Error

チェックボックスをオンにすると、モデルトレーニング中に発生した誤差の情報が表示されます。

RMSEをビットマップグラフィックとして保存するには、メインウィンドウ内の View > Save as Bitmap を使用します。

Output Transformation

出力の変換タイプを選択します。変換を利用することによりモデル予測を改善できます。トレーニングデータの値に負またはゼロが含まれる場合、一部の変換は使用不可となります。

以下から選択できます:

  • none - 変換なし
  • 1/y - 反転
  • 1/sqrt(y) 平方根の逆数
  • log(y) - 対数
  • sqrt(y) - 平方根
  • Bounded:上下限値内に制限されます。

    Edit をクリックして自動的に選択された上下限値を開く表示、または手動で下限値と上限値を定義することができます。これらを手動で定義するには、Automatic チェックボックスをオフにします。上下限値はトレーニングデータの範囲内である必要があります。

  • log(y+c):対数 + 定数

    Edit をクリックして自動的に選択された対数シフトを開く表示、または手動でシフト値を定義することができます。これを手動で定義するには、Automatic チェックボックスをオフにします。

Advanced

Edit をクリックして、開く詳細パラメータ を編集します。

Modeling Criterion

モデルトレーニングに使用されるモデリング目標を選択します。

  • Relative Error:誤差を実際の値で割った商((測定データ - 予測データ) / 測定データ * 100)です。最適化の実行中は開く可視化ウィンドウがポップアップ表示され、ここで手動で最適化を停止してその時点までの最良の結果を使用することができます。

Max. Bump Height

ガウシアンバンプの高さを制限する数値を入力します。

Min. Bump Width

Edit をクリックして、入力ごとのガウシアンバンプの幅を制限する数値を入力します。

 

Classification (GP) Model ー 分類(GP)モデル

注記 

File > Options > Advanced Settings で高度な設定が有効になっている場合にのみ使用できるモデルです(参照:高度な設定を有効にする

このモデルタイプでは、既存の測定データ(入力値)を2つのクラス(クラス0とクラス1)に分類することができます。分類モデルに示されるカーブは、現在の入力値がクラス1に分類される確率と同じものになります。たとえば、エンジンノックのデータを特定の構成に含める(クラス1に分類する)か、それとも含めない(クラス2に分類する)かを指定することができます。

以下のモデルパラメータを設定できます:

Number of Iterations

モデルトレーニングにおいて実施する反復回数を入力します。検証データで10回反復してもモデル性能が向上しない場合、トレーニングは中止されます。ディープラーニングにおいて、これはよく「エポック数」と呼ばれます。

Kernel

モデルトレーニングに使用するカーネル関数を選択します。

  • Squared Exponential (ARD):よりソフトなカーブ特性値を使用します。
  • Matern (ARD):よりハードなカーブ特性値を使用します。過剰適合(オーバーフィッティング)を招く可能性があります。

Export/Plot Category

このオプションがオフの場合は、入力がクラス1に割り当てられる確率がプロットされます。

オンの場合は、しきい値以上の確率値がクラス1に割り当てられます。クラスのメンバ数がプロットされます。

Category Threshold

モデル評価において、このしきい値以上になった測定データは、クラス1に割り当てられます。 Plot Category チェックボックスがオンになっている必要があります。しきい値は[0,1]の数値で、デフォルトは0.5です。

Classification (MLP) Model ー 分類(MLP)モデル

以下のモデルパラメータを設定できます:

Layers

多層パーセプトロンの層を設定します。

リストから活性化関数を選択します。

  • Linear: y = x

  • ReLU: y = max(0, x)

  • LeakyReLU: y = max(0.01 * x, x)

  • Sigmoid: y = 1 / (1 + exp(-x))

  • PrecTanh: y = 2 / (1 + exp(-2 * x)) - 1

  • Elliotsig: y = x / (1 + abs(x))

:クリックして層を挿入します。

:選択されている1つまたは複数の層を削除します。

Number of Network Parameters

現在の設定においてモデルトレーニングで使用されるパラメータの数を、動的に表示します。

Continue Training

新しいトレーニングを開始する代わりに、可能であれば既存のモデルトレーニングと反復を続行するには、このオプションをオンにします。Training Properties を変更して続行することができます。たとえば、複雑な活性化関数でトレーニングした後、ECUにとってより効率的な関数に切り替え、シームレスにトレーニングを続けることができます。

Number of Multistarts

異なる開始値で行う反復の回数を入力します。値が大きいとモデル品質が向上しますが、モデルトレーニングの所要時間が長くなります。デフォルトは3です。

Number of Iterations

モデルトレーニングにおいて実施する反復回数を入力します。検証データで10回反復してもモデル性能が向上しない場合、トレーニングは中止されます。ディープラーニングにおいて、これはよく「エポック数」と呼ばれます。

Use Test Data as Validation Data

テストデータを検証データとして使用したい場合は、チェックボックスをオンにします。

Validations Ratio [%]

トレーニングデータからランダムに選択される検証サンプルの相対数(単位:%)を入力します。

Plot RMSE during Training

トレーニングデータと検証データのRMSE値を開くモデルトレーニング中に表示したい場合は、オンにします。

Activate Detailed Training Settings

チェックボックスをオンにすると、開くDetailed Training Settings セクションが表示されます。

  • Optimizer

    モデルのトレーニングに使用するオプティマイザを選択します。Continue Training チェックボックスをオンした場合は、Stochastic Gradient Descent (for continue) を選択することを強く推奨します。

トレーニングの詳細な設定は、反復のたびに調整されます。最初の反復では Start Value が使用され、最後の反復では Final Value が使用されます。その間の値は補間されます。

  • No. of Optimizer Substeps

    オプティマイザの1回の更新において、長さが Lookback Length のシーケンスをいくつ使用するかを決定します。デフォルト値は100で、これはディープラーニングで使用されるバッチサイズに該当します。値が大きいほどバッチサイズは小さくなり、値が小さいほどバッチサイズは大きくなります。値が小さいとオプティマイザのステップの実行頻度が少なくなるため、トレーニングが速くなります。

  • Learning Rate

    オプティマイザのステップサイズを入力します。デフォルト値は0.01です。有効な値の範囲は[0, 1]です。

    学習率が大きいほど、一般的にトレーニングが速くなります。しかし、学習率が大きいと収束が妨げられ、収束できなくなる場合もあります。

Plot Category

このオプションがオフの場合は、入力がクラス1に割り当てられる確率がプロットされます。

オンの場合は、しきい値以上の確率値がクラス1に割り当てられます。クラスのメンバ数がプロットされます。

Category Threshold

モデル評価において、このしきい値以上になった測定データは、クラス1に割り当てられます。 Plot Category チェックボックスがオンになっている必要があります。しきい値は[0,1]の数値で、デフォルトは0.5です。

ASC GP-SCS Model ー ASC GP-SCSモデル

注記 

File > Options > Advanced Settings で高度な設定が有効になっている場合にのみ使用できるモデルです(参照:高度な設定を有効にするまた、ASCMO_MODEL_COMPRESSION のライセンスも必要です。

ASCMO Gaussian Process Sparse Constant Sigma(ASC GP-SCS)タイプのモデルは、トレーニングデータの数が多い場合に推奨されます。以下のパラメータ設定が行えます。

No. Basis Functions

早く収束させるには、実際のモデルトレーニングで使用するより小さなサイズ(20など)を指定してください。

Output Transformation

出力の変換タイプを選択します。変換を利用することによりモデル予測を改善できます。トレーニングデータの値に負またはゼロが含まれる場合、一部の変換は使用不可となります。

以下から選択できます:

  • none - 変換なし
  • log(y) - 対数
  • Bounded:上下限値内に制限されます。

    Edit をクリックして自動的に選択された上下限値を開く表示、または手動で下限値と上限値を定義することができます。これらを手動で定義するには、Automatic チェックボックスをオフにします。上下限値はトレーニングデータの範囲内である必要があります。

  • log(y+c):対数 + 定数

    Edit をクリックして自動的に選択された対数シフトを開く表示、または手動でシフト値を定義することができます。これを手動で定義するには、Automatic チェックボックスをオフにします。

Optimize Positions

このチェックボックスがオンの場合は、ランダムに選択されたトレーニングデータの位置において基底関数が使用される代わりに、最適化位置において仮想的(疑似的)入力が使用されます。

トレーニングに使用する入力の数は、"No. Basis Functions" オプションで指定します。

Multistart

モデルトレーニング実行中に異なる開始値でオプティマイザを実行する回数を入力します。値が大きいほど最適なモデルが見つかる確率が上がりますが、所要時間が長くなります。

Input Length Scale Squared

Editをクリックすると、開くInput Length Scale Squared ウィンドウが開きます。ここで各入力のハイパーパラメータを編集することができます。Automatic をオンにすると、その入力に対して適切なハイパーパラメータが自動設定されます。オフにすると、任意の値を入力することができます。入力のサイズに関するハイパーパラメータの値は、ガウス分布のベルカーブのコア幅です。長さのスケールは以下の式のrであるため、値が小さい方が関連性が高くなります:

関連性は、Relevance of Inputs (ASCMO-STATIC)にグラフィカルに表示することができます。

Default

すべてのパラメータをデフォルト値に戻します。

注記 

ASC GP-SCSタイプのモデルは、INCA/MDAにはエクスポートできません。

Classification (Random Decision Trees) Model ー 分類(ランダム決定木)モデル

ランダム決定木の分類は、複数の2値決定木の組み合わせ(アンサンブル)を使用します。複数の決定木を使用することで、オーバーフィッティングのリスクを減少させることができます。異なる木はトレーニングデータの異なるサブセットを使用しますが、同じデータポイントを複数の木で使用することができ、これはバギングと呼ばれます。バギングに加えて、異なる木は異なるフィーチャー(入力セット)をモデル化します。これはアルゴリズムの重要なポイントであり、ランダム部分空間サンプリングまたはフィーチャーバギングとも呼ばれます。以下のモデルパラメータを設定できます:

Global Settings

Number of Trees

ランダム決定木アルゴリズムで使用される木の数。

Use Bagging

オンになっていると(推奨)、ランダム決定木の各木は、すべてのトレーニングデータのサブセットでトレーニングされます(サブセットのサイズは別のオプションで指定できます)。

バギングはオーバーフィッティングのリスクを減らします。

Maximum Number of Samples per Tree

1つの木のトレーニングデータを決定するためにトレーニングデータから無作為に抽選する回数を指定します。

Number of Training Samples

Absolute Number:値を直接指定できます。

Fraction:0~1の値を指定でき、1つの木に対するトレーニングデータのサンプル数はmax(1, fraction * number of training data)となります。

All Training Data:抽出回数はトレーニングデータの数と等しくなります。

Maximum Number of Inputs per Split

トレーニングプロセスにおいては、各ノードに最適なデータのスプリットを見つける必要があります。オーバーフィッティングを回避してトレーニングプロセスを高速化するためには、スプリット決定に使用される入力の数を制限することが有効です(各スプリットにおいてランダムにサブセットが選択されます)。特に高次元の問題においては、Square Root of Number of Inputs のようなオプションを使用することをお勧めします。

Number of Inputs

All Inputs:すべての入力が含まれます。

Absolute Number:スプリット決定において考慮されるフィーチャーの数を[1, フィーチャー数]の範囲で指定します。

Fraction:各分割には、全入力数の一部([0, 1]の数値)が選択され、max(1, round(fraction * number of inputs))となります。

Square Root of the Number of Inputs:1つのスプリットの総入力数は、入力数の平方根(round(sqrt(number of inputs)))です。

2-Logarithm of Number of Inputs:1つのスプリットの総入力数は、2を底とする入力数の対数(round(log2(number of inputs)))です。

Tree Settings

Maximum Depth

ランダム決定木における各決定木の最大深度を定義する整数値です。

Split Criterion

ジニ不純度(0~0.5)。

シャノンの情報利得(エントロピー)(0~1)。

Minimum Number of Samples per Split

ノードのサンプル数がこの値より少ない場合、ノードはそれ以上分割されません。

Minimum Samples per Leaf

葉の数がこの値より少なくなるノードの分割は無効とみなされます。

Minimum Split Gain

この値を v とし、トレーニングサンプルの総数を S とします。

n 個のサンプルを持つ左ノードと m 個のサンプルを持つ右ノードに分割される可能性のある各スプリットについて、分割基準を用いてスプリットの利得 g が内部的に計算されます。

(n+m)/S*gv 以下であるスプリットが有効とみなされます。

Plot Settings

Export/Plot Category

このオプションがオフの場合は、入力がクラス1に割り当てられる確率がプロットされます。

オンの場合は、しきい値以上の確率値がクラス1に割り当てられます。クラスのメンバ数がプロットされます。

Category Threshold

モデル評価において、このしきい値以上になった測定データは、クラス1に割り当てられます。 Plot Category チェックボックスがオンになっている必要があります。しきい値は[0,1]の数値で、デフォルトは0.5です。

参照

Options(ASCMO-STATIC)

概要:モデルタイプごとのエクスポートサポート

概要:モデルタイプの説明