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