1

私は畳み込みニューラルネットワーク(CNN)を使用しています。トレーニング/検証/テストセットを分割する方法が正しいかどうか尋ねたいだけです。トレーニング検証顔面データセットのテストセットを分割

私は合計55人の対象を持っています。 私は、トレーニング(45人の対象)、検証(目に見えない5人の対象)、テスト(目に見えない6人の対象)のために80-10-10に分割する予定です。

妥当性検査セットは、見えない被験者から構成されるべきですか?または、トレーニングセット全体をシャッフルし、その一部(10〜20%)を検証セットとして使用できますか?

N-Foldクロスバリデーションを使用すると、トレーニングセット(インスタンス)全体がシャッフルされ、Nつ折りに分割され、モデルはトレーニングされ、N回平均化されます。 しかし、ニューラルネットワークまたはCNNの場合、非常に計算コストが高いため、クロスバリデーションは使用しません。

私は、目に見えない被験者の検証セットを使用してから正しいと思いますが、私のモデルは3〜5エポック後にオーバーフィットし始め、全く学習しません。 一方、トレーニングセットの10〜20%を検証セットとして使用すると、私のモデルは3層CNNを使用して妥当な精度(45〜50%)で学習しますが、見えないテストセットでテストした場合、トップ1精度は15-16%程度です。

ありがとうございました。

+0

CNNを開発するときに最初に質問する必要があるのは、フィードを供給するのに十分なデータがある場合です。どのくらいの数の画像が被写体ごとにありますか? 100未満の場合は、より多くの訓練データが適切な動きであることを示すことをお勧めします。私も10 000以上のトレーニング画像を取得することをお勧めします。 –

+0

@ThomasPinetz私は500kのデータを持っています。各科目には100のビデオクリップがあり、合計で5500本のビデオクリップが平均で約2〜5秒です。データは十分だと私は思っていますが、分割が正しければ質問しています。 – Renz

答えて

2

全体として、ルールはありません。ほんの一握りのルールがあります。トポロジとモデルを開発する作業の多くは、ハイパーパラメータの調整にあります。トレインテストの検証の比率は、これらのうちの1つに過ぎません。典型的な分割は、、非常に、およそ2:1:1であり、目的およびデータセットに応じて、多くのバリエーションがあります。トレーニングが50%未満の場合、またはテストまたは検証が20%未満の場合(データセットが小さすぎる場合は特に15%が便利な場合があります)、部門の質問を開始します。

「正解」は、モデルの最終的な目的によって大きく異なります。あなたが新しい科目を扱うことを期待するならば、当然ながら、あなたは試験と検証の両方に目に見えない科目を含める必要があります。与えられた主題だけを区別する必要がある場合は、バランスの取れたミックス(おそらく45:10:0)が必要です。この場合は、を歓迎します。オーバーフィットです。

一般的な人口(新しい科目)からの表現を処理すると予想される場合、私はあなたには訓練科目が不足していると思います。このようなモデルを適切に調整するには、比率を自由に使うことができるだけでなく、8:1:1のようなスリムなものでさえ、有用と認識できる結果をもたらすはずです。

+0

こんにちは@プルーンあなたの答えは非常にありがとうございます。私は啓発された、私はモデルの目的については何も知らない、おそらく私は顧問にこれについて尋ねるべきである。しかし、これはタイプミスですか? 「与えられた科目の差別化だけが必要な場合は、** 45:10:0 **とバランスの取れたミックスが必要です。この場合、過度の練習を歓迎します。トレーニングの場合は45%、検証の場合は10%、テストの場合は45%です。 – Renz

+0

申し訳ありません。それは10人の被験者の45人です。検証のために、55の入力セット全体を使用することができます。 – Prune

+0

ありがとうございます。私は、与えられた科目(新しい科目を扱うモデルではない)を識別するためのモデルを作成しようとしましたが、訓練の後で、検証データ全体の正確さ(10%)は約50%ですが、グラフでは約76-75%で、バッチサイズは256です。また、私はなぜモデルを訓練した後に55の入力セット全体を検証として使用すべきか疑問に思っています。 – Renz

関連する問題