MATLAB: Parameter Importance For Neural Network

Deep Learning Toolboxmatlab neural network weight

Hi all, i am trying to see which of my input is more important when using neural network, something like [ TreeBagger(100,Xtrain,Ytrain(:,1),'method','regression','oobvarimp','on'] which allows me to see which of the parameters does the model replies on more to predict the outputs. I tried to use the wb = net.IW to get the input weight to determine which parameter is actually more important but what i don't understand is when i do that the weight contains negative value and even exceed 1 ?

Best Answer

[ I N ] = size(input) % = ?
[ O N ] = size(target)% = ?
0. If inputs are not orthogonal and/or N is large, don't expect a clear cut definitive answer.
1. Standardize both inputs and targets to zero-mean/unit-variance using zscore
2. As a guide, obtain input rankings for a linear model using both backward and forward searches.
help stepwisefit
doc stepwisefit
3. My typical design goal is : Minimize the number of NN hidden nodes, H, subject to the constraint MSE <= 0.01 (then 99% of the target variance is successfully modeled). Others may differ
4. Obtain 10 I-H-O nets, trained from different initial states of the RNG, satisfying:
a. The number of hidden nodes, H, is a minimum
b. Subject to the constraint
Either
MSE <= 0.01
or
MSE is minimized but cannot achieve 0.01
5. For each of the 10 nets you will get 10 rankings from which you can make your choice
a. Rank the inputs by the MSE obtained when each input is replaced
by zeros
b. Replace the input that results in the lowest MSE with zeros.
c. Repeat the process until all inputs are ranked.
Hope this helps.
Thank you for formally accepting my answer
Greg