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

From AIRWiki
Jump to: navigation, search
(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)
  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)
  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 20: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