2


pybrain実装 を使用して、Python でフィードフォワード ニューラル ネットワークを使用しています。トレーニングには、逆伝播アルゴリズムを使用します。ニューラルネットワークでは、ネットワークを過小訓練/過剰訓練しないようにするために、適切な量のデータが必要であることを知っています。データセットのトレーニング データの約 1200 の異なるテンプレートを取得できました。
ここで質問があります:
トレーニングに最適なデータ量を計算するにはどうすればよいですか?

データセット内の 500 項目で試してみたところ、収束するのに何時間もかかったので、あまり多くのサイズを試す必要はありません。この最後のサイズでかなり良い結果が得られましたが、最適な量を見つけたいと思います. ニューラル ネットワークには、約 7 つの入力、3 つの隠れノード、および 1 つの出力があります。

4

3 に答える 3

3

トレーニングに最適なデータ量を計算するにはどうすればよいですか?

それは完全にソリューションに依存します。科学と一緒にちょっとしたアートもあります。テリトリーをオーバーフィッティングしているかどうかを知る唯一の方法は、一連の検証データ (トレーニングに使用しないデータ) に対してネットワークを定期的にテストすることです。そのデータ セットのパフォーマンスが低下し始めたら、トレーニングがやりすぎた可能性があります。つまり、最後の反復にロールバックします。

この最後のサイズでかなり良い結果が得られましたが、最適な量を見つけたいと思います.

「最適」は必ずしも可能ではありません。それはあなたの定義にも依存します。一般的に求めているのは、与えられた重みのセットが目に見えないデータに対して「うまく」機能するという高い信頼性です。これが検証セットの背後にある考え方です。

于 2010-11-04T20:12:25.980 に答える
0

データセットの多様性は、ネットワークに供給するサンプルの量よりもはるかに重要です。

データセットをカスタマイズして、ネットワークに学習させたいデータを含めて強化する必要があります。

このカスタム データセットを作成したら、問題に完全に依存するため、サンプルの量を試してみる必要があります。

例: 特定の信号のピークを検出するためにニューラル ネットワークを構築している場合、ピークを持たない無数の信号サンプルでネットワークをトレーニングしてもまったく役に立ちません。サンプルの数に関係なく、トレーニング データセットをカスタマイズすることの重要性があります。

于 2010-11-04T20:15:53.553 に答える
0

技術的に言えば、一般的なケースで、すべての例が正しいと仮定すると、より多くの例が常に優れています。問題は、限界改善 (回答の質の一次導関数) とは何かということです。

これをテストするには、10 個の例でトレーニングし、品質 (たとえば 95%) をチェックしてから 20 個というように、次のようなテーブルを取得します。

10 95%
20 96%
30 96.5%
40 96.55%
50 96.56%

これにより、限界利益を明確に確認し、それに応じて決定を下すことができます。

于 2010-11-04T22:39:19.763 に答える