?? character_recognize.m
字號:
%特征識別
%識別26個字母 使用函數(shù)newwff創(chuàng)建一個兩層網(wǎng)絡(luò)并初始化
%***********************************
[alphabet,targets]=prprob;
S1=10;
[R,Q]=size(alphabet); %alphabet在prprob函數(shù)中有定義
[S2,Q]=size(targets); %targets在prprob函數(shù)中有定義
P=alphabet;
net=newff(minmax(P),[S1 S2],{'logsig' 'logsig'},'traingdx');
net.LW{2,1}=net.LW{2,1}*0.01;
net.b{2}=net.b{2}*0.01;
%**********************************
%網(wǎng)絡(luò)訓(xùn)練 用理想的信號進(jìn)行訓(xùn)練和加有噪聲的信號進(jìn)行訓(xùn)練
%用理想的信號
P=alphabet;
T=targets;
net.performFcn='sse';
net.trainParam.goal=0.1;
net.trainParam.show=20;
net.trainParam.epochs=5000;
net.trainParam.mc=0.95;
[net,tr]=train(net,P,T);
%**********************************
%加有噪聲的信號進(jìn)行訓(xùn)練 300個時間單位 誤差參數(shù)增加到0.6 因為訓(xùn)練內(nèi)容提高了4倍
netn=net;
netn.trainParam.goal=0.6;
netn.trainParam.epochs=300;
T=[targets targets targets targets];
for pass=1:10
P=[alphabet,alphabet,...
(alphabet+randn(R,Q)*0.1),...
(alphabet+randn(R,Q)*0.2)];
[netn,tr]=train(netn,P,T);
end
%************************************************
%系統(tǒng)性能評估
noise_range=0:0.05:0.5;
max_test=100;
T=targets;
for i=1:11
noiselevel(i)=noise_range(i);
errors1(i)=0;
errors2(i)=0;
for j=1:max_test
P=alphabet+randn(35,26)*noiselevel(i); %測試款經(jīng)誤差訓(xùn)練的網(wǎng)絡(luò)
A=sim(net,P);
AA=compet(A);
errors1(i)=errors1(i)+sum(sum(abs(AA-T)))/2; %測試經(jīng)過誤差訓(xùn)練的網(wǎng)絡(luò)
An=sim(netn,P);
AAn=compet(An);
errors2(i)=errors2(i)+sum(sum(abs(AAn-T)))/2;
end
end
pause
figure(1);
plot(noise_range,errors1*100,'--',noise_range,errors2*100);
title('識別錯誤率');
xlabel('噪聲指標(biāo)');
ylabel('未經(jīng)誤差訓(xùn)練的網(wǎng)絡(luò)-- 經(jīng)過誤差訓(xùn)練的網(wǎng)絡(luò)---');
%******************************************************
%測試系統(tǒng)
for index=1:5:26;
noisyJ=alphabet(:,index)+randn(35,1)*0.2;
figure(2);
plotchar(noisyJ);
A2=sim(net,noisyJ);
A2=compet(A2);
answer=find(compet(A2)==1);
figure(3);
plotchar(alphabet(:,answer));
end
%******************************************************
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -