公開日: 09/19/2023

ここに画像を表示「モデルの設定」パネル

「サポートベクトルマシン」プラットフォームを起動すると、モデルをあてはめるための「モデルの設定」パネルが表示されます。この「モデルの設定」パネルを使用して、カーネル関数や関連するパラメータ、および検証法を指定します。

図9.5 「モデルの設定」パネル 

「モデルの設定」パネル

「モデルの設定」パネルには、以下のオプションがあります。

カーネル関数

モデルで使用するカーネル関数を指定します。次のカーネル関数の中から選びます。

動径基底関数

カーネル関数として、動径基底関数が使われます。動径基底関数をカーネル関数に指定した場合、分類するための超曲面が非線形になります。

「コスト」パラメータは、学習セットでの誤分類に関連するペナルティ(罰則)です。「コスト」パラメータが大きいほど、学習セットの点を誤分類する割合が小さくなります。「コスト」パラメータが小さいほど、マージンの幅が広くなります。「コスト」パラメータは0より大きくなければなりません。デフォルト値は1です。

「ガンマ」パラメータは、カーネル関数のパラメータです。このパラメータによって、超曲面の曲がり具合(曲率)が決まります。ガンマ値が大きいほど、曲がり具合が大きくなります。曲がり具合が大きいほど、超曲面は柔軟になります。しかし、曲がり具合が大きすぎると、過剰学習(オーバーフィット、過学習)になります。「ガンマ」パラメータは0より大きくなければなりません。デフォルト値は1/(説明変数の数)です。

線形

カーネル関数として、線形関数が使われます。カーネル関数に線形関数を用いた場合、分類するための超曲面として、線形の平面(超平面)が使われます。

「コスト」パラメータは、学習セットでの誤分類に関連するペナルティ(罰則)です。「コスト」パラメータが大きいほど、学習セットの点を誤分類する割合が小さくなります。「コスト」パラメータが小さいほど、マージンの幅が広くなります。「コスト」パラメータは0より大きくなければなりません。デフォルト値は1です。

メモ: 範囲外のパラメータ値を指定した場合は、デフォルト値が使用されます。

ヒント: 最良のモデルを見つけるには、2種類のカーネル関数といくつかのパラメータにてモデルをあてはめて、「モデルの比較」レポートで比較してください。

調整計画

指定したカーネルの一連のパラメータをあてはめることができます。「モデルの比較」レポートを見ると、R2乗が最も大きく、誤分類率またはRASE(Root Average Squared Error; 平均平方誤差の平方根)が最も小さいモデルを判別できます。[調整計画]を選択した後は、パラメータの最小値と最大値を指定する必要があります。データに基づいてデフォルト値がすでに入力されています。最小値はゼロより大きくなければなりません。また、「実験回数」の値も指定する必要があります。「サポートベクトルマシン」プラットフォームは、最小値と最大値によって決定されるパラメータ値のグリッドに基づいて、多くのモデルをあてはめます。

検証法

モデルの検証法を指定します。初めて[実行]ボタンをクリックしたときには、指定された検証法を使って最初のサポートベクトルマシンモデルがあてはめられます。その後、レポートウィンドウ内のすべてのサポートベクトルマシンモデルに対して、最初に選択された検証法がずっと適用されます。これにより、レポートウィンドウ内のすべてのモデルで同じ検証法と検証セットが使われます。

保留

元のデータを無作為に学習セットと検証セットに分割します。データのうち検証セットとして使用する部分の割合(保留する割合)を指定することができます。

K分割

Yが連続尺度または名義尺度の場合にのみ使用可能。)データをランダムにK個に分割します。順番に、(K-1)個分のデータにモデルがあてはめられ、残っているデータでモデルが検証されます。全部でK個のモデルがあてはめられます。Yが連続尺度の場合は、検証に用いたRASE(Root Average Squared Error; 平均平方誤差の平方根)が最良のものが、最終的なモデルとして選ばれます。Yが名義尺度の場合は、検証に用いた誤分類率が最良のものが、最終的なモデルとして選ばれます。

検証列

(起動ウィンドウで検証列を指定した場合にのみ使用可能。)指定された検証列の値を使用して、データを分割します。列の値によって、分割方法および検証方法が決まります。

検証列の値が2つしかない場合は、小さい方の値が学習セット、大きい方の値が検証セットとして扱われます。

値が3つある場合は、値の小さい方から順に、学習セット・検証セット・テストセットとして扱われます。

検証列が4水準以上の場合は、K分割交差検証法([検証列 k分割])が使用されます。

「サポートベクトルマシン」プラットフォームは、[調整計画]が使用されない限り、検証列を使用してモデルを学習・評価します。[調整計画]オプションを選択した場合、「サポートベクトルマシン」プラットフォームは、検証列を使ってモデルを学習・調整するか、またはモデルを学習・調整・評価します。検証については、JMPのモデル化での検証を参照してください。

メモ: 検証列に基づくデータの分割が適切に行われなかった場合は、代わりに保留法による検証が使用されます。

検証列 k分割

([Y, 目的変数]列が2水準であり、起動ウィンドウで検証列が指定された場合にのみ使用可能。)指定された検証列の値に基づいて、データをK個のセットに分割します。ここで、Kは、検証列の一意な値の個数です。その後、K分割検証が実行されます。

なし

検証は使用されません。

実行

指定されたサポートベクトルマシンモデルをデータにあてはめ、その結果を表示します。

メモ: データが大きい場合は、モデルをあてはめるごとに、進行状況を示すバーが表示されます。モデルのあてはめはk!/(2(k-2)!)だけ行われます。ここで、kは、応答変数における水準数です。各進行状況バーにそれぞれ[現在の推定値を採用]ボタンがあります。モデル推定の反復計算を早期に終了し、現在の推定値を受け入れる場合には、このボタンをクリックしてください。このボタンをクリックした後に予測値を求める計算が実行されるため、レポートが表示されるまでにさらに少し時間がかかります。

欠測値

説明変数に欠測値が1つでもある行は、サポートベクトルマシンの計算からは除外されます。そのため、それらの欠測値を含む行に対する分類や予測は計算できません。欠測値のあるデータをサポートベクトルマシンの計算に含める場合は、何らかの前処理が必要になります。欠測値を調べるを参照してください。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).