FisherLDATrainer return more than C-1 dimensions
Created by: siebenkopf
From a theoretical point of view, the LDA projection matrix is limited to C-1 dimensions, where C is the number of classes in your problem. Nevertheless, the FisherLDATrainer returns N-1 dimensions, where N is the dimension of the feature vectors.
Having a look at some toy example we found that only C-1 eigenvectors of LDA have eigenvalues higher than zero, while the rest is very close to zero, as is expectable from the theoretical point of view. Hence, it would make sense to limit the number of dimensions to C-1 since the remaining eigenvectors are subjected to precision errors.
Anyhow, I found that these zero-eigenvalue eigenvectors are valuable. Hence, it would be nice to have an option to still retain them, while by default they should be removed.