2012-03-15 8 views
1

私はassignementに取り組んでいる:私はMatlabの1文字認識競合ニューラルネットワーク

で私は入力してきた手紙(26異なる文字から44点の特徴を抽出しました

を文字認識スクリプトを構築してきました)と私は、各文字のための44x26機能のマトリックス1行をしたと私は成功:(

せずに、26個の異なるクラスの文字を分類することができ、ネットを構築しようとしている競争力のあるニューラルネットワーク

を使用したいです

各手紙の特徴のセットは他のものとは異なりますので、私はテントの訓練のパラメータでは間違っていると思います

ここで純訓練のためのコードです:問題は、私は私を設定することができる方法

「クラス」は26個の異なるクラスが含まれていないということですが、通常は1または2つのを繰り返しクラス

epochs = 1500; 
kohonen_weights_learning_rate = 0.02; 
conscience_bias_learning_rate = 0.001; 

net = competlayer(26, kohonen_weights_learning_rate, conscience_bias_learning_rate); 
net.trainParam.epochs = epochs; 
net = train(net, Features); 
outputs = net(Features); 
classes = vec2ind(outputs); 

は、それは26のクラスに合うようにネットですか?

答えて

1

訓練されたネットワークは、指定されたデータセット(機能)の指定されたクラス数より少ないクラスを区別します。あなたのトレーニングは成功していないと言います。

コードは正しいです。

あなたの好きなようにネットワークが訓練されるまで、パラメータとエポックを試してみてください。

最後に、クラスを正しく認識するネットワークのトレーニングができない場合は、その機能の抽出方法を検討することを検討する必要があります。

+0

おそらく、私は文字フィーチャーを抽出するために間違った方法を使用しています。それを抽出する一般的な方法は何ですか? – ZioBafio

+0

これは別の質問です。通常、NNでは文字画像がニューラルネットワークに配列として供給されます。私はカスケードNNを見ることを提案しますが、これはあなたのアプリケーションに問題の知識を少し残していると思います。 –

関連する問題