MATLAB: I am new to neural network .i am doing project on identifying secure and insecure state in power system using ANN

to analyse plots to classify states

my sample code is
load inputdata14; load target14; numHiddenNeurons = 30; net1 = newpr(inputdata14,target14,numHiddenNeurons); net1.divideParam.trainRatio = 70/100; % Ratio of data to be used to train the network. Adjust as desired net1.divideParam.valRatio = 15/100; % Ratio of data to be used to validate the network. Adjust as desired net1.divideParam.testRatio = 15/100; % Ratio of data to be used to test the network. Adjust as desired [net1,tr] = train(net1,inputdata14,target14); outputs = sim(net1,inputdata14);
i am getting plots like this
is that confusion matrix is correct? or i need to some more dataset to train network? and when to stop training and how can i decide plots are giving correct result? i don't understand how to analyse the plots please anyone help ASAP… thank you

Best Answer

  • 1. You do not have anywhere near as much data (N) that is necessary to provide the number of training equations (Ntrneq) to accurately solve for all of the unknown weights, Nw = (I+1)*H+(H+1)*O , generated by H = 30 hidden nodes.
    [ I N ] = size(input)
    [ O N ] = size(target)
    Ntrn = N-2*round(0.15*N)
    Ntrneq = Ntrn*O
    2. Since the initial weights and trn/val/tst data divisions are random, you need to design quite a few trial nets before finding a good small net.
    3. I have posted jillions of solutions in BOTH the NEWSGROUP and ANSWERS. Search using
    Hmin:dH:Hmax Ntrials
    Hope this helps.
    Thank you for formally accepting my answer
    Greg