ニューラルネット検証セットはトレーニングセットよりも高いモデル適合度を取得します問題: 検証セットがトレーニング セットよりもうまく機能したのはなぜですか?
データ: 200 データポイント。トレーニングに 90%、検証に 10%
統計:
1. 検証列を作成する
検証列の作成(
トレーニングセット(0.90)、
検証セット( 0.10 )、
テストセット( 0.00 )、
式はランダム);
2. ニューラルネット:
1 つの隠れ層、3 ノード TanH
ブースティング: モデル数 (10)、学習率 (0.1)
フィッティングオプション: ツアー数( 10 )
3. 上記の手順を 1000 回繰り返しました
4. トレーニング セットと検証セットの R 二乗の平均を計算します。
問題の説明:
検証セットの平均 R 二乗は、トレーニング セットの平均 R 二乗よりもはるかに大きかった。 なぜそのようなことが起こるのでしょうか? ペナルティメソッドなしで試してみても、検証セットはトレーニングよりもうまく機能しました。
JMP は検証セットの推定パラメータをどのように最適化しますか?
ブートストラップ フォレストを使用すると、なぜこれが当てはまらないのでしょうか?つまり、ブートストラップ フォレストの場合、トレーニング セットは検証セットよりもうまく機能しました。
ありがとう。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますここでは誰にも迷惑をかけていません! あなたのような質問は、JMP コミュニティにディスカッション エリアを設ける主な理由の 1 つです。 一方で、一部の議論はこの形式の範囲や能力を超えている可能性があります。
注: 私たちは議論中です予測モデル、 いいえ説明モデル。 したがって、モデルが将来を予測する能力のみを考慮します。 未来は利用できないトレーニングモデルとモデルの選択。
いかなる種類の相互検証も理論の結果ではありません。 をどのように実行するかという問題の解決策です。正直な評価1 つのモデルを選択する前と後のモデルのパフォーマンスの比較。 ホールドアウトセットアプローチは、最初に大規模なデータセットの場合のために開発されました。 このような場合、推論はモデル選択には役に立ちません。 未来は利用できません。 何をすべきか? データの一部を脇に置いておくか保留します (検証)。 これらのデータはトレーニング手順では利用できません。 次に、近似されたモデルをホールドアウト セットに適用して、モデルの予測を取得します。 モデルさんはどうでしたか? 他のモデルはどうなのでしょうか?
検証データはモデルの選択に使用されたため、一部のモデラーは 3 番目の部分を保留します (テスト) 選択したモデルを評価します。
相互検証は非常に優れたソリューションですが、元の観測セットのサイズが大きいことに依存します。 サンプルサイズが小さい場合はどうすればよいでしょうか? K フォールド アプローチは、このようなケースのために特別に開発されました。 モデラーの中には、これを極端にして、K をサンプル サイズに設定する人もいます。 このバージョンは「」として知られています1つを残す。」 このような場合、データをより効率的に使用できるため、ホールドアウトセットよりもうまく機能します。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得します親愛なるベイリーさん、
推奨どおり、ニューラル ネットと段階的回帰 (すべてを入力) を使用した k 分割交差検証を使用しました。 ループを作成し、各分析を 100 回実行しました。 結果は、検証セットの平均 R 二乗がトレーニング セットの平均 R 二乗より高くないことを示しています。
ここで私は、なぜ K 分割相互検証がサンプルサイズが小さい場合にうまく機能するのか、そしてなぜニューラルネットによるホールドアウト検証が厄介な結果になるのか、つまり検証セットの平均 R 二乗値が高くなるのか疑問に思っています。 理論的または数学的な理由は何ですか?
ありがとう。またご迷惑をおかけして申し訳ありません。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますJMP Pro は、Stepwise プラットフォームで回帰分析用の k-fold を提供します。 これは、モデルにどの項を保持するかを決定するために使用されます。 JMP ドキュメントから:
K-Fold 相互検証 (連続応答でのみ使用可能) 選択プロセスで K-Fold 相互検証を実行します。 このオプションを選択すると、Max K-Fold RSquare 停止ルールが有効になります (250 ページの「段階的回帰コントロール パネル」)。 多くのための
検証については、275 ページの「検証の使用」を参照してください。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますいいえ、JMP の最小二乗法フィット プラットフォームは相互検証を提供しません。 JMP Pro の一般化回帰プラットフォームには、標準の線形回帰モデルが含まれており、起動ダイアログ ボックスでのホールドアウト相互検証と、プラットフォーム検証オプションとして K 分割相互検証の両方が提供されます。
サンプル サイズが小さいため、相互検証の代わりにモデル選択に AICc を使用することを検討することもできます。
必要な柔軟性が提供される場合は、オープン ソース ソフトウェアの使用を検討することもできます。 たとえば、JMP を使用して R または Python に接続し、両方のソフトウェアで作業できます。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得します親愛なるベイリーさん、
ありがとう。 もう 1 つ質問があります。JMP では標準の最小二乗回帰で K 分割相互検証を使用できますか?
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますありがとう。 はい、私が見つけたのは以下のスクリプトだけです。 しかし、ブートストラップフォレストモデルと組み合わせることができませんでした。
obj = Open( "$SAMPLE_DATA/Car Poll.jmp" ) << Partition(
Y( :country ),
X( :sex, :marital status, :age, :type, :size )
);
obj << K Fold Crossvalidation( 5 );
obj << Go;
ご協力いただき誠にありがとうございました。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますJMP のブートストラップ フォレスト モデル選択では、K 分割相互検証を使用できません。 ホールドアウト セットのみを使用できます。
ほとんどの予測モデル タイプは大規模なデータ セットを対象としていることに注意してください。 データがモデルの仮定を満たしている場合は、重回帰でも同様に行うことができます。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますご提案いただきありがとうございます。 k-fold を試してみましたが、この場合はうまく機能しました。 ただし、新たな問題が生じます。ブートストラップ フォレストに対して k 分割交差検証をどのように実行できるでしょうか?
ありがとう。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますご提案ありがとうございます。 はい、1000 回の反復は、データセットが 1000 回ランダムに分割されることを意味します。 そして、検証セットの R 平方が常にトレーニング セットよりも大きいとは限らないことも事実です (図を参照)。 ただし、検証セットの R 二乗の平均は、すべての応答パラメーターのトレーニング セットの平均よりも常に大きくなります。 現在k-foldで解析を行っています。 何が起こるか見てみましょう。
ベイリー氏は次のように述べています。
「トレーニング セットはモデル パラメーターを推定するために使用されます。 検証セットは、候補モデルから選択するために使用されます。 テスト セットは、選択したモデルを評価するために使用されます。」
上記の文に関して 2 つの質問があります。
- 訓練の過程で、何人の候補者が準備されますか? 候補者はどのように計算しますか? それはブースティング、つまり「学習率によってスケーリングされたモデルの加算シーケンスを適合させる」ことによって決定されるのでしょうか?
- ソフトウェアはどのようにして最適な候補を選択するのでしょうか? 最適な候補者の基準は何ですか? 検証セットに最適な R 二乗を与える候補ですか?
k 倍に関しては、次の 2 つの質問があります。
- データ ポイントが 200 個あり、トレーニング セットと検証セットに 90%/10% の分割を使用した場合 (重複なし)、おそらく 180 データ ポイントのトレーニング セットと 20 データ ポイントの検証セットが得られます。 これは、10 分割検証方法を使用した場合も同じです。 そうですか? k 分割検証と 90%/10% 検証の違いは何ですか?
- K 分割相互検証では、最適な候補の基準は何でしょうか? 最適化されたモデルを見つけるにはどうすればよいでしょうか? 90%/10%検証と同じ方法ですか?
マニュアルには、「K 分割相互検証を使用する場合、説明されている手順は、ペナルティ パラメーターの各試行値のデータの K トレーニング ホールドバック パーティションのそれぞれに適用されます。 モデルがすべての折り目に適合した後、検証セットの尤度は次のようになります。合計した個々のフォールドのパラメータ推定値を使用して、フォールド全体にわたって計算します。 これは、ペナルティパラメータの選択において最適化された値です。 パラメータ推定値が完全なデータセット上で最良の値を与えるフォールドは、プラットフォームによって保持および使用されるパラメータ推定値です。 最良のモデルをもたらしたトレーニングとホールドバックのペアは、そのモデルの診断がレポートに記載されているペアです。」これは、最大のモデルを意味しますか?合計尤度一番です?
ありがとうございました。

Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますよくわかりませんが、この主張は優越性を持ったものではないと思います。 これは、トレーニング セットと検証セットの間の平均 R 二乗の差に基づいています。 実際には、標本分布が重なっているため、どちらか一方が優れているということはありません。 正規分布を使用して R 二乗の標本分布を近似すると、指定された分布パラメーター値を使用して正規 PDF の次の 2 つのグラフが得られます。

注: R 2 乗は境界 [0,1] のため正規分布ではないことはわかっていますが、このケースでは近似が十分に機能するには両方の境界から十分に離れています。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますあなたの説明が理解できたとしても、私は少し困惑しています。1000 回の反復とは、データセットを 1000 回ランダムに分割してニューラル ネットを実行したことを意味しますか?もしそうなら、これらの分割のすべてがトレーニング データよりも検証データの方が優れたパフォーマンスをもたらすとしたら、それは奇妙だと思います。サンプル サイズと特徴の数に関する私の懸念は、そのように動作する反復の数 (さらには多数) を説明しますが、おそらく 1000 回すべてではないでしょう。私があなたの話を正しく理解している場合、それはあなたのデータとあなたが持っている特定の機能。データを投稿していただけるのであれば、もっとお手伝いできるかもしれませんが、あなたの言ったことに基づく私の考えはこれで十分だと思います - あなたが何をしたか理解できない場合を除きます。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますご提案いただきありがとうございます。 予測変数として使用する 7 つの特徴があります。 また、場合によっては、検証セットの Std が大きくない場合もあります。平均 R2train = 0.56、SDtrain = 0.11。平均 R2val = 0.70、SDval = 0.11。
そして、12 個の予測子でも試してみました。 結果のパターンは同じです。1000 回の反復から得た検証セットの平均 R 二乗値は、トレーニング セットの平均 R 二乗値よりも常に大きくなっています。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますトレーニング セットはモデル パラメーターを推定するために使用され、検証セットは候補モデルから選択するために使用されます。 テスト セットは、選択したモデルを評価するために使用されます。
同意する@dale_lehmanデータセットが小さすぎるため、ホールドアウト相互検証方法を使用できません。 K 分割交差検証をお勧めします。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得します機能はいくつありますか?サンプルサイズが小さいことについてはまだ疑問があります。R-square と Std dev の両方が検証データの方が大きいことに注目してください。十分な機能があれば、テスト データに引き継がれない比較的小さな検証セット (30% 分割でも) に適切な「適合」を得ることができると思います。おそらく mbailey がこれについていくらか解明してくれるでしょう。しかし私の印象では、検証データはニューラル ネットの調整に使用されるため、モデリング プロセスでまったく使用されないテスト データと同じではありません。したがって、データ ポイントが少なく、十分な特徴があれば、検証データを非常によく適合させることができますが、テスト データのパフォーマンスは低下します。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますありがとう。 私の研究をさらに詳しく説明すると、次のようになります。
反復ごとに、トレーニングおよび検証セットで新しい分割を使用しました。
トレーニングと検証の結果があります: 平均R2トレイン= .58、 SDトレイン= .09;平均R2val = .71、 SDval = .12
応答パラメーターは連続変数です。
70%/30% 分割の場合もパターンは同じです。そのため、検証で何が起こるのかよくわかりませんでした。 モデルをテストするだけでは十分ではないでしょうか?
たとえば、3 ステップの手順 (トレーニング、検証、テスト) を使用すると、検証セットの平均 R 二乗はトレーニングの場合よりも高くなりますが、テストではドロップダウンが発生します。 では、テストと検証の違いは何でしょうか。
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得します言い忘れていましたが、K 分割相互検証はサンプル サイズが小さい場合に特化しています。 検証ホールドアウトセットの代わりにこの方法を試しましたか?
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますあなたの研究に対する私の理解を確認してください。 1000 個のトレーニング イベントのそれぞれの前に、トレーニング ホールド アウト セットと検証ホールド アウト セットに行を再割り当てしましたか?
JMP は、検証ホールドアウト セットのトレーニングを最適化しません。 トレーニングが完了した後にのみ、検証ホールドアウト セットを評価します。
トレーニング ホールド アウト セットと検証ホールド アウト セットの R 二乗サンプル統計の平均と標準偏差はいくらですか?
応答の性質は何ですか? 継続的ですか? それはカテゴリー的ですか? もしそうなら、応答のレベルはいくつですか?
Re: ニューラル ネット検証セットはトレーニング セットよりも高いモデル適合度を取得しますこれは典型的な結果ではないということは正しいですが、実際に起こる可能性はあります。この場合、それは主に最初の分割の結果であると思います。10% の検証セットは、特に観測数が非常に少ない場合、検証結果が非常に少数のデータ ポイントに適用されたモデルのものであることを意味します。ニューラル ネットワークは問題をさらに複雑にする可能性がありますが、OLS モデルでも 20 個のデータ ポイントを適切にフィッティングできます。トレーニング/検証の分割を 70%/30% に変更すると (特により多くのデータがある場合)、この異常は解消されると思います。