% Solve a Pattern Recognition Problem with a Neural Network % Script generated by Neural Pattern Recognition app % Created 27-Dec-2020 18:40:20 % % This script assumes these variables are defined: % % dataX - input data. % dataY - target data. x = dataX'; t = dataY'; % Choose a Training Function % For a list of all training functions type: help nntrain % 'trainlm' is usually fastest. % 'trainbr' takes longer but may be better for challenging problems. % 'trainscg' uses less memory. Suitable in low memory situations. trainFcn = 'traingd'; % Gradient descent backpropagation. % Create a Pattern Recognition Network hiddenLayerSize = 10; net = patternnet(hiddenLayerSize, trainFcn); % net.performFcn = 'msesparse'; net.trainParam.lr = 0.25; net.trainParam.goal = 1e-8; net.trainParam.max_fail = 10; % net.layers{2}.transferFcn= 'tansig'; % net.layers{3}.transferFcn= 'logsig'; % Setup Division of Data for Training, Validation, Testing net.divideParam.trainRatio = 60/100; net.divideParam.valRatio = 10/100; net.divideParam.testRatio = 30/100; % Train the Network [net,tr] = train(net,x,t); % Test the Network y = net(x); e = gsubtract(t,y); performance = perform(net,t,y) tind = vec2ind(t); yind = vec2ind(y); percentErrors = sum(tind ~= yind)/numel(tind); % View the Network view(net) % Plots % Uncomment these lines to enable various plots. %figure, plotperform(tr) %figure, plottrainstate(tr) %figure, ploterrhist(e) %figure, plotconfusion(t,y) %figure, plotroc(t,y)