2013-01-24 10 views
0
I과 같이 설명 된 다중 입력 다중 출력 (MIMO) 시스템을위한 신경망 구축하고자

: I 읽은 책의 예를 설명신경망

y1(t)= f1(x1(t), x2(t),...xn(t)) 
y2(t)= f2(x1(t), x2(t),...xn(t)) 
..... 
..... 
ym(t)= fm(x1(t), x2(t),...xn(t)) 

을 단일 입력 단일 출력 시스템, 대개 y= f(t) 형태의 함수 근사에 사용되며, 여기서 신경망은 입력 t (독립 변수) 및 출력 y에 대해 학습됩니다. MATLAB 신경 네트워크 도구 상자를 사용하고 스칼라 케이스에 대한 솔루션을 쉽게 수행 할 수 있습니다. 그러나 어떻게 MIMO 문제를 만들거나 해결할 수 있습니까? 내가 변환하거나 matlab에 내장 된 함수로 문제를 해결하기 위해 입력 또는 출력을 표현하는 기능?

답변

0

먼저 아주 간단한 예 :

1- 먼저 출력 데이터의 입력 데이터 매트릭스와 다른를 확인해야합니다. 여기에 matlab에서 사전 설정된 데이터를 사용하고 있습니다. 이처럼 입력 출력 데이터의 구조를 만들려고한다 :

[InData,TarData] = engin_dataset; 

을 그래서 여기에 우리가 두 개의 입력과 두 개의 출력 (MIMO) 2가 -> 2 2 - 지금 당신이 네트워크를 만들어야합니다. 함수의 유형 및 트레이닝 알고리즘의 타입 (출력층 = 2 포함), 각 층의 뉴런의 I는 입력 데이터의 범위를 정의 여기

net1 = newff(minmax(InData),[10,2],{'tansig','purelin'},'trainlm') 

, 번호 : I는 피드 포워드 네트워크를 선택한 .

3 지금 당신은 당신의 네트워크를 훈련 할 수

net2 = train(net1,InData,TarData) 

을 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%

여기에 코드가 MATLAB에 의해 자동으로 생성 된 예제 중 하나에서 오는

:

% load data 
[inputs,targets] = engin_dataset; 
%inputs = engineInputs; 
%targets = engineTargets; 

% Create a Fitting Network 
hiddenLayerSize = 10; 
net = fitnet(hiddenLayerSize); 


% Setup Division of Data for Training, Validation, Testing 
net.divideParam.trainRatio = 70/100; 
net.divideParam.valRatio = 15/100; 
net.divideParam.testRatio = 15/100; 


% Train the Network 
[net,tr] = train(net,inputs,targets); 

% Test the Network 
outputs = net(inputs); 
errors = gsubtract(targets,outputs); 
performance = perform(net,targets,outputs) 

% View the Network 
view(net) 
+0

확인 질문/답변 : HTTP ://stackoverflow.com/questions/1672850/how-to-set-output-size-in-matlab-new-method – NKN