Talk:A genetic algorithm for automatic feature extraction from EEG data
From AIRWiki
Objectives
- Training with letter-counting fitness
- Online classifier
Todo
- Scrivere funzione per folding che non 'rompe' le lettere. Mantenere la vecchia funzione di folding.
- Fare la funzione di bilanciamento deterministica. Si veda anche bci/common/matlab/balance_training_bci2_2b.m su AirBAT. Per ogni ripetizione, tra le stimolazioni non target viene presa la seconda stimolazione colonna e la penultima stimolazione riga (che non sono necessariamente la seconda colonna e la penultima riga).
- Scrivere la funzione di fitness, che viene calcolata 1 volta per ogni cromosoma su tutto l'insieme di addestramento. Mantenere anche la vecchia funzione di folding.
- La selezione delle funzioni di folding e di fitness va fatta tramite un parametro (o puntatore) nella main().
- Commenti per: classi, metodi, attributi. Preferibilmente con doxygen.
- cambiare bias a 1 (fatto)
- sommare l'ultimo elemento del vettore dei pesi dopo avere verificato che sia l'ultimo (controlla come viene creato il vettore delle features) (fatto)
- testare coi due template generati nei due modi diversi (TODO)
- cambiare il nome del metodo predictletter -> testletter (WIP)
- usare la predict_probability invece che la prediction nel codice di BCIChromosome::predict_letter + sommare invece che un uno per ogni colonna/riga, somma il valore di probabilità che esce dalla predict_probability (terzo parametro) (WIP)
- cambiare la getWeightVector - mettere una push_back (fatto)
- push_back e pop_back diventano at (WIP)
- verificare che sull'insieme di test funzioni tutto - indovina tutte le lettere di test (TO DO)
- --- calcolare il numero di ripetizioni necessarie per il 100% (TO DO)
- salvato il w0 su file per essere processato dal classificatore online (fatto)
- scambiato il template con -template (fatto)
Info
Il metodo di classificazione finale dovrà avere questo prototipo:
double classify( const GenericSignal &epoch );
GenericSignal è la classe dei segnali di BCI2000 che memorizza una matrice bidimensionale; è definita in src/shared/types/GenericSignal.h.
Formato per i dati dovrebbe essere "%.17g" (assicurarsi che il numero di cifre significative sia sufficiente a rappresentare tutti i bit della mantissa)
Tesisti precedenti: Luigi Dallavalle, Flavio Mutti