필터 지우기
필터 지우기

How to load own data set into neural network?

조회 수: 11 (최근 30일)
Shoumy
Shoumy 2013년 6월 12일
댓글: sarath chandrika balaji 2017년 9월 18일
Hi,
I am fairly new to MATLAB and I would like help in understanding about datasets. For classification in neural network, the example for wine classification show:
[x,t] = wine_dataset;
size(x)
size(t)
net = patternnet(10);
view(net)
I have a dataset of input [8x4]matrix and target [4x4]matrix. How do I input this into neural network such that I can use the function patternnet?
Thanks in advance for your help.

채택된 답변

Greg Heath
Greg Heath 2013년 6월 13일
Exactly as indicated in
help patternnet
and
doc patternnet
where
x = yourinput;
t = yourtarget; % target columns should be unit vectors with a single 1
DOCUMENTATION BUG: the default input is (10,'trainscg') NOT (20,'trainlm')!
close all, clear all, clc
[ x, t ] = iris_dataset;
[ I N ] = size(x) % [ 4 150 ]
[ O N ] = size(t) % [ 3 150 ]
trueclass = vec2ind(t);
MSE00 = mean(var(t',1)) % 0.222 biased MSE for naive constant output model
MSE00a = mean(var(t',0)) % 0.224 unbiased MSE for naive constant output model
Ntrn = N - 2*(0.15*N) % 105 default size of training set
Ntrneq = Ntrn*O % 315 Number of training equations
% Nw = (I+1)*H+(H+1)*O % No. of unknown weights for H hidden nodes
Hub = -1 + ceil( (Ntrneq-O)/(I+O+1))% 38 Upperbound for H if Ntrneq > Nw
H = floor(Hub/10)% 3 Desire Ntrneq >> Nw to mitigate noise and errors in data
Nw = (I+1)*H+(H+1)*O % 27 Number of unknown weights
Ndof = Ntrneq - Nw % 288 No. of estimation degrees of freedom
(See Wikipedia reference below)
MSEgoal = 0.01*Ndof*MSE00a/Ntrneq % 0.002 Desire adjusted R^2 >= 0.99
MinGrad = MSEgoal/10 % 2.05e-4
rng(0) % Initialize RNG
net = patternnet(H);
net.trainParam.goal = MSEgoal;
net.trainParam.min_grad = MinGrad;
[net tr Y E ] = train(net,x,t); % E = t-Y
stopcrit = tr.stop % Validation stop.
numepochs = tr.num_epochs % 60
bestepoch = tr.best_epoch % 54
MSE = tr.perf(bestepoch+1) % 0.0115
MSEa = Ntrneq*MSE/Ndof % 0.0126
R2 = 1-MSE/MSE00 % 0.948
R2a = 1-MSEa/MSE00a % 0.944
assignedclass = vec2ind(Y);
err = assignedclass~=trueclass;
Nerr = sum(err) % 2
PctErr = 100*Nerr/N % 1.33
result = [ H numepochs bestepoch R2 R2a Nerr PctErr]
result = [ 3 60 54 0.948 0.944 2 1.33 ]
% NOTE1: Can use tr to obtain trn/val/tst breakdown
%NOTE2: To imprcve performance try other (e.g.,9 more) random weight initializations. If that doesn't work try 10 random weight initialization trials with H = 4.
Hope this helps.
Thank you for formally accepting my answer
Greg
  댓글 수: 4
Shoumy
Shoumy 2013년 6월 14일
Thanks, Greg. Really helpful. :)
sarath chandrika balaji
sarath chandrika balaji 2017년 9월 18일
what is n in the code?

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Greg Heath
Greg Heath 2013년 6월 14일
Whoops! I made a mistake. If you type the command
tr = tr
you will see that tr.perf, tr.vperf and tr.tperf are the individual MSEs for training, validation and testing. The total MSE is obtained from
MSE = mse(E)
Sorry for the bum steer.
Greg

primrose khaleed
primrose khaleed 2014년 5월 16일
Hi ...I am new in neural network ...I have folder which store in it images after processing it ...I want to enter this image into neural network...please how can do it...how can consist target and trinning matrix....please help me....

카테고리

Help CenterFile Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by