error in printed character recognition using neural network

조회 수: 1 (최근 30일)
Sarah Mahmood
Sarah Mahmood 2013년 9월 19일
댓글: Sarah Mahmood 2013년 11월 15일
hi all, I'm an Ms.c. student and I'm working on my thesis project , part of it consisted of printed character recognition using neural network, i have implement the input data, target data and the NN structure yet its only works well on the trained data !! neither disabling training and test using testing samples and trained data nor online acquisition of character and train the network is working, I checked the feature acquired during online acquisition they are almost the same to the one NN trained on, but the character not RECOGNIZED !! I have changed the font and repeat the entire work and changed the camera and the position but this was in vain the tested characters is L,R and 0 to 9 if there is any expert can figure this out, it will help me a lot and i really appreciated the code of the net is shown bellow
load y;
load x11;
InData=y';
TarData=(0.01*x11');
net1 = newff(minmax(InData),[10,10,1],{'logsig','logsig','purelin'},'trainlm')
net1.trainParam.epochs=1000;
net1.trainParam.goal=1e-10;
net1.trainParam.min_grad=1e-10;
net1.trainParam.mu=0.001;
[net1 tr] = train(net1,InData,TarData);
save tr tr;
axes(handles.axes5);
loglog(tr.perf);
yt=100*sim(net1,ft');

채택된 답변

Greg Heath
Greg Heath 2013년 9월 29일
load y;
load x11;
% size(y), size(x11) ?
InData = y';
TarData = (0.01*x11');
% If this is a pattern recognizer, why isn't the target binary??
% MSE00 = mean(var(TarData',1)) % Reference MSE
net1 = newff(minmax(InData),[10,10,1],{'logsig','logsig','purelin'},'trainlm')
net1.trainParam.epochs=1000;
net1.trainParam.goal=1e-10;
net1.trainParam.min_grad=1e-10;
net1.trainParam.mu=0.001;
[net1 tr] = train(net1,InData,TarData);
% Only use one hidden layer and as many defaults as possible. Replace above 6 statements with
%
% net1 = newff(minmax(InData),[10,1]);
% [net1 tr Y E ] = train(net1,InData,TarData); % E = TarData - Y
% MSE = mse(E)
% NMSE = MSE/MSE00 % Normalized
% If this is a pattern recognizer you should compare round(Y) and binary TarData to calculate the classification error rate
% Nerr = sum(round(Y)~=TarData) % Assuming binary TarData
save tr tr;
axes(handles.axes5);
loglog(tr.perf);

추가 답변 (0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by