EEG-PK / schizophrenia-classification

Classification of schizophrenia by EEG signals using CNN network
GNU General Public License v3.0
0 stars 0 forks source link

Architektura CNN #1

Open Eve0028 opened 4 months ago

Eve0028 commented 4 months ago

Opisać i zadecydować o tym jak będziemy jak wyglądać nasza architektura CNN.

W artykule, z którego się wzorujemy: a) z całej długości próbki z każdego kanału EEG jest tworzone zdjęcie, b) -> zdjęcia są skalowane na tem sam wymiar (uśrednienie długości próbek z różnych datasetów) <-, c) zdjęcia z wszystkich kanałów z jednej próbki są uśredniane

Eve0028 commented 4 months ago

Różna długość próbek na wejście do CNN:

Proponowane rozwiązanie: b) podział sygnałów próbek na 'pod-próbki' tej samej długości (i odpowiednie 'obsłużenie' takiego podziału w części treningu modelu - wykorzystanie warstw TimeDistributed). Dodatkowo dodanie LSTM przed klasyfikacją aby zachować informację o kolejności 'pod-próbek'.

Podobnie jak w: https://www.kaggle.com/code/afajohn/cnn-lstm-for-signal-classification-lb-0-513/notebook

Artykuły naukowe

Image

Eve0028 commented 3 months ago

@EEG-PK/model

Commit: 61e650e1c31dbdce4dca470d4b9aeda62b0dc7f1

Pierwsza, przykładowa architektura modelu z przygotowaniem danych

1. Model

CNN + LSTM

2. Użycie M-H w wersji ifft

Czyli margenau_hill_distribution_spectrogram_tfrmhs_ifft()

3. Proces

a) Wczytanie zdumpowanych danych joblib.dump() -> joblib.load(). b) Segmentacja sygnałów. c) Konwersja na zdjęcia używając rozkładu M-H:

d) Stworzenie generatora tf.data.Dataset z tak przygotowanych danych:

e) Pierwsza implementacja treningu na walidacji krzyżowej.

4. Do dodania/zmiany

a) Przełożenie implementacji mhd do głównego folderu preprocessing. b) Wczytanie danych z wszystkich datasetów z głównego folderu data.

Eve0028 commented 3 months ago

Architektura jest narazie dostosowywana (liczba warstw, ilość kerneli) przez tuner #11