[pymvpa] PCA transformation prior to SVM classification
emanuele at relativita.com
Mon Dec 6 10:18:15 UTC 2010
Sorry for getting back to this thread after so much time
but I'm incidentally on CSP again. It could be of interest
to discuss more on this and double-dipping. See below.
On 11/29/2010 09:09 AM, Jakob Scherer wrote:
> 1. running PCA, CSP, etc on the whole dataset _prior_ feeding it to
> a classifer: looks to me as a case of 'double-dipping', as all
> trials (training and test) are used to identifiy the
> components. thus all trials in the dataset given to the classifier
> are actually inter-dependent. am i right there?
> On Thu, Nov 25, 2010 at 6:22 PM, Emanuele Olivetti
> <emanuele at relativita.com> wrote:
> > About CSP... it is using class-labels. Isn't it?
> actually no, it does not use class labels. i had a look at the
> algorithm published in "2007 Liao Yao Wu Li Ieee Trans Biomed Engin
> Combining Spatial Filters for the Classification of Single-Trial EEG
> in a Finger Movement Task", (where they introduce the DSP as well).
Actually yes. I re-read Blankertz et al. 2008 (IEEE Sig.Proc.) :
"""In a nutshell, CSP filters maximize the variance of the spatially
filtered signal under one condition while minimizing it for the
other condition""" (see from p.45 on). So you need to group trials
according to their class labels and do the simultaneous diagonalization
of the two covariance matrices.
I had a quick look to your reference and found equivalent statements
and equations both for CSP and DSP.
Differently from PCA, CSP and DSP might be subject to double-dipping.
And they are in the case of your question.
P.S.: I know there are many variants of the basic CSP algorithm but
I haven't found "unsupervised" ones in the tiny fraction I met. Please
keep me posted if you have different experience.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pkg-ExpPsy-PyMVPA