Feature selection using neural network
12 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Greg Heath
2016-4-20
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 个评论
Greg Heath
2016-11-26
编辑:Greg Heath
2016-11-26
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sequence and Numeric Feature Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!