0

〜200のサンプルと6つの属性を持つWekaを使用してMultiLayerPerceptronをトレーニングしたいと思います。電車とテストに分割することを考えていました。電車では、電車の特定の%を検証セットとして指定します。しかし、その後、サンプルのセットをより有効に活用するために、fold-crossvalidationを使用することを検討しました。

私の質問は、相互検証アプローチを行うときに検証セットを指定することは意味がありますか?

そして、サンプルのサイズを考慮して、2つのアプローチのいくつかの数値を提案できますか?(例:トレインの場合は2/3、テストの場合は1/3、検証の場合は20%...およびCVの場合:代わりに10倍、2倍、またはLOOCV ...)

前もって感謝します!

4

2 に答える 2

1

あなたの質問は、相互検証に精通していないように聞こえます。お気づきのように、実行するフォールド数のパラメーターがあります。単純な相互検証の場合、パラメーターは元のセットから作成されるサブセットの数を定義します。そのパラメータをkとします。元のセットは、k個の同じサイズのサブセットに分割されます。次に、実行ごとに、trainigがk-1サブセットで実行され、検証は残りのk番目のサブセットで実行されます。次に、k個のサブセットのk-1個のサブセットの別の順列がトレーニングなどに使用されます。したがって、このプロセスをk回繰り返します。

データセットのサイズについては、k = 10で問題ないように聞こえますが、すべての結果を考慮に入れ、最良の結果を考慮しない限り、基本的にすべてをテストする価値があります。

非常に単純な評価では、トレーニングセットとして2/3を使用するだけで、1/3の「テストセット」が実際には検証セットです。テストセットを終了基準として使用し、別の検証セットを最終評価として使用する、より洗練されたアプローチがあります(終了を定義するため、結果がテストセットに過剰適合する可能性があるため)。このアプローチでは、明らかにセットを異なる方法で分割する必要があります(たとえば、2/3トレーニング、3/12テスト、1/12検証)。

于 2012-12-07T18:37:28.060 に答える
0

サンプルが少ないので注意が必要です。一方、モデルの精度を確認する場合は、モデルのテストセットを分割する必要があります。相互検証は、データをトレインデータと検証データとして分割します。次に、サンプルが少なく、検証セットが非常に小さいと判断した場合は、そのアプローチを確認できます。

トレーニングクロス検証と同じサイズの検証セットを使用する5×2クロス検証(Dietterich(1998))

詳細については、EthemAlpaydinの機械学習の本をご覧ください。

データを記憶したり、少量のサンプルでテストしたりしないでください。ジレンマのように見えますが、特定の決定はデータセットによって異なります。

于 2012-12-06T08:51:36.853 に答える