▷ #EEG signal classification with Machine Learning #ML using #Matlab
Las señales EEG (Electroencefalografía) que representan actividad cerebral de cualquier sujetos, puede ser adquiridas de forma
superficial utilizando electrodos en el cuero cabelludo. Al adquirir señales EEG durante la ejecución de tareas motoras, estas señales
contienen información en el dominio del tiempo y frecuencia correspondiente a la actividad motora realizada. Las señales EEG pueden ser
analizadas mediante algoritmos de clasificación para determinar de forma automática qué tipo de actividad está realizando el sujeto, esta
detección es usada para el control de prótesis e interfaz hombre máquina.
Carga datos con los 64 electrodos EEG a Fs=160Hz
clear;clc;
inNN=load('RMSVectors.mat');inNN=inNN.RMSVectors;
size(inNN)
% previamente se sacó el rms de cada electrodo durante una tarea de 4,6 seg
% y se agregaron 300 filas o ejemplos entre tareas imegenético y motor de
% ambos pies
Carga Archivo con las salidas etiquetas
(c1 (imagenetico ambas pies), c2 (motor ambos pies))
outNN=load('Out_RMS.mat');outNN=outNN.Out_RMS;
size(outNN)
Llamar a toolbox nnstart
nnstart
%se configuro una red MLP de 20 neuronas en el HL
Uso de la red neuronal
Prediction = myNeuralNetworkFunction(inNN);
Graficas
figure;
x1=(round(round(outNN(:,1))*2 + round(outNN(:,2))*1));
p1=(round(Prediction(:,1))*2 + round(Prediction(:,2))*1);
plot(x1,'*');
hold on;
plot(p1,'*');
xlabel('300 ejemplos');
ylabel('tarea: 2 imagenético, 1 motor');
legend('Target','Prediction');
Calculo del error cuadratico medio
err = immse(x1,p1)
err = 0.4133
acc=1-err
acc = 0.5867
Leer temas relacionados:
Comentarios
Publicar un comentario