P300 Classifier Error

Locked
nadu
Posts: 20
Joined: 18 Mar 2010, 23:44

P300 Classifier Error

Post by nadu » 24 Sep 2010, 18:34

Hello !

I am getting the following error when I am running the P300 Classifier


Signal must have rows > cols. Linear classifier is valid only for overdetermined systems.


I did not understand the message. Is it something to do with my parameter files?
Can anyone please tell me what mistake I might be making?

Thanks
nadu

cmpotes
Posts: 13
Joined: 03 Oct 2009, 11:24

Post by cmpotes » 25 Sep 2010, 10:36

This message means that in your training data set you have less training samples (n) than variables (p). Therefore, the P300Classifier is not able to solve the linear system Ax=b through the stepwise linear discriminant algorithm because the matrix A (n = samples by p = variables) has n<p.
To solve this problem, you should include more training samples in your data.

Hope it helps!

nadu
Posts: 20
Joined: 18 Mar 2010, 23:44

Thanks, one more question

Post by nadu » 25 Sep 2010, 16:06

Thank you Cristhian !

I used 4 data files of the subject when he was trying to spell the words - THE, QUICK, BROWN, FOX

The prediction accuracy came out to be 8% only. I did not screen the subject for the presence of a P300 response. Do I have run the data files through the P300 GUI (the Matlab program) to screen for a P300 response?

Is there any other recommended way/application to screen if a subject has a P300 response?

Thanks
nadu

gschalk
Posts: 615
Joined: 28 Jan 2003, 12:37

samples

Post by gschalk » 25 Sep 2010, 18:51

Hi,

Perhaps you are using all channels and no downsampling (e.g., decimation frequency = sampling rate). This would lead to way too many features, i.e., more features than are trials.

Gerv

nadu
Posts: 20
Joined: 18 Mar 2010, 23:44

Post by nadu » 25 Oct 2010, 14:17

Hi !

I tried running 2 different subjects through the P3Speller. The procedure that I followed was -

1) Run the subjects through the words THE, QUICK, BROWN, FOX. Run the collected 4 data files through the P300 Classifier with the following p300Classifier.ini file

Code: Select all

[Initialization]

maxiter = 60 // to set Max Model Features
penter = 0.1000 // to set Penter
premove = 0.1500 // to set Premove
spatial_filter = 2 // to set Spatial Filter. Set 1 for RAW and 2 for CAR
decimation_frequency_Hz = 20 // to set Decimation Frequency
channel_set = 1 2 3 4 5 6 8 9 11 13 14 15 16 // to set Channel Set
Resp_window_ms = 0 800 // to set Response Window. The response window must be in milliseconds (ms) 
3) P300Classifier generated the parameters which I appended to my original parameters file.

4) Then I gave the subject 2 sentences to spell - in online free mode
HOW ARE YOU
I AM FINE

Both the subjects could hardly spell a letter correctly.

What might be the mistakes that I must watch out for ?
Can it be a problem with the Parameters that I am setting?
How do I guess the channels for the subject initially?
Whats the best accuracy that the P3Speller gives?

The parameter and the data files are at http://naduism.com/BCI_Data

Would be great if you can give me some pointers/ideas on how to fix this.

Thanks
nadu

gschalk
Posts: 615
Joined: 28 Jan 2003, 12:37

P300Classifier

Post by gschalk » 26 Oct 2010, 09:20

Nadu,

What was the accuracy (shown by P300Classifier) when run on the data files offline? If this is good, but you did not achieve good performance online, then there is some problem with loading the updated classifier back into BCI2000. (You should load that parameter file after loading the standard parameter file, not simply append to it. If you have two parameters with different values in the same parameter file, I am not sure which one BCI2000 would use.)

If you get bad performance also offline, then there is a problem with the data collected.

Gerv

nadu
Posts: 20
Joined: 18 Mar 2010, 23:44

Post by nadu » 01 Nov 2010, 14:37

Hello !

I had given the text to spell for the subject 2 as "LETS_GO_HOME".
The answer shown by the classifier (image below) is pretty close (RETS_GO_HOME) but the %correct is 0. Can you advise where I might have gone wrong.
The data file that I am using for the testing -
http://naduism.com/BCI_Data/subject_2_R08.dat
after training on -
http://naduism.com/BCI_Data/subject_2_R01.dat
http://naduism.com/BCI_Data/subject_2_R02.dat
http://naduism.com/BCI_Data/subject_2_R03.dat
http://naduism.com/BCI_Data/subject_2_R04.dat

Image


Thanks
nadu

cmpotes
Posts: 13
Joined: 03 Oct 2009, 11:24

Post by cmpotes » 01 Nov 2010, 22:56

Nadu,

Could you send me your data to cmpotes@miners.utep.edu ?

The P300Classifier should give you the correct percentage of classification. Let me check it.

cmpotes
Posts: 13
Joined: 03 Oct 2009, 11:24

Post by cmpotes » 04 Nov 2010, 20:22

Nadu,

In the latest version of the P300Classifier, this is what I got when I test on
http://naduism.com/BCI_Data/subject_2_R08.dat

Flashes % Correct Predicted Symbols

1 0 LMJ3TLV8KOHY
2 0 LBJWTFD11RKM
3 0 LBITTLJ11RU4
4 0 LKOT4LPOIOHF
5 0 LGOW4HPOOPBF
6 0 LAQT4LGMIOBF
7 0 LEIW4FGGIOBF
8 0 _DOT4LGIIOBF
9 0 FEKT4LJIIOE4
10 0 FEKT4LJGIOH4
11 8 FEIT4LPRIOHF
12 8 FEIT4LORIOHF
13 8 FEOT4HPRIONF
14 8 FFOT4HPRIPEF
15 8 FEOTRHPRIONF

Done!

Time elapsed [s]: 13

I would suggest you to download the latest version from BCI2000.

Let me know if it works!

nadu
Posts: 20
Joined: 18 Mar 2010, 23:44

Tried with latest version of P300

Post by nadu » 07 Nov 2010, 20:56

Hi Cristhian !

I downloaded the latest version of the P300 Classifier (rev 2981) from the trunk.
I am getting this as the output when I run the P300 with http://naduism.com/BCI_Data/subject_2_R08.dat

1 17 VWZ__UJLSXF8
2 33 UUZ_7SVUSX_D
3 25 VU4_7SV7YX_D
4 42 VU4L_UT7S__2
5 33 VU2H_UD7S__2
6 33 VUYH_UV7S__2
7 50 VUYH8UT7SX_2
8 58 TUGH8UT7SX_2
9 50 TUA_DUTOS__2
10 58 TUA4EOTOS__2
11 50 TUA4AUTOS__2
12 58 TU44SOTOS__2
13 67 TUG4AOTOSX_2
14 67 TUG4AOTOSX_2
15 75 TUF4AOTOSX_2

The ini file that I am using is

Code: Select all

[Initialization]

maxiter = 60 // to set Max Model Features
penter = 0.1000 // to set Penter
premove = 0.1500 // to set Premove
spatial_filter = 2 // to set Spatial Filter. Set 1 for RAW and 2 for CAR
decimation_frequency_Hz = 20 // to set Decimation Frequency
channel_set = 1 2 3 4 5 6 8 9 11 13 14 15 16 // to set Channel Set
Resp_window_ms = 0 800 // to set Response Window. The response window must be in milliseconds (ms) 
This is when I am using the above file as training data file and generating feature weights.
I was getting results in my previous post when I used the file R01-R04 as training files and the R08 as test data file.

Do let me know where I might be going wrong.

Thanks
nadu

faisal-awan
Posts: 17
Joined: 28 Nov 2010, 23:18

Post by faisal-awan » 08 Feb 2011, 01:12

Can anyone give me the link where to download the latest version of P300 speller ???


Regards

mellinger
Posts: 1065
Joined: 12 Feb 2003, 11:06

Post by mellinger » 08 Feb 2011, 08:26

The current BCI2000 binary distribution may always be downloaded from
http://bci2000.org/downloads/bin/BCI2000Setup.exe

faisal-awan
Posts: 17
Joined: 28 Nov 2010, 23:18

Post by faisal-awan » 10 Feb 2011, 21:52

Thanks alot mellinger

faisal-awan
Posts: 17
Joined: 28 Nov 2010, 23:18

Post by faisal-awan » 16 Feb 2011, 20:19

which .ini file should i have to load for P300 classification?

Locked

Who is online

Users browsing this forum: No registered users and 0 guests