EEG signal data in Machine Learning algorithm

21 views (last 30 days)
Rafael Pereira
Rafael Pereira on 16 Oct 2019
Answered: Antti on 28 Jan 2020
Our project is to take data from an EEG that is supposed to detect a blink stimulus. Theoretically, we would collect alot of that data (different people, different environment, etc.) Then we would apply that data set to machine learning in MATLAB as a pre-training set to teach the machine what a blink is. Our goal is to have the machine detect whether an incoming signal is a blink or not. Then we discussed about having a feedback system on the accuracy of the machine, so then it would sreve as another input to continue to train the machine.
My question is: Being entirely new to machine learning in MATLAB, where could we get started?
  • Is there an example out there that we can start with to play around with and learn the basics of machine learning?
  • What would be the best way to load the data into MATLAB?
  • What are some challanges we could expect?
  • Any advice or guide you can provide us?
Note: I have access to the Statistics and Machine Learning, neural network, and deep learning toolboxes.
Thank you!

Answers (1)

Antti on 28 Jan 2020
Hi Rafael. I'm not an expert in EEG -related applications, but this sounds like something similar to e.g. speech recognition, in which you constantly acquire 1D signal data (audio), and you then apply a detection algorithm to windows of data. We have a speech recognition example, which uses deep learning. I think you could maybe adapt that to your problem. If you're new to machine and deep learning with MATLAB, you could take a look at our free on-ramp courses for deep learning and machine learning. Also, we have lots and lots of examples in documentation.
Regarding data import, the best way is to use datastores. There are different types of datastores for different data, e.g. audio and image data.
Some challenges that you face could be e.g. computational complexity, i.e. it takes a lot of time to train deep learning models. You can solve this by training your models on a GPU. MATLAB trains models automatically on a GPU, if you have one. If your computer doesn't have a supported GPU, you can launch a virtual machine with a powerful GPU in the cloud with MATLAB pre-installed on it. Just google "mathworks reference architectures" to land on a github page from where you can launch a GPU instance with MATLAB installed. Note: you need to have an Azure or AWS account to do this.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!