2011-03-29 7 views
2

기차 기능에 문제가 있습니다matlab에 기차 기능 신경 네트워크의 문제

??? ==> network.train을 사용하는 중 오류가 발생했습니다. 대상의 네트워크 크기가 잘못되었습니다. 매트릭스에는 2 개의 열이 있어야합니다. ==> tfarst1에서의 오류 14 [net, tr] = train (net, min_max, f);

>> whos 
Name   Size     Bytes Class 
Fs   1x1       8 double array 
d   22050x1     176400 double array 
f    1x432     3456 double array 
h    1x1       8 double array 
h1   1x1       8 double array 
m   432x12     41472 double array 
min_max  432x2      6912 double array 
net   1x1      85013 network object 
s   55512x1     888192 double array (complex) 
Grand total is 92380 elements using 1201469 bytes 

나는 단지 내가 문제를 해결할 수있는 방법을 각 행에 대해 하나 개의 출력을 가지고?이 내 코드

clear;clc 
Fs=11025; 
d=wavread('alhai.wav'); 
s=specgram(d,512,Fs,kaiser(500,5),400); 
s=s(:); 
m=melcepst(s,Fs); 
min_max=minmax(m); 
[h h1] = size(m); 
f=ones(1,h); 
net=newff(min_max,[5 1],{'tansig','purelin'},'trainlm'); 
net.trainParam.show=500; 
net.trainParam.goal=1e-5; 
net.trainParam.epochs=5000; 
[net,tr]=train(net,min_max,f); 
+0

미안하지만, 내 주장이 정확하다고 생각하지 않습니다. 나는 Matlab의 복사본을 가지고 있지 않다. 모든 치수가 [여기] (http://www.mathworks.com/help/toolbox/nnet/train.html)에 나와있는 것과 일치하는지 확인하십시오. 두 곳에서 min_max를 사용하는 것은 맞지 않을 수도 있지만 확실하지 않습니다. – jonsca

답변

0

당신은 기본적으로 이미 자신의 질문에 대답 한 것입니다. help train을 입력 할 때 지정한 올바른 입력을 입력하지 않았기 때문에 명령을 실행할 수 없습니다.

실제 입력보다 많은 입력이 필요한 경우 물론 더미 입력에 함수를 공급할 수 있습니다. 그러나 train이 어떻게 작동하는지에 대해 깊이 이해하지 못하면 바람직하지 않은 결과가 발생할 수 있습니다.