Gli strumenti e le tecniche BCI come l’acquisizione e l’elaborazione del segnale, estrazione delle caratteristiche, algoritmi di Machine Learning e tecniche di classificazione contribuiscono allo sviluppo e al miglioramento della tecnologia Brain-Computer Interface.
Quasi tutti i sistemi BCI hanno come parte centrale un algoritmo di Machine Learning, che impara dai dati di training e ricava una funzione che può essere utilizzata per discriminare diversi modelli di attività cerebrale. Adatta, così, il sistema BCI al cervello di un soggetto particolare. Ciò riduce il carico di apprendimento imposto a questo proposito. Per semplicità e motivi pratici, gli algoritmi di Machine Learning sono solitamente divisi in due moduli: estrazione e classificazione delle caratteristiche.
Il modulo di estrazione delle caratteristiche serve a trasformare i segnali cerebrali in una rappresentazione che renda la classificazione più semplice, di solito matrici di dati. In altre parole, l’obiettivo dell’estrazione è rimuovere il rumore e altre informazioni non necessarie dal segnali di input, mantenendo allo stesso tempo le informazioni importanti per discriminare diverse classi di segnali.
I vettori di caratteristiche vengono estratti dai segnali cerebrali tramite metodi di elaborazione dei segnali. Le conoscenze neurofisiologiche del soggetto in questione, possono aiutare a decidere quale caratteristica del segnale cerebrale è da aspettarsi, questo è fondamentale per decidere le informazioni più discriminanti per il paradigma prescelto. Queste caratteristiche sono tradotte in un segnale di controllo da algoritmi di Machine Learning.
La classificazione, invece, è un problema impegnativo a causa del basso rapporto segnale-rumore dei segnali EEG, la varianza di segnali EEG per un dato soggetto e la varianza tra diversi soggetti. Le tecniche di pre-elaborazione servono a migliorare i segnali EEG e rimuovere il rumore ed estrarre le caratteristiche rilevanti.
Prima di poter applicare qualsiasi metodologia di Machine Learning, bisogna attraversare alcune fasi che permetteranno di trasformare i segnali in campioni di dati trattabili.
Dopo una fase di pre-elaborazione, i dati sono forniti sotto forma di impulso quindi è necessario separare il segnale fornito tramite due set, di training e test, in segmenti singoli. Questo è realizzato estraendo i campioni di dati tra 0-650 ms dopo l’inizio di ogni intensificazione (durante la fase di pre-elaborazione ogni segnale significativo viene intensificato). Conoscere il tempo dei campioni in questione, aiuta ad estrarre questi segmenti nel miglior modo possibile.
Il filtraggio è un passo cruciale. Permette la riduzione del rumore in quanto la maggior parte degli artefatti si verificano a frequenze note. A questo punto, i segnali filtrati sono stati decimati secondo la più alta frequenza di taglio. Si arriva così alla costruzione di un vettore di segmenti utili che successivamente viene normalizzato: media zero e varianza pari a uno.
Uno degli scopi principali del Machine Learning è la classificazione, cioè il problema di identificare la classe di un nuovo obiettivo sulla base di conoscenza estratta da un training set. Un sistema che classifica è detto classificatore. I classificatori estraggono dal dataset un modello che utilizzano poi per classificare le nuove istanze. Se una singola istanza può essere espressa come un vettore in uno spazio numerico \(R^n\) il problema della classificazione può essere ricondotto alla ricerca delle superfici chiuse che delimitano le classi.
Vi sono coppie (x, y) di ingressi x ∈ X e uscite desiderate y ∈ Y. Un algoritmo di apprendimento deve scegliere, in base agli esempi di training, una funzione f: X → Y tale che nuovi esempi, non contenuti nel training set, siano mappati correttamente all’uscita corrispondente. Per motivi pratici le funzioni f sono solitamente indicizzate da un insieme di parametri θ, cioè \(y = f (x; \theta)\). Quindi, il compito è quello di scegliere la funzione equivalente alla scelta dei parametri θ. Nel caso binario Y = {1, -1}, il classificatore lineare è rappresentato da una singola funzione discriminante data dal vettore delle caratteristiche in ingresso ω e il parametro b:
$$\begin{equation} \ f(x) = (ω · x ) + b \end{equation}$$
Il vettore di input x è assegnato alla classe y∈ {1, -1} come segue:
$$\left\{\begin{array} \ +1\,if\,(\omega \cdot x) + b \geq0 \\ -1\,if\,(\omega \cdot x) + b\leq0 \end{array}\right.$$
Diversi algoritmi basati su classificatori lineari determinano il vettore ω e il parametro b. Questi parametri ottenuti nella fase di training sono utilizzati nella fase di test per prevedere la classe di appartenenza di ogni esempio di test. Gli algoritmi basati su classificatori lineari possono essere distinti in base alle loro prestazioni.
I segnali forniti sono ad alta dimensione con basso rapporto segnale-rumore. C’è anche un altro problema: la risposta del segnale varia a causa di componenti del segnale EEG non correlati all’attività cerebrale di un singolo soggetto. SVM è un approccio potente per il riconoscimento di schemi e in particolare per problemi di alta dimensione, perciò è impiegato frequentemente nelle ricerche BCI.
SVM è uno degli strumenti più utilizzati per la classificazione di pattern perché invece di stimare le densità di probabilità delle classi, esso risolve direttamente il problema di interesse, ovvero determinare le superfici decisionali tra le classi (classification boundaries).
Date due classi di pattern multidimensionali linearmente separabili, tra tutti i possibili iperpiani di separazione, SVM determina quello in grado di separare le classi con il maggior margine possibile. Il margine è la distanza minima di punti delle due classi nel training set dall’iperpiano individuato.
La massimizzazione del margine è legata alla generalizzazione. Se i pattern del training set sono classificati con ampio margine si può «sperare» che anche pattern del test set vicini al confine tra le classi siano gestiti correttamente.
Il teorema di Bayes rappresenta una tecnica fondamentale per la classificazione di pattern basata sull’esperienza (training set). Attraverso l’approccio bayesiano, sarebbe possibile costruire un classificatore ottimo se si conoscessero in maniera perfetta sia le probabilità a priori \(p(y_i)\), sia le densità condizionate alla classe \(p(x|y_i)\). Normalmente tali informazioni sono raramente disponibili e l’approccio adottato è quello di costruire un classificatore da un insieme di esempi.
Per modellare \(p(x|y_i)\) si utilizza normalmente un approccio parametrico e quando possibile, si fa coincidere tale distribuzione con quella di una gaussiana o con delle funzioni spline.
Le tecniche più usate per la stima sono la Maximum-Likelihood (ML) e la Stima Bayesiana che, sebbene differenti nella logica, portano a risultati quasi identici. La distribuzione Gaussiana è normalmente un modello appropriato per la maggior parte dei problemi di pattern recognition.