Page 1 of 1

P300 Classifier

Posted: 22 Jul 2011, 17:07
by doug.davies
Hi all,

I have been attempting to use the P300 Classifier GUI application to generate feature weights for the linear classifier for my application, but I have been observing some strange behavior.

First, when I attempt to have the classifier generate weights for all 14 channels in my data (I am using an Emotiv Epoc headset) I occasionally receive an error message that "the signal must have more rows than columns, because the classifier only works for overdetermined matrices." Can anyone explain the this error? The program will usually generate weights if I exclude one or two channels, and I don't always receive the error.

Second, and more problematically, the weight matrices output by the program do not make sense to me, in terms of my understanding of the classifier. The matrices generally only contain values for channels 1 or 2, which should not be the most important channels for a P300 experiment (channels 1 and 2 map to positions AF3 and F7, respectively).
It is my understanding that if the classifier matrix contains no values for a given channel, the classifier excludes that channel... Am I correct in this?

Any advice for getting better performance from the Classifier program would be helpful... Is it possible that the issue is with the way I am recording training data?

Thanks,

Doug Davies

Re: P300 Classifier

Posted: 03 Aug 2011, 08:31
by mellinger
First, when I attempt to have the classifier generate weights for all 14 channels in my data (I am using an Emotiv Epoc headset) I occasionally receive an error message that "the signal must have more rows than columns, because the classifier only works for overdetermined matrices." Can anyone explain the this error? The program will usually generate weights if I exclude one or two channels, and I don't always receive the error.
The classifier needs to determine a weight for each channel and time point. Depending on the number of channels, and the downsampling rate chosen, the number of weights may exceed the number of epochs collected in your training data. When this is the case, P300Classifier gives you the error message you mentioned. You may then choose amongst the following options:
1) reduce the number of channels,
2) reduce the downsampling rate,
3) record more training data.
Typically, recording more training data is most appropriate. In a typical training session, you should do copy spelling of at least 8 characters, with NumberOfSequences set to 15.
Second, and more problematically, the weight matrices output by the program do not make sense to me, in terms of my understanding of the classifier. The matrices generally only contain values for channels 1 or 2, which should not be the most important channels for a P300 experiment (channels 1 and 2 map to positions AF3 and F7, respectively).
It is my understanding that if the classifier matrix contains no values for a given channel, the classifier excludes that channel... Am I correct in this?
In the P300Classifier program, you choose a subset of channels on the Parameters pane. Based on that subset, the created parameter file will contain a TransmitChList parameter that only forwards that subset to online processing. Channel indices in the classifier matrix refer to transmitted channels, not recorded channels.

Regards,
Juergen