Skip to content

Detecting Concept Shifts under Different Levels of Self-awareness on Emotion Labeling

License

Notifications You must be signed in to change notification settings

affctivai/coglier

Repository files navigation

Detecting Concept Shifts under Different Levels of Self-awareness on Emotion Labeling

Concept Shift under Different Levels of Self-awareness on Emotion Labeling

Dataset

  • SEED : 3 class (neutral, positive, negative)
  • SEED-IV : 4 class (happiness, sadness, fear, neutral)
  • GAMEEMO : 9 class (valence, arousal)

Preprocessing (Offline Transform, Feature Extraction ...)

0.0 preprocessing.py
Temporal Segmentation (Sliding Window, Time Partitioning, Time Window, ...)
+ Feature Extraction (Signal Transformation, Dimensionality Reduction, ...)

  • Segmentation (Raw Signal)
  • Segmentation + DE (Differential Entropy)
  • Segmentation + PSD (Power Spectral Density)
    Seg
    (channels, window)
    Seg + DE
    (channels, 4 bands)
    Seg + PSD
    (channels, 4 bands)
    SEED (62, 400) (62, 4) (62, 4)
    SEED-IV (62, 400) (62, 4) (62, 4)
    GAMEEMO (14, 256) (14, 4) (14, 4)

EEG channels(num_electrodes), Segment size(Window size)

Make Dataset

train and test data are split for reliable generalization evaluation.
0.1 make dataset.py : ( train : test = 9 : 1 )


Our Method

Model Overview

1) Subject-dependent Train, Test

0.2 subdepend.py: For each subject, subdepend.py is executed.

Example.

python ./0.2\ subdepend.py --dataset=GAMEEMO --label=v --model=CCNN --feature=DE --epoch=100

2) Make OOD Detection Model

1.0 OOD detector.py

Example.

python ./1.0\ OOD\ detector.py --dataset=GAMEEMO --label=v --model=CCNN --feature=DE --epoch=100 --cut=6

3) Remove OOD and Train ID

2.0 Base_Remove.py
Set the threshold of ODM to adjust the OOD removal rate (approximately 10%). Please note the paper to take detailed thresholds.

Example.

python ./2.0\ Base_Remove.py --dataset=GAMEEMO --label=v --model=CCNN --feature=DE --epoch=100 --detector=Low_6 --threshold=0.95

4) Compare with the Baseline

In 2.0 Base_Remove.py, threshold==0 is equivalent to Baseline.

Results

Classification Accuracy and AUROC of Ours and Baseline


LICENSE

This repository has a MIT license, as found in the LICENSE file.

Contact

If you have any questions, please email [email protected].

About

Detecting Concept Shifts under Different Levels of Self-awareness on Emotion Labeling

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages