2009-03-28 15 views
3

私は、バックプロパゲーション(1つの隠れたレイヤー、画像からのB/Wピクセルを含む8x8ビットマトリックスとしての入力)を訓練したマルチレイヤパーセプトロンネットワークを使用したいと考えています。以下の質問が発生します:OCR用マルチレイヤパーセプトロン

  1. どのタイプの学習を使用しますか:バッチまたはオンライン?
  2. どのように私は隠れた層のノードの正しい数を推定することができますか?私は26英字の手紙を処理するつもりです。
  3. どのように私は過大な避けを避けるためにトレーニングプロセスを止めることができますか?
  4. (それほど関係はありません)MLPよりも優れたNNプリーブがありますか?私は、ローカルミニマム、オーバーフィッティングなどでスタックしているMLPについて知っているので、より良い(ソフトコンピューティングベースの)アプローチがありますか?

おかげ

+0

宿題の場合は、適切なタグを付けてください。 –

答えて

5

は、これらの質問のほとんどは、あなたが最高の作品かを確認するためにさまざまなオプションを試してみる必要があるものです。それがANNの問題です。ほとんど何もする "最良の"方法はありません。あなたは、あなたの特定の問題にどのように作用するのかを知る必要があります。それにもかかわらず、私はあなたの質問に私の助言を与えるでしょう。

1)私は漸進的学習を好みます。私はネットワークの重みが各パターンの後に更新されることが重要であると思う。

2)これは難しい質問です。それは本当にネットワークの複雑さに依存します。入力ノード、出力ノード、およびトレーニングパターンがいくつあるか。問題が発生した場合は、100から始め、範囲が100から上がったり下がったりして、改善があるかどうかがわかります。 3)私は通常、各エポック後にテストセット(トレーニングセットではない)に適用したときのネットワークの合計エラーを計算します。そのエラーが約5エポックになると、私は訓練をやめてから、増加が起こる前に作成されたネットワークを使用します。トレーニングを中止する場合は、トレーニングセットのエラーを使用しないことが重要です。これがオーバーフィットの原因となります。

4)出力をアルファベットの文字を表す26個のノードとして表す場合は、確率的ニューラルネットワークを試すこともできます。このネットワークアーキテクチャは分類問題に適しています。繰り返しますが、いくつかの異なるアーキテクチャーを試して、自分の問題に最も適したものを見てみることをお勧めします。

2

数字3に関しては、ANNが過大になり始めるときの1つの方法は、トレーニングデータとテストデータのネットの精度と実行されたエポックの数をグラフで表示することです。ある時点では、訓練の精度が高まるにつれて(100%に近づく)、ANNが訓練データにあまりにも適合しているため、実際にはに減少します。起こることを始めるエポックを見て、過去を訓練しないようにしましょう。

データが非常にの場合、定期的かつ一貫性があります。ゲームの非常に遅いか、まったく間に合わない可能性があります。あなたのデータが非常に不規則であれば、あなたのANNはずっと早い時期に過ぎ去ります。

また、データの正規性をテストする方法は、k-fold cross validationのような処理を行うことです。