매트랩 학습시킨뒤 에러를 특정범위미만으로 출력 시키고 싶은데 도움좀 주세요

조회수 762회

150 샘플 중 50%인 75 샘플로 neural network을 학습 시킨 후 나머지 50%를 예측해보고 잘 예측하는지 평가해 보시오. 에러가 0.1 미만이 되도록 하시오가 문제인데요. clear all; clc;

inputs = [1:3]'; % 입력

outputs = [0,1]'; % 원하는 출력 (실제 값)

% create network

net = network(1, 2, [1; 1], [1; 0], [0 0; 1 0], [0 1] );

% View network structure

view(net);

% number of hidden layer neurons

net.layers{1}.size = 4;

% hidden layer transfer function

net.layers{1}.transferFcn = 'logsig';

view(net);

% number of hidden layer neurons

net = configure(net,inputs,outputs);

view(net);

initial_output = net(inputs);

% network training

net.trainFcn = 'trainlm';

net.performFcn = 'mse';

net = train(net,inputs,outputs);

% network response after training

final_output = net(inputs)

load fisheriris for x = 1:1:150

switch species{x};

    case 'setosa'            
        group(x)=1


    case 'versicolor'          
        group(x)=2

    case 'virginica'
        group(x)=3


end

end

train_x=meas(1:2:end,:); train_y=group(2:2:end);

test_x=meas(1:2:end,:); test_y=group(2:2:end);

여기까지 했는데 train함수를 이용해서 train_x,train_y데이터로 net를 학습시켜서 학습된 net에 새로운 데이터를 넣어 예측해보고 에러를 0.1미만으로 하고 싶은데 도움좀 주세요ㅠ

  • 흠... 저게 정상적으로 돌아간다는 가정하에 말씀드리면... 75개 학습 셋의 샘플링 방식을 다양하게 바꿔야 하지 않을까요. 랜덤 혹은 클러스터링 방식으로 doodoji 2018.10.31 15:27

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)