GithubHelp home page GithubHelp logo

div12345 / workloadestimation Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 1.7 MB

Intra-Subject Inter-Session Transfer Learning for 3-class Workload Estimation on EEG data. The codebase for submission to Passive BCI Hackathon - Neuroergonomics Conference 2021

Jupyter Notebook 100.00%

workloadestimation's Introduction

WorkloadEstimation

Intra-Subject Inter-Session Transfer Learning for 3-class Workload Estimation on EEG data.

Codebase for submission to Passive BCI Hackathon - Neuroergonomics Conference 2021

Competition Site - Link

The finer details of the method is provided in the presentation and abstract report. The extended abstract is also slated to be published in the conference proceedings in Frontiers in Neuroergonomics

Data

Data & instructions available here

15 subjects, 3 sessions - 3 different workload levels in each session presented in a pseudorandom manner

First 2 sessions available with labelled dataset. Target - To predict workload class on 3rd session for each subject.

Short Background

EEG signals are highly non-stationary and can drift in terms of amplitude and other features over time, even within a day for a particular user. So, there is a need for algorithms capable of inter-session transfer learning such that the calibration is minimized or eliminated for the next session.

Methods

Ensembling of techniques using the fundamental properties of covariance matrices through Riemannian geometry combined with unsupervised transfer learning using an adaptive kernel for tangent space projection.

The covariance is calculated using the oracle approximating shrunk (oas) estimator from the PyRiemann package

Model 1 – PyRiemann MDM Classifier with default parameters

Model 2 – Scikit-Learn Nu-Support Vector Classifier with default parameters, PyRiemann Tangent Space Projection with adaptive kernel activated

Model 3 – XGB Classifier with n_estimators = 1500, max_depth = 15, learning_rate= 0.3, reg_lambda =5, PyRiemann Tangent Space Projection with adaptive kernel activated

Validation

Training on the second session gives better generalization and prediction on the first session data based on some preliminary runs, and so this was chosen as the measure of validating the performance of the algorithms. image

Results

Placed 4th with 46.3% accuracy (Within 2% of 3rd and 2nd placed models and 8% of top model)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.