ニューラルネットワークは、とても柔軟なモデルであり、オーバーフィット(過学習)しやすい傾向があります。オーバーフィットすると、推定に用いたデータでの予測は精確でも、将来のデータに対する予測精度は悪くなります。「ニューラル」プラットフォームでは、オーバーフィットを防ぐために次のような処理が行われます。
• モデルのパラメータにペナルティ(罰則)を課す
• 独立したデータセットを使ってモデルの予測能力を評価する
検証(validation)とは、データの一部をモデルパラメータの推定に使用し、残りのデータでモデルの予測能力を評価する方法を指します。
• モデルパラメータの推定に使うデータを、学習セットといいます。
• ペナルティの最適値を探したり、モデルの予測能力を評価したりするのに用いるデータを、検証セットといいます。
• 予測能力の最終評価に使うデータを、テストセットといいます。検証列を指定した場合のみ、テストセットを使用できます。
学習セット・検証セット・テストセットは、分析対象のデータを分割することにより作成します。以下のいずれかの方法を選択してデータセットを分割できます。
除外行の保留
行の属性によって、データを分割します。除外されていない行を学習セット、除外されている行を検証セットとして用います。
行の属性と行の除外の詳細については、『JMPの使用法』の行を非表示かつ除外にするを参照してください。
保留
データを無作為に学習セットと検証セットに分割します。データのうち、検証セットとして使用する部分の割合(保留する割合)を指定することができます。
K分割
データをK個に分割します。順番に、(K-1)個分のデータにモデルがあてはめられ、残っているデータでモデルが検証されます。全部でK個のモデルがあてはめられます。検証に用いた統計量が最良のものが、最終的なモデルとして選ばれます。
この方法は、少ないデータを効果的に利用するので、小規模なデータセットに適しています。
検証列
検証列の値に基づいて、データを分割します。検証列の指定は「ニューラル」起動ウィンドウで行います(図3.3)。
列の値によって、分割方法および検証方法が決まります。
– 検証列に一意な値が3つある場合は:
最小の値が学習セットを示します。
中間の値が検証セットを示します。
最大の値がテストセットを示します。
– 検証列に一意な値が2つある場合は、データが学習セットと検証セットに分かれます。
– 検証列に一意な値が4つ以上ある場合は、K分割検証法が行われます。