Recently when I was using the Fisher Method with TMVA, I got this error:
<FATAL> : <GetFisherCoeff> matrix is singular with determinant=3.21102e-143 did you use the variables that are linear combinations?
I used over 100 variables as input to the TMVA, but since these variables are all hidden layer neurons in a neural network, we don’t know the relation of these variables so we can’t find which variables are linear related. Is there any possibility that we could still use the Fisher Method to get the classifier output?
I think is going to be difficult to use Fischer with so manny variables and if you have them 100% correlated. Maybe try to do some decor relation first using something like a PCA ?
Oherwise, why are you using Fischer and not just adding some extra NN layers and use Neural network output for classification ?
Thanks @moneta , actually there is one last layer in our neural network with 37 classes indicating different AK8 jet types.
There are 12 classes for signal jet types while the other 25 are for background jet types. First we considered to use likelihood discriminant for classification, like,
12 signal scores/(12 signal scores + 25 background scores).
But to our surprise this is slightly worse than using Fisher, taking all the 37 scores as inputs. So we consider if we use the hidden neurons as the Fisher inputs, the performance may be even better.
Since Fisher failed now, we are considering using a one-layer neural network from the 100+ hidden neurons to only two output layer indicating background and signal class.
Thanks again for your advice!