Hi,
here viewtopic.php?f=17&t=9239&view=next I told that I am using the SSVEP scenario with the SVM classifier instead of the LDA.
I have two questions:
1. How in OpenViBE I can normalize the inputs of the SVM classifier? Someone suggested me to use the univariate statistics box and the simpleDSP box ( to set all features to zero mean and unit standard deviation), but I don't have very clear how to implement it with that boxes; could anyone help me?
2. The outputs of the Classifier Trainer Box and of the Classifier Processor Box are a stimulus. So when I setted that boxes as a SVM classifier, I have to change something regard to the outputs?
At last, any knowledges about how to adjust the SVM's parameters are welcome.
Thanks a lot in advance,
regards
Roberto
SVM classifier: inputs, outputs and parameters
Re: SVM classifier: inputs, outputs and parameters
Nobody that could help me?
Thanks,
Roberto
Thanks,
Roberto
-
- Posts: 112
- Joined: Sun Mar 14, 2010 12:58 pm
Re: SVM classifier: inputs, outputs and parameters
Hi Roberto,
Regarding your first question (normalization):
- using the univariate statistic box, you should be able to compute the mean and variance of each of your feature (which the box can compute).
- Once you got these mean/variance for each feature, you can normalize your features using the simpleDSP box, e.g., by using (x - mean)/var, where x is your input feature, mean its mean and var its variance (both computed previously with the univariate statistic box). I never actually did that myself, but that should theoretically work . Otherwise, use the LDA, you often don't need normalization with the LDA
- the classifier processor box has 2 outputs, not just one. The first one is indeed a stimulation, which is the estimated class. The second output is the classifier output (a streamed matrix), in the case of SVM this value between 0 and 1 represents the probability of the input features to belong to one of the two classes (see http://openvibe.inria.fr/documentation/ ... essor.html). It is this second output that you should process (x - 0.5 using the simpleDSP) if you want to have an output which is negative for one class and positive for the other. You should have a deeper look at the boxes documentation for further details (press F1 on top of a box in the designer to open its documentation)
I hope this helps,
Best,
Fabien
Regarding your first question (normalization):
- using the univariate statistic box, you should be able to compute the mean and variance of each of your feature (which the box can compute).
- Once you got these mean/variance for each feature, you can normalize your features using the simpleDSP box, e.g., by using (x - mean)/var, where x is your input feature, mean its mean and var its variance (both computed previously with the univariate statistic box). I never actually did that myself, but that should theoretically work . Otherwise, use the LDA, you often don't need normalization with the LDA
- the classifier processor box has 2 outputs, not just one. The first one is indeed a stimulation, which is the estimated class. The second output is the classifier output (a streamed matrix), in the case of SVM this value between 0 and 1 represents the probability of the input features to belong to one of the two classes (see http://openvibe.inria.fr/documentation/ ... essor.html). It is this second output that you should process (x - 0.5 using the simpleDSP) if you want to have an output which is negative for one class and positive for the other. You should have a deeper look at the boxes documentation for further details (press F1 on top of a box in the designer to open its documentation)
I hope this helps,
Best,
Fabien
Re: SVM classifier: inputs, outputs and parameters
Fabien thank you so much for you very clear reply.
Soon I will try that implementation and I'll post the results.
Thanks,
regards,
Roberto
Soon I will try that implementation and I'll post the results.
Thanks,
regards,
Roberto