2
$\begingroup$

If I have 3 separate feedforward neural networks in Matlab, is it possible to connect them so that, given input data and target data the 3 work in parallel to produce output? If so, how do I do this?

$\endgroup$
2
  • $\begingroup$ Please be a little more specific about what exactly you mean by "connect". Do you mean that you want to train all 3 NNs separately and then combine their result on any input data to get the result ? If so take a look at Ensemble Learning. $\endgroup$
    – abhnj
    Jul 11 '15 at 14:38
  • $\begingroup$ yes, that is what I mean $\endgroup$
    – FakeBrain
    Jul 11 '15 at 19:48
3
$\begingroup$

If you want to combine the results from three different Neural Networks to "boost" the performance :) , you might want to look at the different Ensemble Learning Methods as I mentioned earlier.

Which method you should use, depends on how you share or divide the training data between the three NNs. For example if the NNs are trained on same data but have different parameters, you can look at simple voting ( if you are doing a classification task) or averaging ( if you are using them for regression).

The more advanced methods like AdaBoost divide the training data between the classifiers. You can read about it in Boosting Neural Networks

$\endgroup$
2
$\begingroup$

In gereral, there are four ways one can "connect" neural networks (depending on you application at hand) as described in Combining Artificial Neural Networks, Sharkey et al.: Four ways to connect

In the cooperative mode, there are various ways in which one can combine the decisions made by different models. One common way is to take the average of the predictions. Other ways are taking the median, or some weighed average of them.

In the competitive mode, it is winner-take-all, where the prediction from the best model for that test point is selected.

In sequential mode, you classify on coarse classes (i.e. natural objects vs. man made objects), the prediction from this stage would be used to decide what to do next..(i.e. if the model predicts, man-made objects, one can have a classifier to do fine grained classification).

Neural networks have lot of hyper-parameters to tune. In the supervisory mode, one can train an neuralnet just to select these hyper-parameters of a "real" neuralnet that is actually trained on your problem at hand.

Please dig deeper into the above mentioned article for more details.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.