forum.alglib.net

ALGLIB forum
It is currently Thu Mar 28, 2024 5:56 pm

All times are UTC


Forum rules


1. This forum can be used for discussion of both ALGLIB-related and general numerical analysis questions
2. This forum is English-only - postings in other languages will be removed.



Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: Proper usage of the fisherldan function c++
PostPosted: Thu Oct 05, 2017 12:45 pm 
Offline

Joined: Thu Oct 05, 2017 12:15 pm
Posts: 2
Hello everybody. I have been trying to figure out the usage of the fisherldan function but I couldn't so I want to ask for help. I have 4 classes each represented by 2 set of matrix 16x16. I need to use the linear discriminant analysis to reduce the dimensions of my data. I have no precise idea on how to insert the data in the function can you please help me ?

For more information about the data, these are data obtained from two eeg electrodes after applying a wavelet packet transform giving for each electrodes the eeg data in both time and frequency domain. The 4 different classes are for each limb movement imagery.


left hand(class 1)
electrode 1 16x16
electrode 2 16x16


right hand(class 2)
electrode 1 16x16
electrode 2 16x16


left foot(class 3)
electrode 1 16x16
electrode 2 16x16


right foot(class 4)
electrode 1 16x16
electrode 2 16x16


Top
 Profile  
 
 Post subject: Re: Proper usage of the fisherldan function c++
PostPosted: Fri Oct 06, 2017 3:52 pm 
Offline
Site Admin

Joined: Fri May 07, 2010 7:06 am
Posts: 903
LDA deals with samples, i.e. with sets of independent observation. Each observation is N-dimensional vector. In your task observation seems to be pair of 16x16 matrices, i.e. N=2*16*16. So, compact readings from two electrodes into 512-dimensional vector and feed these vectors into LDA.


Top
 Profile  
 
 Post subject: Re: Proper usage of the fisherldan function c++
PostPosted: Tue Oct 31, 2017 6:34 am 
Offline

Joined: Thu Oct 05, 2017 12:15 pm
Posts: 2
First of all, thank you for your reply. Secondly, I want to apologize for my late response. Concerning the data, they are obtained after performing a wavelet packet transformation on eeg data. The rows representing frequency bands and the columns representing time slices. Before reading your reply I fed each frequency band of each class to the Fisherldan. You could say I use each frequency band as a sample of a class.

After doing so, I used a number of obtained basis vector to reduce the dimension of the data. In the case of 4 classes, I used the first 16x4 vectors to reduce the different classes data. I then feed the reduced dimensional data to a recurrent neural network. This is the full extent of what I am doing. So I would like to know if I should keep the frequency band separated or still put them in only one vector.

thank you again.


Top
 Profile  
 
 Post subject: Re: Proper usage of the fisherldan function c++
PostPosted: Thu Nov 02, 2017 9:01 am 
Offline
Site Admin

Joined: Fri May 07, 2010 7:06 am
Posts: 903
Hi!

I think that you should put all frequency bands together into one big vector, and put them into LDA. It is much better because it gives more information - both for any specific time slice, and for a sequence of slices. Having just one time slice may work, but suboptimally.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 70 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group