Difference between revisions of "Talk:A genetic algorithm for automatic feature extraction from EEG data"

From AIRWiki
Jump to: navigation, search
(Todo)
(Todo)
 
(4 intermediate revisions by 2 users not shown)
Line 4: Line 4:
  
 
==Todo==
 
==Todo==
* Scrivere funzione per folding che non 'rompe' le lettere.
+
* Scrivere funzione per folding che non 'rompe' le lettere.  Mantenere la vecchia funzione di folding.
 
* Fare la funzione di bilanciamento deterministica.  Si veda anche <tt>bci/common/matlab/balance_training_bci2_2b.m</tt> 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).
 
* Fare la funzione di bilanciamento deterministica.  Si veda anche <tt>bci/common/matlab/balance_training_bci2_2b.m</tt> 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.
+
* 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==
 
==Info==

Latest revision as of 21:11, 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 (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