MATLAB: Problem: feed-forward neural network – the connection between the hidden layer and output layer is removed.

Deep Learning Toolboxtraining

Hi everybody.
I am facing a strange problem with Matlab and, in particular, with the training of a feed-forward neural network.
In practice, I set the network, which is formed by an input layer, a hidden layer and an output layer. But, when I call the train function, the connection between the hidden layer and the output layer is removed and I do not understand why. I hope someone can help me.
The following is the simple code I use:
if true
load fisheriris
feedforwardNetwork = feedforwardnet(10);
feedforwardNetwork.divideFcn = 'dividetrain';
feedforwardNetwork.trainFcn = 'traingd';
feedforwardNetwork.trainParam.epochs = 10;
feedforwardNetwork = train(feedforwardNetwork, meas');
end
Gianni.

Best Answer

% Hi Greg and Brendan. Thanks for your reply. % % Well, after struggling reading the Matlab documentation, % I think I understood what the problem was. % % The code I posted was just a dummy example to explain the % issue I was facing. My real problem is the following: I am % trying to solve an anomaly detection problem and, in % particular, reading sensor data, I am trying to detect when % there is an anomaly behavior. % % In order to do so, I am using different machine learning % algorithms and evaluating their performance. So far, I have % used the nearest neighbor algorithm, the self-organizing maps % and the support vector machines. Another "instrument" I would % like to use is that of neural networks.
Your problem is that you did not do the following:
1. Identify the problem as one of the following
a. regression/curvefitting
b. classification/patternrecognition
c. clustering
d. time-series
2. Search both NEWSGROUP and ANSWERS using
a. classification
b. pattern-recognition
to identify
a. classification/pattern-recognition functions
(e.g., patternnet)
b. example classification/pattern-recognition code
and data examples
3. Practice using one or more of the MATLAB classification/...
pattern-recognition example data obtained from
help nndata
doc nndata
5. Apply what is learned above on your dataset.
% My idea was to train the neural network with normal data % (so, a one-class data set) and use the net to compute a sort % of anomaly score. But, if I got it right, it has no sense to % train a neural network having just one output neuron with % data belonging to just one class. Neural networks are very % variegated and represent a vast subject. I am slowly learning % them.
No. Create an input and target sets for 2 classes.
% As regard the default settings, I have just modified the % algorithm in order to have the classic gradient descent.
No. Always begin using as many defaults as possible. Then
consider (one-at-a-time) replacing default settins.
% P.s. Little question: when there is no target data defined, % isn't the problem an unsupervised machine learning problem? % Theorically, I could do it (given that my data set is not a % one-class data set).
Your best bet is to create a 2-class dataset.
Hope this helps.
Greg