Talk:A genetic algorithm for automatic feature extraction from EEG data

From AIRWiki
Jump to: navigation, search

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