MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by Fady on 19 Jul 2013

I´m sort of a new to neural networks and need some help. I´m working on a project that simulates a blast furnace and forcasts the silicon content of the molten metal output. I´ve tried many different combinations, sadly i haven´t had any real breakthrough. The best combination so far, that still doesn´t return satsfying results, is a 2 layer network:

180 neurons - TANSIG

1 neuron - PURELIN

Training = LM

I have 11 vectors of 1000 elements as input, some range from 0-10 some from 1300-1500. The target vector is the same size ranging from 0-3.

Any ideas on what I should do?

Answer by Greg Heath on 20 Jul 2013

Accepted answer

INCORRECT: The target vector does not have the same size.

Standardize input and target matrices (ZSCORE or MAPSTD)

[I N ] = size(input) % [11 1000 ] [O N ] =size(target) % [ 1 1000 ]

Plot the output vs each input

Use the plot, CORRCOEF and REGRESS for indications of insignificant inputs.

Ntrn = N - 2*(0.15*N) % 700 Neural Network default Ntrneq = Ntrn*O % 700 No. of Design equations% Nw=(I+1)*H+(H+1)*O = 13*H + 1 unknown weights for I-H-O net

% Hub = -1+ceil( (Ntrneq-O)/(I+O+1) ) % 53 upperbound for Ntrneq >= Nw

First try to find a good value for H. Try

Ntrials = 10% random initial weight trials for each of the values of H in the range

Hmin=0 dH = 5 Hmax =50 j = 0 for h = Hmin:dH:Hmax j = j+1 if h == 0 net = fitmet([]); else net = fitnet(h); end for i = 1:Ntrials % --------SNIP end end

Choose the smallest value of h that yields acceptable validation set results.

Hope this helps.

**Thank you for formally accepting my answer**

Greg

## 0 Comments