Difference between revisions of "Talk:A genetic algorithm for automatic feature extraction from EEG data"
From AIRWiki
(→Todo) |
(→Todo) |
||
Line 13: | Line 13: | ||
* cambiare bias a 1 | * cambiare bias a 1 | ||
− | * sommare l'ultimo elemento del vettore dei pesi dopo avere verificato | + | * sommare l'ultimo elemento del vettore dei pesi dopo avere verificato che sia l'ultimo (controlla come viene creato il vettore delle features) |
− | + | ||
* testare coi due template generati nei due modi diversi | * testare coi due template generati nei due modi diversi | ||
* cambiare il nome del metodo predictletter -> testletter | * cambiare il nome del metodo predictletter -> testletter | ||
− | * usare la predict_probability invece che la prediction nel codice di | + | * 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) |
− | + | ||
− | + | ||
− | + | ||
* cambiare la getWeightVector - mettere una push_back | * cambiare la getWeightVector - mettere una push_back | ||
* push_back e pop_back diventano at | * push_back e pop_back diventano at |
Revision as of 21:52, 29 June 2009
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
- sommare l'ultimo elemento del vettore dei pesi dopo avere verificato che sia l'ultimo (controlla come viene creato il vettore delle features)
- testare coi due template generati nei due modi diversi
- cambiare il nome del metodo predictletter -> testletter
- 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)
- cambiare la getWeightVector - mettere una push_back
- push_back e pop_back diventano at
- verificare che sull'insieme di test funzioni tutto - indovina tutte le lettere di test
- --- calcolare il numero di ripetizioni necessarie per il 100%
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