forum.alglib.net
http://forum.alglib.net/

Proper usage of the fisherldan function c++
http://forum.alglib.net/viewtopic.php?f=2&t=3818
Page 1 of 1

Author:  lukadriel [ Thu Oct 05, 2017 12:45 pm ]
Post subject:  Proper usage of the fisherldan function c++

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

Author:  Sergey.Bochkanov [ Fri Oct 06, 2017 3:52 pm ]
Post subject:  Re: Proper usage of the fisherldan function c++

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.

Author:  lukadriel [ Tue Oct 31, 2017 6:34 am ]
Post subject:  Re: Proper usage of the fisherldan function c++

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.

Author:  Sergey.Bochkanov [ Thu Nov 02, 2017 9:01 am ]
Post subject:  Re: Proper usage of the fisherldan function c++

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.

Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/