How to aviod creating a fully connected neural network in matlab?

2 views (last 30 days)
I am trying to build a neural network in matlab for regression/ forecasting purpose. Is it possible to remove certain neuron connections in matlab built in neural network codes?

Answers (3)

Greg Heath
Greg Heath on 7 Feb 2018
Edited: Greg Heath on 7 Feb 2018
The neural net for regression and curvefitting is FITNET (special case of feedforwardnet). For details see the documentation
help fitnet
and
doc fitnet
For examples that minimize the number of hidden nodes via a double for-loop search see BOTH the NEWSGROUP comp.soft-sys.matlab and ANSWERS using
greg fitnet Ntrials
Hope this helps.
Thank you for formally accepting my answer
Greg
  2 Comments
zafar khan
zafar khan on 9 Feb 2018
I am afraid that does not help me achieve what i want to do. Again to clarify i want to delete specific weight connection from a specific neuron to other specific neuron during training.
Greg Heath
Greg Heath on 13 Feb 2018
I am afraid that you will not get much of a response unless you can explain why you would want to do such a thing.
Typically, variations are controlled by adding or removing hidden neurons, not connections.
Hope this helps,
Greg

Sign in to comment.


Greg Heath
Greg Heath on 13 Feb 2018
The answer to your question is :
Yes it is possible to do.
HOWEVER, there is no MATLAB function available for doing so.
THEREFORE you would have to write your own code.
From ~1983 to ~2003 I wrote evolving versions of Gaussian hidden node classifiers for classifying radar targets. Most of the evolution involved updating the classifiers when new radar data on old target types became available. Less often new classifiers had to be designed when data on new target types became available.
The simplest versions were comparable to variations of MATLAB's NEWRB and NEWRBE.
If you are going to modify network geometry during training. I recommend using Gaussian hidden nodes and a combination of NEWRB and NEWRBE.
1. Classify inputs using Gaussian hidden nodes.
2. Misclassified inputs are used to add new Gaussian hidden nodes.
3. There are many ways to determine where and when a Gaussian hidden
node should be added or removed.
In summary, if you are going to remove and/or add network connections during training, I recommend using Gaussian hidden nodes in the fashion of NEWRB and NEWRBE.
Hope this helps.
Thank you for formally accepting my answer
Greg
  3 Comments
mohammed al ai baky
mohammed al ai baky on 9 Oct 2018
Did you get anywhere around this? Did you try other tools? I'd like to remove connections as well. The purpose is to use for NN-based Error Correction Code decoders
zafar khan
zafar khan on 9 Oct 2018
No, unfortunately i could not. I tried many different ways to do it but the only option left is to code your own neural network.

Sign in to comment.


Greg Heath
Greg Heath on 10 Oct 2018
That is why I "invented" the straightforward method of looping over number of hidden nodes.
Search BOTH the NEWSGROUP and ANSWERS using
Greg Ntrials
Hope this helps.
Thank you for formally acceping my answer
Greg

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!