Feature selection using neural network
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Max Mefodovskiy
el 19 de Abr. de 2016
Editada: Greg Heath
el 26 de Nov. de 2016
Hello. I need to select the most informative input parameters using a neural network. I tried using autoencoder, but I did not succeed. Can you advise me(or give ready code if it is exist) how I can determine the most important parameters in the input sample?
INPUT matrix: 114(features)x426(samples), outputs: 62x426.
Data look so: inputs (1; 85,4794464111327; 56,4613265991210; 0; 0; 0; 0; 29,0181198120117; 0; 51,6929779052734; 87; 50; 32; 18; 137,172424316406 ...),
outputs (0,731800019741058; 0,555100023746491; 0,214200004935265; 0,00219999998807907; 0,0132999997586012; 0,00289999996311963; 0,00689999992027879; 0,00130000000353903; 0,00150000001303852; 0,0496999993920326; 0,0828000009059906; 0,142299994826317...). It is one sample of 426.
0 comentarios
Respuesta aceptada
Greg Heath
el 20 de Abr. de 2016
The most important of I inputs in "I"nput matrices with I rows and N columns depends on the "O"utput target matrix with O rows and N columns.
If input and output variables are separately standardized to zero-mean/unit-variance variables, inputs can be ranked more easily via stepwise selection algorithms. The most common of these are forward selection and backward selection. However, there are also combined forward/backward and backward/forward algorithms.
I tend to rely on the stepwise selection algorithms for linear transformations. These are available from the MATLAB function STEPWISEFIT.
A command line search yields
>> lookfor stepwise
addedvarplot - Create added-variable plot for stepwise regression
stepwise - Interactive tool for stepwise regression.
stepwisefit - Fit regression model using stepwise regression
stepwiseglm - Create generalized linear regression model by stepwise regression.
stepwiselm - Create 1st order linear regression model by stepwise regression.
The help and doc commands yield explanations and examples.
Another possibility is to use a 2nd order linear regression model by adding crossproducts and squares.
Most likely there are more sophisticated algorithms available. However, I have never had the need.
Hope this helps.
Thank you for formally accepting my answer
Greg
2 comentarios
Greg Heath
el 26 de Nov. de 2016
Editada: Greg Heath
el 26 de Nov. de 2016
1 Since a neural network is a universal approximator, the most important inputs to the function must be the most important inputs to a minmimun MSE NN which is not overfit (and probably, the best when it is underfit!)
2. The only way to determine what inputs are the most important is via a complete search of all of the input combinations.
3. The most practical way to estimate input rankings is via a backward search with standardized inputs and targets.
4. Forward-Backward and Backward-Forward searches may yield better solutions. However, the additional effort is seldom worth the amount of improvement.
Greg
Más respuestas (0)
Ver también
Categorías
Más información sobre Deep Learning Toolbox en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!