概要 (RBF コマンド)
ニューラル・ネットワークは、データベース内の不明なパターンを検出するためのデータ・マイニング・ツールです。 ニューラル・ネットワークを使用して、価格やその他の変数の関数として製品の需要を予測したり、購買習慣や人口統計上の特性に基づいて顧客を分類したりすることで、ビジネス上の意思決定を行うことができます。 RBF プロシージャーは、放射基底関数ニューラル・ネットワークに適合します。これは、入力層、放射基底関数層と呼ばれる隠れ層、および出力層を持つ、フィードフォワードの教師あり学習ネットワークです。 隠れ層は、入力ベクトルを放射基底関数に変換します。 MLP (多層パーセプトロン) プロシージャーと同様に、 RBF プロシージャーは予測と分類を実行します。
RBF プロシージャーは、以下の 2 つの段階でネットワークをトレーニングします。
- このプロシージャは、クラスタリング方法を使用して、放射基底関数を決定します。 各放射基底関数の中心と幅が決定されます。
- このプロシージャーでは、放射基底関数に基づいてシナプスの重みを推定します。 出力層の ID 活性化関数を持つ平方和誤差関数は、予測と分類の両方に使用されます。 最小二乗和誤差を最小化するには、通常の最小二乗法回帰を使用します。
この 2 段階のトレーニング・アプローチのため、 RBF ネットワークは一般的に MLPよりもはるかに高速にトレーニングされています。
オプション
予測または分類。 1 つ以上の従属変数を指定できます。これらの従属変数は、スケール、カテゴリー、または組み合わせにすることができます。 従属変数にスケール測定レベルがある場合、ニューラル・ネットワークは、入力データのある連続型関数の「真の」値に近似する連続型値を予測します。 従属変数がカテゴリー変数の場合、入力予測値に基づいてケースを「最適な」カテゴリーに分類するためにニューラル・ネットワークが使用されます。
再スケール中。 RBF はオプションで、ニューラル・ネットワークを学習する前に、共変量 (スケール測定の尺度を持つ予測値) またはスケール従属変数を再調整します。 再調整オプションには、標準化、正規化、および調整された正規化の 3 つがあります。
トレーニング、テスト、およびホールドアウトのデータ。 RBF は、オプションで、データ・セットを学習データ、検定データ、およびホールドアウト・データに分割します。 ニューラル・ネットワークは、トレーニング・データを使用してトレーニングされます。 テスト・データを使用して、ネットワークの隠れユニットの「最適な」数を判別することができます。 ホールドアウト・データはトレーニング・プロセスから完全に除外され、最終ネットワークの独立した評価に使用されます。
アーキテクチャーの選択。 RBF プロシージャーは、隠れ層を 1 つ持つニューラル・ネットワークを作成し、自動アーキテクチャー選択を実行して隠れ単位の「最適な」数を見つけることができます。 デフォルトでは、プロシージャーは自動的に妥当な範囲を計算し、範囲内の「最適な」数値を検出します。 ただし、独自の範囲または特定の数の隠れ単位を指定することによって、これらの計算をオーバーライドすることができます。
アクティブ化関数。 隠れ層の単位では、正規化された放射基底関数または通常の放射基底関数を使用できます。
欠損値。 RBF プロシージャーには、カテゴリー変数のユーザー欠損値を有効な値として扱うためのオプションがあります。 スケール変数のユーザー欠損値は常に無効として扱われます。
出力。 RBF はピボット・テーブル出力を表示しますが、ほとんどの出力を抑制するためのオプションを提供します。 グラフィカル出力には、ネットワーク図 (デフォルト) といくつかのオプションのグラフ (観測値による予測値、予測値による残差、ROC (受信側操作特性) 曲線、累積ゲイン、リフト、および独立変数の重要度) が含まれます。 この手続きでは、オプションで、予測値をアクティブなデータ・セットに保存することもできます。 隠れたユニット・センターと幅ベクトル、およびシナプスの重みの見積もりを XML ファイルに保存できます。
基本仕様
基本的な指定は、 RBF コマンドの後に 1 つ以上の従属変数、 BY キーワードと 1 つ以上の因子、および WITH キーワードと 1 つ以上の共変量が続きます。
デフォルトでは、 RBF プロシージャーは、ニューラル・ネットワークを学習する前に、共変量とスケール従属変数を標準化し、学習サンプルを選択します。 自動アーキテクチャー選択は、「最適な」ニューラル・ネットワーク・アーキテクチャーを見つけるために使用されます。 ユーザー欠損値は除外され、デフォルトのピボットテーブル出力が表示されます。
シンタックス・ルール
- サブコマンドはすべてオプションです。
- サブコマンドは任意の順序で指定できます。
- 各サブコマンドの 1 つのインスタンスのみが許可されます。
- サブコマンド内で 1 つのキーワードが複数回指定されていると、エラーが発生します。
- 構文図に示されている括弧、等号、およびスラッシュは必須です。
- コマンド名、サブコマンド名、およびキーワードは、完全なスペルで入力する必要があります。
- 空のサブコマンドは許可されません。
SPLIT FILEコマンドで定義された分割変数は、従属変数、因子、共変量、またはデータ区分変数として使用することはできません。
制限
WEIGHT コマンドで指定された度数の重みは無視され、 RBF プロシージャーによって警告が出されます。
カテゴリ変数
RBF プロシージャーは、プロシージャーの期間に対して one-of-c コード化を使用してカテゴリー予測変数および従属変数を一時的に再割り当てします。 変数の c カテゴリーがある場合、その変数は c ベクトルとして格納されます。最初のカテゴリーは (1,0, ..., 0)、次のカテゴリーは (0,1,0, ..., 0), ..., および最後のカテゴリー (0,0, ..., 0, 1)。
one-of-c コード化のため、入力単位の総数は、スケール予測値の数にすべてのカテゴリー予測値のカテゴリー数を加えたものになります。 ただし、多層パーセプトロン (MLP) とは異なり、このコード化スキームでは、カテゴリー型予測値のシンタックス重みの数が増加しないため、学習時間が大幅に増加することはありません。
検定サンプルまたはホールドアウト・サンプルが定義されている場合でも、one-of-c コード化はすべて学習データに基づきます ( PARTITION サブコマンド (RBF コマンド) を参照)。 したがって、検定サンプルまたはホールドアウト・サンプルに、学習データに存在しない予測カテゴリーを持つケースが含まれている場合、それらのケースはプロシージャーまたはスコアリングでは使用されません。 検定サンプルまたはホールドアウト・サンプルに学習データに存在しない従属変数カテゴリーを持つケースが含まれる場合、それらのケースはプロシージャーでは使用されませんが、スコアリングされることがあります。
結果の再現
RBF プロシージャーは、パーティションのランダム割り当て時に乱数生成を使用します。 今後同じランダム化された結果を再現するには、 RBF プロシージャーを実行する前に、 SET コマンドを使用して乱数発生ルーチンの初期化値を設定します。
RBF 放射基底関数を決定するために、2 段階のクラスター・アルゴリズムが使われるため、結果はデータの順序にも依存します。 データの順序の影響を最小限に抑えるには、 RBF プロシージャーを実行する前に、ケースをランダムに並べ替えます。 特定の解の安定性を確認するには、異なる無作為な順序でソートされたケースを使用していくつかの異なる解を取得します。 ファイル・サイズが非常に大きい場合は、異なる無作為な順序でソートされたケースのサンプルを使用し、複数回に分けて実行することができます。
要約すると、将来、 RBF の結果を正確に複製する場合は、同じ RBF プロシージャー設定を使用するだけでなく、乱数発生ルーチンと同じデータ順序に同じ初期設定値を使用します。