How do I create a neural network for noisy data with a high percentage of variables with the Neural Network Toolbox 6.0.3 (R2009b)?

1 view (last 30 days)
I have some noisy data with 250 samples and 50 variables. I would like to create a neural network that gives the best performance.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 14 Oct 2009
If you have data with a high number of variables, it is important that the number of constraints to be multiple times the number of weight/bias values being optimized, especially for noisy data.
In this case with only a low number of samples or constraints, this would be difficult. So, it is preferable to have a low number of neurons in the middle layers.
A solution would be to reduce the number of variables. There are two ways to do this. (1) You could make a decision as to which variables are most likely to contain useful information. And (2) the PROCESSPCA preprocessing function can be used as the first input processing function as follows:
net.inputs{1}.processFcns = [{'processpca'} net.inputs{i}.processFcns];
net.inputs{1}.processParams{1}.maxfrac = 0.01;
PROCESSPCA removes redundant information from input data by orthogonalizing information in order of information content, and then dropping information which contributes less than a specific fraction of the information (maxfrac). Maxfrac can be increased to filter out more low quality information.
For such data, TRAINBR may be the best training function to use.
TRAINBR uses Bayesian Regularization, which means it attempts to find a good solution with small of weight values. Solutions with small weights, like solutions with fewer weights, are more likely to generalize well and less likely to over fit for any reason, including noisy data.

More Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Tags

No tags entered yet.

Products


Release

R2009b

Community Treasure Hunt

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

Start Hunting!