1
$\begingroup$

I am attempting to use ICA (FastICA via scikit-learn) on EEG signals from seven electrodes per subject for feature extraction and identity classification – that is to extract signal which is related to a specific cortical area without noise and feed it to e.g. MLP for classification.

As I currently understand it, I should be able to get at most seven individual components which I seem to be achieving, but I do not understand how to actually choose the one related to a specific area nor how to verify the results. How do I know I am not extracting noise (they are all very similar)?

The data have been pre-processed with a Butterworth bandpass filter (4 – 40 Hz). The mean error for classification of six subjects via MLP is currently around 12% but similar studies achieved far better results.

See for example:

  1. Selecting Relevant EEG Signal Locations for Personal Identification using ica and neural network
  2. Personal Identification by EEG Using ICA and Neural Network

Excuse the lameness with this one, please – the research papers and introductions to ICA I have read are not brilliant at explaining and use examples involving ideal components.

Anyone?

$\endgroup$
2
  • 1
    $\begingroup$ "I do not understand how to actually choose the one" As far as I know, they are output in random order, so you need to identify them based on their characteristics. At what speed do they travel from the event to the electrodes? Is there a delay difference between near and far electrodes? I don't think ICA works well in that case. $\endgroup$
    – endolith
    Commented Apr 22, 2014 at 14:29
  • $\begingroup$ @endolith The characteristics are very similar in terms of amplitudes and frequency components. One of them looks like heart but the rest looks the same. The sampling rate is 128 Hz so the delay should be negligible. $\endgroup$ Commented Apr 22, 2014 at 18:03

3 Answers 3

1
$\begingroup$

How do I know I am not extracting noise (they are all very similar)?

You should first find or record a well understood set of signals with which you can test your feature extraction code to verify your setup is correct and that the extracted components are as expected.

Then you'll have higher confidence that you're not extracting noise due to errors in your code and you can focus on tuning your algorithms or reproducing other's results.

$\endgroup$
1
$\begingroup$

One way is to synchronize Event related potentials(ERP) generator with your EEG measurement device. Alpha(8-13 Hz) potentials can be generated when the test subject closes the eyes and is in a relaxed state. Another ways is to flash black and white patterns at predetermined intervals. Literature can be easily found where many such techniques and related ERPs are documented. An ICA component which has ERP epochs at predetermined instants of time is relatively easier to distinguished from other ICA components than a EEG component without ERPs. Once this is done, it will be easier to isolate, study, characterize and remove non-EEG artifacts.

$\endgroup$
1
$\begingroup$

For pre-processing I used EEGLAB, that really help, because EEGLAB have ICA tools for extract Independent Components, that's mean you can check how much of your signals are artifacts (eye moved, blink,muscular moved ), and how much really is brain signal.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.