基于BP網(wǎng)絡(luò )的字母識別
3.3.3 再次用理想樣本訓練
在網(wǎng)絡(luò )進(jìn)行了上述的訓練以后,網(wǎng)絡(luò )對無(wú)誤差的信號可能也會(huì )采用對帶有噪聲信號的辦法。這樣做會(huì )付出較大的代價(jià)。因此,必須再次使用理想的樣本進(jìn)行訓練。這樣就可以保證在輸入理想數字信號時(shí),網(wǎng)絡(luò )能夠最好地對其做出反應。其訓練代碼如下:
netn.trainParam.goal=0.00001;
netn.trainParam.epochs=1000;
netn.trainParam.show=5;
[netn,tr]=train(netn,p,t);
訓練結果為:
TRAINLM, Epoch 0/1000, SSE 4.60127e-007/1e-005, Gradient 4.23932e-006/1e-010
TRAINLM, Performance goal met.
滿(mǎn)足要求。
3.4 對網(wǎng)絡(luò )進(jìn)行仿真和測試
為了測試系統的可靠性,本文用了加入不同級別的噪聲的字母樣本作為輸入,來(lái)觀(guān)察用理想樣本和加噪樣本訓練出來(lái)的網(wǎng)絡(luò )的性能,并繪制出誤識率曲線(xiàn),如圖5所示。
圖5其中虛線(xiàn)代表用無(wú)噪聲訓練網(wǎng)絡(luò )的出錯率,實(shí)線(xiàn)代表用有噪聲訓練網(wǎng)絡(luò )的出錯率。從圖5可以看出,在均值為0~0.05之間的噪聲環(huán)境下,兩個(gè)網(wǎng)絡(luò )都能夠準確地進(jìn)行識別。當所加的噪聲均值超過(guò)0.05時(shí),待識別字符在噪聲作用下不再接近于理想字符,無(wú)噪聲訓練網(wǎng)絡(luò )的出錯率急劇上升,此時(shí)有噪聲訓練網(wǎng)絡(luò )的性能較優(yōu)。
3.5 測試實(shí)例
本文用一個(gè)含噪聲的字母F作為網(wǎng)絡(luò )輸入,并繪出含噪聲的字母F,其輸出語(yǔ)句為:
noisyF=alphabet(:,6)+randn(35,1)*0.2;plotchar(noisyF) ;
其結果如圖6所示。
評論