De detectie van epileptische aanvallen met Reservoir...
Transcript of De detectie van epileptische aanvallen met Reservoir...
Tim Leysen
Computing op basis van accelerometrieDe detectie van epileptische aanvallen met Reservoir
Academiejaar 2009-2010Faculteit IngenieurswetenschappenVoorzitter: prof. dr. ir. Jan Van CampenhoutVakgroep Elektronica en informatiesystemen
Master in de ingenieurswetenschappen: elektrotechniekMasterproef ingediend tot het behalen van de academische graad van
Begeleiders: Pieter Buteneers, dr. ir. David VerstraetenPromotor: prof. dr. ir. Benjamin Schrauwen
Tim Leysen
Computing op basis van accelerometrieDe detectie van epileptische aanvallen met Reservoir
Academiejaar 2009-2010Faculteit IngenieurswetenschappenVoorzitter: prof. dr. ir. Jan Van CampenhoutVakgroep Elektronica en informatiesystemen
Master in de ingenieurswetenschappen: elektrotechniekMasterproef ingediend tot het behalen van de academische graad van
Begeleiders: Pieter Buteneers, dr. ir. David VerstraetenPromotor: prof. dr. ir. Benjamin Schrauwen
Toelating tot bruikleen
De auteur geeft de toelating deze masterproef voor consultatie beschikbaar te stellen en delen
van de masterproef te kopieren voor persoonlijk gebruik.
Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met be-
trekking tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten
uit deze masterproef.
Tim Leysen, augustus 2010
Voorwoord
Eerst en vooral wil ik mijn promotor prof. dr. ir. Benjamin Schrauwen bedanken. Mijn
begeleiders ir. Pieter Buteneers en dr. ir. David Verstraeten wil ik bedanken voor hun
begeleiding tijdens het academiejaar. Verder wens ik mijn broer Steven en mijn vrienden
Nick, Levi, Carolus, Jonas en Fay te bedanken voor hun steun tijdens het schrijven van deze
thesis en voor de ontspanning in mijn vrije tijd. Ten slotte wil ik hier ook mijn ouders en hun
partners Marleen en Rudi bedanken omdat ze mij de kans hebben gegeven om deze opleiding
te starten en omdat ze mij altijd zijn blijven steunen.
v
vi
De detectie van epileptische aanvallen met Reservoir
Computing op basis van accelerometrie
door
Tim Leysen
Promotor: prof. dr. ir. Benjamin Schrauwen
Begeleiders: ir. Pieter Buteneers, dr. ir. David Verstraeten
Masterproef ingediend tot het behalen van de academische graad van
Master in de ingenieurswetenschappen: elektrotechniek
Vakgroep Elektronica en informatiesystemen
Voorzitter: prof. dr. ir. Jan Van Campenhout
Faculteit Ingenieurswetenschappen
Academiejaar 2009-2010
Samenvatting
Epilepsie is een van de meest voorkomende neurologische aandoeningen waarvan ongeveer
drie op vier nieuwe gevallen met succes kunnen worden behandeld. Voor de overige groep kan
het opvolgen van de patient belangrijke klinische informatie opleveren. Het opvolgen gebeurt
door EEG registratie op lange termijn in combinatie met het opnemen van videobeelden. Dit
kan echter onaangenaam zijn voor de patient en is bovendien tijdrovend voor het medisch
personeel. Het doel van dit werk is om een automatisch aanvalsdetectie systeem te bouwen
dat bovendien patientvriendelijk is. Daarom wordt gebruik gemaakt van accelerometers. Dit
zijn eenvoudige sensoren waarmee de versnelling van de typische bewegingen die vaak gepaard
gaan met epileptische aanvallen kan worden geregistreerd. De signalen die worden opgemeten
door de accelerometers worden vervolgens geclassificeerd met Reservoir Computing. Dit is
een recente classificatietechniek die gebaseerd is op neurale netwerken en op verschillende
toepassingsgebieden met succes wordt gebruikt.
vii
Trefwoorden
Aanvalsdetectie, Epilepsie, Accelerometrie, Reservoir Computing, Tonisch-clonische aanval-
len
The detection of epileptic seizures using ReservoirComputing based on accelerometry
Tim Leysen
Supervisors: prof. dr. ir. Benjamin Schrauwen, ir. Pieter Buteneers, dr. ir. David Verstraeten
Abstract—In this article an attempt is made at designing an automatedsystem for the detection of epileptic seizures using Reservoir Computing.The seizure detection is based on the typical movement patterns that areoften associated with epileptic seizures. These movement patterns wererecorded using accelerometers.
Keywords—Reservoir Computing, seizure detection, epilepsy, accelerom-etry, tonic-clonic seizures
I. INTRODUCTION
EPILEPSY is a common neurological disorder characterizedby recurrent seizures. Recent studies show that 70% of new
epilepsy cases can be succesfully treated with medication andsurgery is an option in 7-8% of the cases for patients who donot benefit from medication. No treatment is yet available forroughly 25% of the patients [5]. Monitoring of the seizures inthis group allows doctors to gain important clinical informationthat can be used to improve patient-specific treatment. How-ever, long-term monitoring can be uncomfortable for the patientand the processing of large amounts of data is very labour in-tensive and must be done by specialists. This is why an auto-mated seizure detection system can be a useful tool for the careof epilepsy patients.
The detection system proposed in this article uses 3D ac-celerometers. By attaching these sensors to the limbs of a pa-tient the typical movement patterns that are often associatedwith seizures can be recorded. Figure 1 shows a signal of anaccelerometer during three situations: a tonic seizure, a tonic-clonic seizure and normal movement. Each situation shows adifferent movement pattern. This should allow us to distinguishseizures from other types of movement.
To classify the signals generated by the accelerometers Reser-voir Computing was used. Reservoir Computing (RC) is an ap-proach to design and train recurrent neural networks [4]. A ran-dom network of artificial neurons is generated called the reser-voir which is then connected to an input and an output layer. InRC only the weights to the output layer are trained. This is doneby feeding a number of example inputs to the reservoir togetherwith the desired output. The output of the reservoir is then com-pared with the desired output and the weights are trained in orderto minimize an error measure between the two.
Two different systems were designed for the automated detec-tion of seizures: one for tonic-clonic seizures and one for tonicseizures. To evaluate the performance of a detection system theBalanced Error Rate (BER) was used. The output is positive if aseizure occured according to the system and negative if the sys-tem thinks there is no seizure. The output is true if the systemmade a correct prediction and false if it did not. This resultsin true positives (TP), true negatives (TN), false positives (FP)and false negatives (FN). The BER is the average of the error on
Fig. 1: The ACM-signal of a tonic seizure (top), a tonic-clonicseizure (middle) and normal movement (bottom).
samples during a seizure and the error when there is no seizureand can be mathematically written as follows:
BER =1
2
(FN
FN + TP+
FPTN + FP
).
II. TONIC-CLONIC SEIZURE DETECTION
A. The dataset
The dataset that was available for this research contained 6tonic-clonic seizures and 7 tonic seizures from a total of 4 pa-tients. The data was recorded using 5 3D-accelerometers (twoaround the wrists, two around the ankles and one on the ster-num) which resulted in a 15-dimensional signal. A subset fromthis dataset was constructed for training using all 6 episodes witha tonic-clonic seizure and 16 episodes with normal movement ofdifferent types. This new dataset contained 3710 seconds of dataof which 255 were ictal (during a seizure).
B. Preprocessing of the data
Feeding the rough data to the reservoir did not result in aworking system. Therefore it was necessary to preprocess thedata. A first way to do this is to compute a number of signal
features. For this research the first derivative, the variance, twoHjorth parameters (mobility and complexity), the skewness, thekurtosis and the Continuous Wavelet Transform (CWT) wereused. A second way to preprocess the data is to reduce the num-ber of dimensions. Two methods were used to accomplish this.The first is to simply take the root sum of squares (RSS) of all3 signal values for each sensor. The second method that wasused is Principal Component Analysis (PCA). PCA is a populartechnique that transforms a number of possibly correlated vari-ables into a smaller number of uncorrelated variables called theprincipal components.
C. Results
A first number of experiments were done to determine thebest signal features without the use of dimension reduction tech-niques. The first derivative (with a BER of 0,432) and the vari-ance (0,411) were the only features that showed any results. Theother features resulted in a BER around 0,5 which means thesystem doesn’t perform better than a system that generates arandom output.
The two working features were then used to determine if di-mension reduction could further improve the results. For thefirst derivative this was the case for both the RSS (0,270) andPCA when only keeping the first principal component (0,272).Both techniques did not generate better results when the vari-ance was used as a feature. The combination of both featureswas also tested but gave bad results (0,489 with dimension re-duction and 0,433 without).
The BER of the best preprocessing method so far (first deriva-tive and dimension reduction) could be reduced further by opti-mizing the treshold for detection. Figure 2 shows how changingthe treshold can improve the results. The best result (0,226) wasreached when the value of the treshold was set to -0,6.
Fig. 2: An example of how manipulating the treshold can im-prove the detection rate
III. TONIC SEIZURE DETECTION
A. The dataset
For tonic seizure detection a subset of the original dataset wasconstructed that contained 7 episodes with tonic seizures and 16episodes with normal movement of different types.
B. Preprocessing of the data
Four features that were used in [3] for the detection of tonicseizures are introduced. First the slow signal component was
Feature BERfirst derivative 0.432first derivative + RSS 0.270first derivative + PCA 0.272after treshold optimaziation 0.226variance 0.411variance + RSS 0.423variance + PCA 0.421
TABLE I: The best results for tonic-clonic seizure detection.
computed by using a simple low pass filter with cut-off fre-quency 0,5 Hz on the original signal. This slow signal com-ponent was used to calculate the jerk, the variance and the range(the difference between the maximal and the minimal signalvalue). These three features characterize the block pattern thatcan be seen during a tonic seizure (see figure 1). To capture thesmall tremor that is visible on the signal during a seizure thevariance of the fast signal component (the original signal minusthe slow signal component) was calculated.
C. Results
The best results for these features are shown in table II. Thistime the jerk did not generate a good result. PCA was also usedto try and improve the results but it only made the results worse.The author was also not able to succesfully combine a numberof these features.
Feature BERjerk 0,463variance of slow component 0,313range of slow component 0,366variance of fast component 0,407
TABLE II: The best results for tonic seizure detection.
IV. CONCLUSION
The results of both systems are worse than those that wereaccomplished in other studies [3], [1], [2]. It is possible thatthe data that was used for training was too small a subset ofall possible movement patterns. It could also be the case thatthe preprocessing methods that were used in this study were notsuited for this problem.
REFERENCES
[1] G. Becq, S. Bonnet, L. Minotti, M. Antonakios, R. Guillemaud, and P. Ka-hane. Collection and exploratory analysis of attitude sensor data in anepilepsy monitoring unit. Proceedings of the 29th Annual InternationalConference of the IEEE EMBS, Cit Internationale, Lyon, France, 2007.
[2] A. Dalton, S. Patel, A. R. Chowdhury, M. Welsh, T. Pang, S. Schachter,G. Laighin, and P. Bonato. Detecting epileptic seizures using wearablesensor technologies, 2010.
[3] T. Nijsen. Accelerometry based detection of epileptic seizures. PhD thesis,Technische Universiteit Eindhoven, 2008.
[4] D. Verstraeten. Reservoir Computing: Computation with Dynamical Sys-tems. PhD thesis, Faculteit Ingenieurswetenschappen, 2010.
[5] H. Witte, L. Iasemidis, and B. Litt. Special issue on epileptic seizure pre-diction. IEEE Transactions on Biomedical Engineering, 50:537–539, 2003.
Inhoudsopgave
1 Inleiding 1
1.1 Epilepsie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Accelerometrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Soorten aanvallen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Myoclonische aanvallen . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 Clonische aanvallen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.3 Tonische aanvallen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.4 Tonisch-clonische aanvallen . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Evaluatie van een detectiesysteem . . . . . . . . . . . . . . . . . . . . . . . . 9
2 Reservoir Computing 11
2.1 Neurale netwerken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 Het neuron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.2 Netwerktopologieen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.3 Trainen van neurale netwerken . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Reservoir Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.1 Trainen en testen bij Reservoir Computing . . . . . . . . . . . . . . . 17
2.2.2 Reservoirparameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 Tonisch-clonische aanvalsdetectie 22
3.1 De dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.1 De eerste dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.2 De tweede dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.3 De datasets voor de experimenten . . . . . . . . . . . . . . . . . . . . 25
x
Inhoudsopgave xi
3.1.4 Kruisvalidatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2 Signaalfeatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.1 Tijdsdomein methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.2 Tijd-frequentie methoden . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.3 Niet-lineaire methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.4 De invloed van de features op het ACM-signaal . . . . . . . . . . . . . 31
3.3 Dimensie-reductie technieken . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3.1 Principal Component Analysis . . . . . . . . . . . . . . . . . . . . . . 40
3.4 Testen van features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4.1 Dimensiereductie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4.2 Combinatie van de afgeleide en de activiteit . . . . . . . . . . . . . . . 46
3.5 Optimalisatie van de treshold . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.6 Invloed van de reservoirparameters . . . . . . . . . . . . . . . . . . . . . . . . 49
3.6.1 De spectrale radius en de invoerschaling . . . . . . . . . . . . . . . . . 49
3.6.2 De leakrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.6.3 De schaling van de bias . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.6.4 De connectiefracties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.6.5 Het aantal neuronen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.6.6 De optimale parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.7 Testen op de volledige dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.8 Detectie met een lineaire classifier . . . . . . . . . . . . . . . . . . . . . . . . 55
4 Tonische aanvalsdetectie 56
4.1 De dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.2 Specifieke features voor tonische aanvallen . . . . . . . . . . . . . . . . . . . . 57
4.2.1 De jerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.2.2 De standaardafwijking van de trage signaalcomponent . . . . . . . . . 61
4.2.3 Het verschil tussen de maximale en de minimale signaalwaarde . . . . 61
4.2.4 De standaardafwijking van de snelle signaalcomponent . . . . . . . . . 61
4.3 Testen van de features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5 Conclusie 70
Inhoudsopgave xii
Bibliografie 71
Tabel met afkortingen
ACM Accelerometrie
ANN Artificieel Neuraal Netwerk
BER Balanced Error Rate
CWT Continuous Wavelet Transform
CVA Cerebrovasculair accident
DWT Discrete Wavelet Transform
ECG Elektrocardiogram
EDF European Data Format
EEG Elektroencephalogram
EMG Elektromyogram
FFT Fast Fourier Transform
FN False Negatives
FP False Positives
MRA Multi-Resolutie Analyse
PCA Principal Component Analysis
RC Reservoir Computing
RNN Recurrent Neuraal Netwerk
RSS Root Sum of Squares
STFT Short Time Fourier Transform
TN True Negatives
TP True Positives
xiii
Hoofdstuk 1
Inleiding
In deze thesis wordt onderzocht of het mogelijk is om een systeem te bouwen dat epileptische
aanvallen kan detecteren op basis van de typische bewegingen die vaak gepaard gaan met
een aanval. In het eerste deel van hoofdstuk 1 wordt de ziekte epilepsie besproken en wordt
verklaard waarom een automatisch detectiesysteem nuttig kan zijn voor zowel de patient als
het medisch personeel. Vervolgens wordt uitgelegd wat accelerometers zijn en hoe het mogelijk
is om daarmee bewegingen te detecteren. Ten slotte worden een aantal verschillende soorten
aanvallen in detail bekeken en wordt aan de hand van het accelerometriesignaal uitgelegd hoe
een aanval kan onderscheiden worden van een andere soort.
In het tweede hoofdstuk wordt uitgelegd wat Reservoir Computing is en hoe het gebruikt kan
worden als classificatiemethode voor dit detectiesysteem. In het derde hoofdstuk wordt vervol-
gens een systeem opgesteld voor de detectie van tonisch-clonische aanvallen. Er wordt vooral
aandacht besteed aan de prestaties van verschillende voorverwerkingsmethoden die inwerken
op de ruwe data afkomstig van de accelerometers. Ten slotte wordt in het laatste hoofdstuk
een systeem opgesteld dat tonische aanvallen kan detecteren. De werkwijze is gelijkaardig
aan die uit het derde hoofdstuk maar er worden nog een aantal voorverwerkingsmethoden
besproken en geevalueerd die specifiek zijn voor dit type aanvallen
1
Hoofdstuk 1. Inleiding 2
1.1 Epilepsie
Epilepsie is een van de meest voorkomende neurologische aandoeningen en komt overal ter
wereld voor bij alle rassen en in elke sociale klasse. Epilepsie kan worden vast gesteld bij
vrouwen en mannen van alle leeftijden maar de incidentie ligt hoger bij jongeren tijdens hun
eerste 20 levensjaren en bij personen die ouder zijn dan 60. De prevalentie bedraagt 4 tot 10
personen per 1000 en wereldwijd lijden ongeveer 50 miljoen mensen aan deze aandoening [8].
In de westerse landen bedraagt het aantal nieuwe diagnoses 40 tot 70 per 100 000 inwoners per
jaar. In ontwikkelingslanden ligt dit cijfer vaak tot twee keer hoger door een groter risico op
situaties die kunnen leiden tot permanente hersenbeschadiging [24] zoals een cerebrovasculair
accident (CVA) en schedeltrauma’s.
Epilepsie is een chronische aandoening en gaat meestal gepaard met typische aanvallen. De
oorzaak van deze aanvallen zijn plotse, meestal korte, abnormale hypersynchrone ontladingen
in een groep hersencellen. Deze ontladingen verhinderen de normale werking van de herse-
nen. De symptomen van een aanval zijn afhankelijk van het gebied in de hersenen waar de
oorsprong van de ontladingen ligt en hoe ver de ontladingen zich verspreiden. Een aanval
kan uiteenlopende vormen aannemen die varieren van een korte afwezigheid van de patient
(absence) tot een reeks ongecontroleerde, spastische bewegingen.
Het meest voorkomende type epilepsie (60% van de gevallen) is idiopathische epilepsie. In dit
geval kan men geen afwijking of beschadiging in de hersenen vinden die verantwoordelijk kan
worden gesteld voor de aanvallen. De oorzaak van dit type is tot nog toe niet gekend. De
oorzaak van secundaire of symptomatische epilepsie is wel gekend en dit type is meestal het
gevolg van hersenschade door een zuurstoftekort of een trauma tijdens de geboorte, een klap
tegen het hoofd, een herseninfectie, een hersenvliesontsteking of een hersentumor.
Uit recente studies blijkt dat 70% van de nieuwe gevallen met succes kan worden behandeld
(de aanvallen worden volledig onderdrukt) met anti-epileptische medicatie. Twee tot vijf
jaar na de start van de behandeling kan men bij kinderen in 70% van de gevallen en bij
volwassenen in 60% van de gevallen stoppen met medicatie zonder herval. Bij patienten die
niet goed reageren op medicatie kan een chirurgische ingreep een oplossing bieden (7-8%).
Voor 25% van de patienten is er echter nog geen effectieve behandeling mogelijk [37].
Hoofdstuk 1. Inleiding 3
Het opvolgen van patienten die vaak aanvallen krijgen kan belangrijke klinische informatie
opleveren die gebruikt kan worden voor het verbeteren van de therapie waardoor het leven van
de patient draaglijker kan worden gemaakt [2]. Patienten worden opgevolgd door het registre-
ren van een elektroencephalogram (EEG) in combinatie met het opnemen van videobeelden.
Op basis van deze data kan men aanvallen detecteren die anders niet zouden opgemerkt wor-
den en kan men zowel de duur als het type van de aanvallen bepalen. Het langdurig opvolgen
van patienten op basis van EEG signalen en video data kan echter onaangenaam zijn voor
de patient. Tevens is het analyseren van grote hoeveelheden data zeer arbeidsintensief en
specialistenwerk. Het zou dus nuttig zijn om een automatisch detectiesysteem voor epilepti-
sche aanvallen te ontwikkelen dat zowel betrouwbaar is als patientvriendelijk. In deze scriptie
wordt daarom onderzocht of het mogelijk is om een detectiesysteem te maken dat gebaseerd is
op de typische bewegingen die vaak gepaard gaan met epileptische aanvallen. Hiervoor wordt
gebruik gemaakt van accelerometers.
Figuur 1.1: Een aanval zichtbaar op meerdere kanalen van het EEG
Hoofdstuk 1. Inleiding 4
1.2 Accelerometrie
Een accelerometer is een meetapparaat dat een versnelling kan registeren en meten volgens
een bepaalde as. Hierdoor is het mogelijk om de frequentie en de intensiteit van lichaamsbe-
wegingen te meten in 3 richtingen. Een eerste vermelding van het gebruik van accelerometers
voor het opvolgen van lichaamsbewegingen dateert van in de jaren 50 [29], maar door de prijs
en hun omvang duurde het nog tot de jaren 70 voordat men ze vaker begon te gebruiken voor
het detecteren van lichaamsactiviteit [12].
Tegenwoordig worden accelerometers gebruikt in verschillende medische onderzoeksgebieden
zoals ganganalyse [3, 16, 19], preventieve geneeskunde [6, 28], behandeling van de ziekte van
Parkinson [30], revalidatie [11, 32] en fysiotherapie [10]. Voor het detecteren van epileptische
aanvallen wordt traditioneel gebruik gemaakt van EEG signalen [13, 23, 25]. Uit een litera-
tuurstudie bleek dat er tot nu toe nog niet zo veel onderzoek is gedaan naar de detectie van
epileptische aanvallen met behulp van accelerometers. Nochtans is men er wel al in geslaagd
om een werkend detectiesysteem te bouwen [1,7, 20,21].
In [21] werd een detectiesysteem ontworpen op basis van drie-dimensionale accelerometrie
data en video/EEG dat werd toegepast op de data van 18 patienten met een ernstige vorm
van epilepsie. De patienten werden 36 uur lang opgevolgd en in die tijd werden 897 aanvallen
geregistreerd. Vierhonderd achtentwintig aanvallen (48%) werden gedetecteerd met ACM.
Bij 10 van de 18 patienten (56%) werden alle aanvallen gedetecteerd. Voor 3 patienten
kon ACM niet gebruikt worden aangezien zij geen aanvallen vertoonden waarbij bewegingen
voorkwamen. Volgens de auteurs tonen de resultaten aan dat ACM een waardevolle aanvulling
kan zijn op de bestaande methoden om motorische aanvallen te detecteren die niet zichtbaar
zijn op het EEG. Ten slotte vond men ook dat het aantal gedetecteerde aanvallen zeven
keer hoger lag dan het aantal verwachte aanvallen en de aanvallen die geregistreerd werden
door de verpleegsters. Zonder een automatisch detectiesysteem wordt dus een groot aantal
aanvallen niet geregistreerd. Dit betekent dat het mogelijk is dat patienten geen volledig
correcte behandeling krijgen. Een geautomatiseerd detectiesysteem zou dus niet alleen het
werk van het medisch personeel verlichten maar kan eventueel ook leiden tot een betere zorg
voor de patient.
Hoofdstuk 1. Inleiding 5
1.3 Soorten aanvallen
Epilepsie wordt gekenmerkt door verschillende type’s aanvallen die ruwweg kunnen ingedeeld
worden in partiele aanvallen en gegeneraliseerde aanvallen. Partiele aanvallen zijn het gevolg
van plaatselijke elektrische ontladingen in de hersenen en de symptomen van deze aanvallen
zijn hierdoor het gevolg van een verstoorde functie van de betrokken hersendelen. Partiele
aanvallen kunnen verder worden onderverdeeld in simpele partiele aanvallen, waarbij geen
bewustzijnsstoornissen optreden en complexe partiele aanvallen waarbij de patient wel een
bewustzijnsverandering ondergaat.
Bij gegeneraliseerde aanvallen vinden de ontladingen plaats in alle hersencellen. Gegenera-
liseerde aanvallen kunnen verder onderverdeeld worden in motorische aanvallen, die geken-
merkt worden door motorische verschijnselen, en absences, waarbij de patient heel kort in een
verminderde staat van bewustzijn verkeert. Aangezien we met accelerometrie (ACM) enkel
aanvallen kunnen detecteren waarbij bewegingen optreden of waarbij een normaal bewegings-
patroon wordt verstoord kunnen absences hiermee niet worden gedetecteerd.
Motorische aanvallen zijn het gevolg van een massieve ontlading in de motorische cortex of in
de buurt ervan. Motorische aanvallen worden opgedeeld in myoclonische, clonische, tonische
en tonisch-clonische aanvallen. Deze opdeling gebeurt op basis van de lengte van de contractie
van de spieren, de periodiciteit van de ritmische bewegingen en de spieren die betrokken zijn
bij de aanval [22].
In deze thesis wordt enkel data van motorische aanvallen gebruikt, meer specifiek tonische
en tonisch-clonische aanvallen. Myoclonische en clonische aanvallen worden ook besproken
omwille van hun relevantie tot tonisch-clonische aanvallen.
1.3.1 Myoclonische aanvallen
Een myoclonische aanval wordt gekenmerkt door een plotse, korte, spastische beweging die
veroorzaakt worden door een abrupte spiercontractie (positieve myoclonus) of een onvrijwillige
relaxatie van een spier (negatieve myoclonus) [31]. Meestal zijn slechts enkele spieren in een
deel van het lichaam betrokken bij een myoclonus, bijvoorbeeld een antagonistisch paar.
Een myoclonische beweging ontstaat hoogstwaarschijnlijk door de activatie van de motorische
Hoofdstuk 1. Inleiding 6
cortex tijdens epileptische ontladingen. De meeste epileptische aanvallen starten met een
ontlading in de frontale kwab en verspreiden zich dan naar nabijgelegen gebieden zoals de
motorische cortex. Subtiele myoclonische bewegingen treden op als de ontladingen de primaire
motorische cortex bereiken. Als de premotorische cortex beınvloed wordt ziet men grovere
bewegingen. [20]
Een myoclonus is te onderscheiden van andere bewegingsstoornissen door zijn snelle aanvang,
korte duur en het feit dat het gaat om een eenmalige spiercontractie [34]. Figuur 1.2 toont
een voorbeeld van het ACM-signaal van een myoclonische aanval.
Figuur 1.2: Een voorbeeld van een myoclonische aanval (ACM)
1.3.2 Clonische aanvallen
Clonische aanvallen bestaan uit regelmatige, herhaalde, korte contracties van verschillende
spiergroepen. Bij focale clonische aanvallen (plaatselijke ontlading in de hersenen) zijn meestal
de distale delen van de extremiteiten (bvb een hand) of het gezicht betrokken. Deze con-
tracties zijn het gevolg van epileptische activatie van de premotorische cortex [22]. Bij een
clonische aanval ziet men vaak een propagatie van spiercontracties van de distale delen van
Hoofdstuk 1. Inleiding 7
de extremiteiten naar de proximale delen.
1.3.3 Tonische aanvallen
Een tonische aanval wordt gekenmerkt door een aanhoudende contractie van een of meer
spiergroepen. Meestal verandert de positie van de ledematen traag maar het is ook mogelijk
dat de aanval start met een snelle spastische beweging. Een tonische aanval duurt gemiddeld
10-20 seconden maar kan varieren tussen 2 en 60 seconden [20]. Tonische aanvallen vinden
waarschijnlijk hun oorsprong in zowel de primaire motorische cortex als de supplementaire
motorische gebieden (verantwoordelijk voor het plannen en de coordinatie van complexe be-
wegingen) [22]. Figuur 1.3 toont het ACM-signaal van een tonische aanval.
Figuur 1.3: Een voorbeeld van een tonische aanval (ACM)
1.3.4 Tonisch-clonische aanvallen
Aan een clonische aanval gaat meestal een tonische fase vooraf. Men spreekt dan van tonisch-
clonische aanvallen. Deze aanvallen vertonen een typische evolutie. Eerst vindt een tonische
contractie plaats waarbij een of meerdere ledematen van positie veranderen in combinatie
met een flexie van de extremiteiten. Deze fase evolueert daarna naar opeenvolgende korte
Hoofdstuk 1. Inleiding 8
spiercontracties. De frequentie waarmee deze contracties optreden neemt langzaam af en de
amplitude neemt toe, waarna de clonische fase van de aanval plaats vindt. De tonische fase
is zeer kort en kan meestal niet klinisch worden gedetecteerd tenzij men met behulp van
polygrafisch onderzoek kan detecteren dat de frequentie van de spiercontractie hoger is in het
begin van de aanval en daarna geleidelijk aan afneemt. Figuur 1.4 toont een voorbeeld van
een tonisch-clonische aanval. Ter vergelijking wordt op figuur 1.5 een voorbeeld van snelle
normale beweging gegeven.
Figuur 1.4: Een voorbeeld van een tonisch-clonische aanval (ACM)
Hoofdstuk 1. Inleiding 9
Figuur 1.5: Een voorbeeld van normale beweging (ACM)
1.4 Evaluatie van een detectiesysteem
Een detectiesysteem voorspelt voor elke sample van het ingangssignaal of het wel of niet
tot een aanval behoort. De uitvoer bedraagt dan respectievelijk +1 of -1. De volgende vier
situaties kunnen optreden:
� De uitgang is positief en werd correct voorspeld (een true positive: TP).
� De uitgang is positief en werd foutief voorspeld (een false positive: FP).
� De uitgang is negatief en werd correct voorspeld (een true negative: TN).
� De uitgang is negatief en werd foutief voorspeld (een false negative: FN).
Op basis van het aantal TP, FP, TN en FN kan de Balanced Error Rate (BER) worden
opgesteld als volgt:
BER =1
2
(FN
FN + TP+
FP
TN + FP
)(1.1)
Hoofdstuk 1. Inleiding 10
De BER is een foutmaat waarmee de performantie van een detectiesysteem kan worden
geevalueerd. Een lagere BER betekent een lager aantal fouten en dus een beter detectiesys-
teem. De BER heet gebalanceerd omdat het gemiddelde wordt berekend van de procentuele
fout van twee klassen: een positieve of een negatieve uitgangswaarde.
Hoofdstuk 2
Reservoir Computing
2.1 Neurale netwerken
In deze thesis is het de bedoeling om een systeem te bouwen dat epileptische aanvallen kan
detecteren op basis van data afkomstig van de ACM-sensoren. Dit soort problemen kan
worden opgelost met machine learning-methoden. Bij machine learning is het de bedoeling dat
de machine automatisch aanleert om het probleem op te lossen door te leren uit voorbeelddata
waarvan de gewenste uitgang gekend is. Het moeilijke aan deze methode is dat het aantal
combinaties van alle mogelijke uitkomsten met alle mogelijke ingangen te groot is om volledig
in de voorbeelddata vervat te zitten. Het systeem moet op basis van de voorbeelddata leren
generaliseren zo dat het ook een correcte uitgang kan geven in andere gevallen. Een belangrijke
subklasse van de machine-learning methoden zijn de artificıele neurale netwerken. Reservoir
Computing bevindt zich in die subklasse en is een methode om recurrente neurale netwerken
te ontwerpen en te trainen [35].
Een neuraal netwerk is een systeem dat opgebouwd is uit een groep neuronen (zenuwcellen)
die onderling verbonden zijn. De term neurale netwerken kan zowel verwijzen naar biologi-
sche neurale netwerken als naar artificıele neurale netwerken (ANN). Het menselijk brein is
een biologische neuraal netwerk en bestaat uit zo’n honderd miljard zenuwcellen. Artificıele
neurale netwerken (ANN) worden opgebouwd uit artificıele neuronen die oorspronkelijk zo
geprogrammeerd werden om de werking van een biologisch neuron na te bootsen. Recente
ANN kunnen echter ook opgebouwd zijn uit neuronen die niets meer weg hebben van een
11
Hoofdstuk 2. Reservoir Computing 12
biologisch neuron.
Artificıele neurale netwerken kunnen gebruikt worden om wiskundige modellen op te stellen
van biologische neurale netwerken om zo een beter inzicht te krijgen in de werking van de
hersenen. Een ander toepassingsgebied waarin ANN met succes worden gebruikt is artificıele
intelligentie. Voorbeelden zijn spraakherkenning, beeldanalyse en het maken van software
agents (voor videospellen) of autonome robotten.
2.1.1 Het neuron
Neuronen zijn de bouwstenen van een neuraal netwerk. Een biologisch neuron of zenuwcel
is een gespecialiseerde cel die informatie in de vorm van zenuwimpulsen of actiepotentialen
kan doorgeven van een deel van het lichaam naar een ander. Een willekeurig neuron in
het lichaam kan tienduizenden verbindingen hebben met andere neuronen. Neuronen zijn
zeer gevoelig voor stimuli en als de stimulatie van een neuron een bepaalde drempelwaarde
overschrijdt zal het een elektrische impuls genereren die zich voortplant via het axon (een
uitloper van het neuron) en zo andere neuronen kan bereiken. De stimulatie van een neuron
is de som van activerende en remmende impulsen die via synapsen worden ontvangen van
andere neuronen [18]. Een artificieel neuron is een eenvoudige rekeneenheid. Figuur 2.1
toont een schematische voorstelling van een artificieel neuron zoals het gebruikt wordt voor
dit onderzoek. De theoretische beschrijving van het artificieel neuron in dit deel is grotendeels
gebaseerd op informatie uit [17].
Een neuron j is meestal verbonden met een groot aantal andere neuronen. De sterkte van
een verbinding tussen twee neuronen i en j wordt bepaald door het gewicht wi,j . De uitgan-
gen oi1 , . . . , oin van de neuronen i1, . . . , in die verbonden zijn met j worden dan beschouwd
als de ingangen xi1 , . . . , xinvan j. De propagatiefunctie van een neuron transformeert de
ingangen xi1 , . . . , xin , rekening houdend met de gewichten wi,j , naar de netwerkingang netj .
De meest eenvoudige propagatiefunctie is de gewogen som. Hierbij wordt elke ingang van j
vermenigvuldigt met zijn gewicht wi,j en worden de producten opgeteld:
netj =∑
i
(xi ·wi,j) (2.1)
Hoofdstuk 2. Reservoir Computing 13
wi1,j
ingangen
activatiefunctie
gewichten
propagatiefunctie
ajactivatie
xi1
wi2,j
win,j
...
...
xi2
xin
∑netj
φ
bias
wbias,j
Figuur 2.1: Een schematische voorstelling van een neuron
De activatie aj , ook de toestand van het neuron genoemd, wordt bekomen door het resul-
taat van de propagatiefunctie aan te leggen aan de activatiefunctie fact en wordt als volgt
gedefinieerd:
aj (t) = fact (netj (t) , aj (t− 1)) (2.2)
De activatiefunctie transformeert de netwerkinput netj naar de activatie aj (t). Afhankelijk
van de topologie van het netwerk is aj (t) ook afhankelijk van de vorige activatie aj (t− 1)
(zie verder). De activatiefunctie is typisch een eenvoudige niet-lineaire functie. De meest
eenvoudige is de Heaviside functie. Andere populaire functies zijn de Fermi functie, de sig-
moidfunctie en de tangens hyperbolicus. In deze scriptie wordt verder gebruik gemaakt van
de tangens hyperbolicus (zie figuur 2.2).
De activatie aj wordt ten slotte aangelegd aan een derde functie, de uitgangsfunctie, wat
resulteert in de uitgang oj . Meestal wordt de identiteitsfunctie gebruikt zodat oj = aj . Dit
is ook in deze thesis het geval en daarom wordt deze functie niet weergegeven op figuur 2.1.
Hoofdstuk 2. Reservoir Computing 14
−5 −4 −3 −2 −1 0 1 2 3 4 5−1
−0.5
0
0.5
1
x
tan
h(x
)
Tangens hyperbolicus
Figuur 2.2: Tangens hyperbolicus functie
De uitgang oj kan dan dienen als de ingang van een ander neuron.
De drempelwaarde die bepaalt of een biologisch neuron al dan niet een elektrische potentiaal
genereert wordt op een artificiele manier geımplementeerd door een biasneuron (zie figuur 2.1)
te integreren in het netwerk en te verbinden met alle andere neuronen. De uitgang van het
biasneuron is steeds 1. Door het gewicht van de verbinding met het biasneuron te varieren
kan het gebied waarin de niet-lineariteit werkt verschoven worden.
2.1.2 Netwerktopologieen
De neuronen in een artificieel neuraal netwerk kunnen in principe op alle denkbare manieren
met elkaar worden verbonden. In de praktijk bestaan er echter verschillende organisatievor-
men die beter werken voor bepaalde toepassingen. Doorgaans worden de neuronen in een
ANN gegroepeerd in lagen: een ingangslaag, een of meerdere verborgen verwerkingslagen en
een uitgangslaag (zie figuur 2.3).
In een feedforward netwerk is elk neuron in een bepaalde laag enkel verbonden met neuro-
nen in de volgende laag (naar de uitgangslaag toe). De informatie die tussen de knopen wordt
doorgegeven kan dus enkel in de voorwaartse richting stromen. Aangezien er geen connecties
naar de huidige laag of de vorige laag mogelijk zijn bevat dit soort netwerk geen lussen of
cycli. De activatie van een neuron is dan enkel afhankelijk van de huidige ingangen.
Hoofdstuk 2. Reservoir Computing 15
ingangslaag uitgangslaagverborgen tussenlaag
Figuur 2.3: Een eenvoudig neuraal netwerk
In recurrente neurale netwerken (RNN) is er geen restrictie op de verbindingen tussen de
neuronen. Hierdoor kunnen lussen ontstaan waardoor een neuron zichzelf kan beınvloeden.
Dit kan rechtstreeks gebeuren door middel van een connectie van het neuron met zichzelf of
onrechtstreeks wanneer er een connectie wordt gemaakt naar een voorgaande laag. Door deze
uitbreiding beschikt het netwerk over een vorm van geheugen. De huidige activatie van een
neuron is dan niet alleen een functie van de huidige ingangen maar ook van vorige ingangen.
2.1.3 Trainen van neurale netwerken
Het trainen van een neuraal netwerk wordt gerealiseerd door het netwerk zodanig aan te
passen zodat de gewenste uitgang wordt bekomen voor een gegeven ingang. Nadat het netwerk
getraind is zou het in staat moeten zijn om ook de correcte uitgang te geven wanneer de ingang
ongeziene data bevat. Meestal worden enkel de gewichten van de verbindingen aangepast maar
in theorie zou het neuraal netwerk ook kunnen leren door bvb een van de drie neuronfuncties
te varieren.
Er wordt een onderscheid gemaakt tussen de volgende leerstrategieen:
Hoofdstuk 2. Reservoir Computing 16
� Unsupervised learning methodes leren enkel van de ingangswaarden die aan het
netwerk worden aangelegd, zonder een idee te hebben van het gewenste gedrag van het
netwerk. Het netwerk probeert gelijkaardige patronen te herkennen en classificeert ze
in categorieen. Een populair voorbeeld van deze methoden zijn de self-organising maps
van Kohonen [17].
� Reinforcement learning methodes geven naast de ingangswaarden ook een feedback
terug aan het netwerk. De feedback is een waarde die aangeeft of het resultaat al
dan niet correct is en, indien mogelijk, de mate waarin het resultaat correct is. Deze
algoritmen worden vaak gebruikt in de robotica [35].
� Supervised learning methodes stellen zowel de ingangen als de precieze activatie van
de uitgangsneuronen beschikbaar. Voor elke set ingangswaarden die wordt aangelegd
aan het netwerk kan de uitgang rechtstreeks vergeleken worden met de correcte uitgang.
Vervolgens kunnen de gewichten aangepast worden op basis van het verschil tussen beide
waarden. Deze methode is zeer effectief maar helaas zijn de gewenste uitgangen niet
voor alle toepassingen gekend. Aangezien dit in deze scriptie wel het geval is wordt dan
ook gebruikt gemaakt van deze methode [17].
In theorie zijn recurrente neurale netwerken een krachtig middel om complexe problemen
mee op te lossen. Enkele factoren bemoeilijken echter het gebruik van RNN voor praktische
applicaties. Door de recurrente structuur treedt er meestal een trage convergentie op en
kunnen de netwerken onstabiel worden tijdens het trainen [36]. Reservoir Computing werd
ontwikkeld om deze problemen op te lossen zodat men recurrente neurale netwerken kan
gebruiken zonder een lange en moeilijke trainingsfase.
Hoofdstuk 2. Reservoir Computing 17
2.2 Reservoir Computing
Reservoir Computing (RC) is een manier om recurrente neurale netwerken te ontwerpen
en te trainen. Bij RC wordt het netwerk opgesplitst in een invoerlaag, een reservoir en een
uitleeslaag (zie figuur 2.4). Het reservoir is opgebouwd uit een groot aantal neuronen waarvan
de verbindingen willekeurig zijn gekozen. Wanneer een ingangssignaal wordt aangelegd aan
het reservoir zal elk neuron een niet-lineaire transformatie van dat signaal generen. Het
uitgangssignaal is dan het resultaat van een lineaire combinatie van deze signalen. Het verschil
tussen Reservoir Computing en de traditionele trainingsmethoden voor neurale netwerken is
dat men bij RC enkel de gewichten van de verbindingen naar de uitleeslaag gaat trainen.
invoerlaag uitleeslaagreservoir
Figuur 2.4: Een eenvoudig reservoir. De vaste lijnen stellen de willekeurige, onveranderlijke verbin-
dingen voor. Enkel de stippellijnen worden getraind.
2.2.1 Trainen en testen bij Reservoir Computing
Bij het gebruik van Reservoir Computing moeten een aantal worden ondernomen [35]:
� Genereer de volgende willekeurige gewichtenmatrices:
– W inres (ingang naar reservoir)
– W resres (verbindingen binnen het reservoir)
Hoofdstuk 2. Reservoir Computing 18
� Herschaal deze matrices op basis van de reservoirparameters die de gebruiker kan in-
stellen (zie verder).
� Leg het ingangssignaal u aan aan het reservoir.
� Sla voor elke tijdstap k de toestand van het reservoir x [k] op.
� Train de de uitgangsgewichten W uitres.
De toestand en de uitgang van het reservoir op tijdstip k+1 kunnen berekend worden met
behulp van de volgende formules:
x [k + 1] = f(W res
resx [k] + W inresu [k]
)(2.3)
y [k + 1] = W uitresx [k + 1] (2.4)
De optimale uitgangsgewichten W uitres worden bepaald door de gemiddelde kwadratische fout
tussen de gewenste uitvoer en de werkelijke uitvoer van het reservoir te minimaliseren met
lineaire regressie:
wopt = arg minw‖Aw −B‖2 . (2.5)
De matrix A bevat de toestanden van het reservoir. Elke rij van A bevat de activatiewaarden
van alle neuronen op een bepaald tijdstip. De gewenste uitgang op elk tijdstip bevindt zich
in de matrix B. Vergelijking 2.5 kan in een stap opgelost worden met behulp van de pseudo-
inverse van A (A†) [35].
wopt = A†B =(ATA
)−1ATB (2.6)
Deze berekening verloopt relatief snel, zelfs voor grote reservoirs [5].
Hoofdstuk 2. Reservoir Computing 19
Overfitting
Een mogelijk gevaar bij het trainen op deze manier is het onstaan van overfitting. Dit be-
tekent dat het systeem een correcte uitvoer genereert op de trainingsdata, maar niet op de
ongeziene data (testdata). De testfout is dan veel groter dan de trainingsfout. In plaats van
de onderliggende distributie van de data te begrijpen heeft het systeem simpelweg de data
van buiten geleerd. De kans op overfitting stijgt naarmate de complexiteit van het systeem
toeneemt (zie figuur 2.5). Hieruit kan men de conclusie trekken dat overfitting kan verme-
den worden door de complexiteit van het systeem te beperken. Er moet echter een afweging
gemaakt worden aangezien het systeem complex genoeg moet zijn om de onderliggende dis-
tributie van de invoer te kunnen modelleren. Een manier om deze afweging te doen is om
beperkingen op te leggen aan het model. Deze methode noemt regularisatie. De complexiteit
van het systeem wordt onder andere bepaald door de grootte van de gewichten. Bij Reservoir
Computing wordt regularisatie dan ook meestal geımplementeerd door een extra term toe te
voegen aan formule 2.5. Deze term zorgt ervoor dat grote gewichten afgestraft worden [35].
wopt = arg minw‖Aw −B‖2 + λ ‖w‖2 (2.7)
Deze vorm van regressie wordt ridge regression genoemd. De regularisatieparameter λ zorgt
voor een tradeoff tussen de fout op de trainset en de normen van de gewichten. Vergelijking
2.7 kan in een stap opgelost worden als volgt [35]:
wopt =(ATA + λI
)−1ATB (2.8)
2.2.2 Reservoirparameters
De eigenschappen van het reservoir zijn afhankelijk van een aantal globale parameters die de
gebruiker kan instellen [14]:
� De reservoirgrootte bepaalt het aantal neuronen dat het reservoir bevat. Een com-
plexe taak zal een groter reservoir vereisen dan een simpele taak. Uiteraard zal de
rekentijd groter zijn voor grotere reservoirs.
Hoofdstuk 2. Reservoir Computing 20
testfout trainfout
Complexiteit
Fou
t
Figuur 2.5: De test- en trainfout in functie van de complexiteit van het systeem
� De spectrale radius is het maximum van de absolute waarden van de eigenwaarden
van W resres. Deze parameter beınvloedt de effectieve tijdsconstante van het netwerk en
hoe lang informatie in het netwerk blijft circuleren.
� De invoerschaling bepaalt de graad van niet-lineariteit van de dynamica van het re-
servoir. Een heel lage invoerschaling zorgt ervoor dat het reservoir zich gedraagt als een
lineair medium. Een heel grote invoerschaling resulteert erin dat de neuronen in het
niet-lineaire gebied werken.
� De connectiefractie wordt gebruikt bij het opstellen van de connectiviteitsmatrix tus-
sen twee lagen. Deze matrix bepaalt welke neuronen verbonden zijn met elkaar. Een
connectiefractie van 0,5 betekent dat slechts de helft van alle mogelijke verbindingen
tussen de neuronen van de uitgaande laag en de volgende laag gemaakt worden.
� De bias bepaalt de schaling van de verbinding tussen het biasneuron (zie de sectie over
het neuron) en de andere neuronen. De bias bepaalt in welk gebied de activatiefunctie
Hoofdstuk 2. Reservoir Computing 21
opereert en heeft dus ook een invloed op de graad van niet-lineariteit van het reservoir.
� De leak rate bepaalt de fractie van de vorige activatie van een neuron dat gebruikt
wordt om de huidige activatie te berekenen.
Al deze parameters hebben een invloed op de prestaties van het reservoir en moeten samen
worden geoptimaliseerd. Dit wordt doorgaans gedaan met manuele experimenten.
Hoofdstuk 3
Tonisch-clonische aanvalsdetectie
In dit hoofdstuk wordt een poging gedaan om een detectiesysteem te ontwikkelen dat in staat
is om tonisch-clonische aanvallen te detecteren. In het eerste deel wordt de data gepresenteerd
die beschikbaar werd gesteld voor dit onderzoek. In het tweede deel worden verschillende voor-
verwerkingsmethoden besproken die inwerken op de ruwe data waardoor het gemakkelijker
wordt om aanvallen te onderscheiden van andere type’s beweging. Van deze voorverwer-
kingsmethoden wordt vervolgens nagegaan hoe goed ze presteren door gebruik te maken van
Reservoir Computing gebruikt als classificatiemethode.
3.1 De dataset
Voor deze thesis werden twee verschillende datasets beschikbaar gesteld. De eerste dataset
is afkomstig van het UZ Gent en bevat enkel tonisch-clonische aanvallen. De tweede da-
taset werd beschikbaar gesteld door het Expertisecentrum Kempenhaeghe voor epilepsie en
slaapgeneeskunde en bevat zowel tonische als tonisch-clonische aanvallen.
3.1.1 De eerste dataset
De dataset van het UZ Gent bevat bruikbare data van twee patienten. De eerste patient
werd 17 uur lang opgevolgd en vertoonde 5 aanvallen. De tweede patient werd 38 uur lang
opgevolgd en onderging 11 aanvallen. Voor beide patienten is data beschikbaar van twee
sensoren: een rond elke pols. Aangezien de metingen werden uitgevoerd met 3D-sensoren
meet elke sensor de versnelling in 3 richtingen en zijn er in het totaal 6 signalen beschikbaar.
22
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 23
Elke sample was gecodeerd als een 2-complement en de samplefrequentie bedraagt 100 Hz. Het
2-complement is een getalsrepresentatie die standaard gebruikt wordt in computers. Positieve
getallen worden voorgesteld door een bitrij die begint met 0 en negatieve getallen beginnen
met een 1.
Om een waarde te bekomen in g (1 g = 9,81 m/s2) moeten de volgende stappen worden
doorlopen:
1. Reken het 2-complement om naar een waarde tussen -128 en 127.
2. Deel het resultaat door 127 en vermenigvuldig met 6 aangezien de accelerometers een
bereik hebben van -6 tot +6 g.
De data uit deze dataset bevatte ruis die lijkt op zout-en-peper ruis. Dit soort ruis wordt
gekarakteriseerd door signaalwaarden met een extreme waarde (hier: -6 of 6). Zout-en-peper
ruis is gemakkelijk te herkennen op een foto als zwarte en witte puntjes en dankt hieraan zijn
naam. Op een ACM-signaal manifesteert deze ruis zich als plotse ’pieken’ op het signaal. Deze
ruis kan voor een groot deel worden weggefilterd door gebruik te maken van een mediaanfilter
(zie figuur 3.1). Voor de lengte van het mediaanfilter werden 15 samples gekozen. Dit is net
voldoende om de meeste ruis op signalen die rust voorstellen weg te filteren. Een grotere
lengte zorgt voor meer informatieverlies tijdens het clonische gedeelte van de aanval.
3.1.2 De tweede dataset
De tweede dataset bevat data van vier patienten die samen dertien aanvallen vertonen waarvan
zes tonisch-clonische aanvallen en zeven tonische aanvallen. Het begin- en eindtijdstip van
elke aanval werd gemarkeerd door specialisten op basis van EEG-, ACM- en videodata. De
signalen werden gemeten door vijf accelerometers: een op de borst, twee rond de polsen en
twee rond de enkels. Dit betekent dat de dataset bestaat uit vijftien signalen. De signalen
werden gesampled aan 100 Hz.
De data werd geencapsuleerd in het European Data Format (EDF). Dit is een eenvoudig
en flexibel formaat voor het uitwisselen en opslaan van biologische en fysische signalen met
meerdere kanalen. Een EDF-bestand bestaat uit een header gevolgd door de werkelijke data.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 24
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000−5
0
5
samples
vers
nelli
ng (
g)
(a) Het oorspronkelijke signaal
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000−0.5
0
0.5
1
samples
vers
nelli
ng (
g)
(b) Het oorspronkelijke signaal ingezoomd
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000−0.5
0
0.5
1
samples
vers
nelli
ng (
g)
(c) Na filteren met mediaanfilter met lengte 15
Figuur 3.1: Het ACM-signaal van een aanval voor (a,b) en na (c) filteren met een mediaanfilter. De
blauwe lijn markeert het begin en het einde van de aanval.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 25
De header heeft een variabele lengte en bevat informatie over de patıent en de technische
eigenschappen van de signalen.
3.1.3 De datasets voor de experimenten
Voor de eerste experimenten uit dit hoofdstuk werden twee nieuwe, beperkte, datasets op-
gesteld. De reden hiervoor is dat experimenten die gebruik maken van de volledige dataset
resulteren in lange rekentijden. De bedoeling van de eerste experimenten was dan ook om een
beeld te krijgen van de prestaties van verschillende voorverwerkingstechnieken. Later kunnen
de nuttige experimenten herhaald worden voor de volledige dataset. In eerste instantie wordt
geprobeerd om een patientspecifiek systeem te bouwen. Het ACM-patroon van een aanval kan
namelijk verschillen tussen de patienten onderling. De signalen van aanvallen van dezelfde
patient zijn vaak gelijkaardig [20].
Aangezien van de tweede patient in de dataset van het UZ Gent de meeste tonisch-clonische
aanvallen beschikbaar zijn wordt voor de eerste nieuwe dataset de data van deze patient
gebruikt. Alle aanvallen van deze patient werden opgenomen in de nieuwe dataset. Er werd
gezorgd dat voor en na elke aanval een periode van minstens twee tot vijf maal de lengte
van de aanval beschikbaar was. De lengte van die periodes werd willekeurig gekozen om
uit te sluiten dat het reservoir gebruik zou maken van de informatie dat een aanval steeds
op hetzelfde moment in een episode begint. Naast de 11 episodes die aanvallen bevatten
werden 6 episodes gekozen waarin normale beweging voor kwam. Deze episodes werden zo
veelzijdig mogelijk gekozen en bevatten zowel voorbeelden van trage als snelle bewegingen
met varierende lengte. De totale nieuwe dataset bevatte 2821 seconden data waarvan 230
seconden ictale data (tijdens een epileptische aanval).
Een tweede nieuwe dataset werd opgesteld op basis van de dataset uit Kempenhaeghe. Aan-
gezien deze dataset maar 6 tonisch-clonische aanvallen bevatte voor drie patienten werd deze
dataset niet patientspecifiek opgesteld. De dataset werd op dezelfde manier opgesteld als de
vorige, met als verschil dat er 16 episodes gekozen werden die normale bewegingen bevatten.
De totale dataset bevatte 3710 seconden data waarvan 255 seconden ictaal.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 26
3.1.4 Kruisvalidatie
Om statistisch betrouwbare resultaten te bekomen wordt gebruik gemaakt van kruisvalidatie.
De dataset wordt hierbij opgedeeld in een trainset en een validatieset. De uitgangsgewichten
van het reservoir worden getraind op de trainset en het resulterende reservoir wordt vervolgens
getest op de validatieset. Deze opdeling van de data in een train- en een validatieset wordt
een aantal keer herhaald (men spreekt van het aantal folds) zodat elke datasample exact een
keer voor komt in de validatieset.
De standaard kruisvalidatiefunctie in de RC-toolbox kiest een willekeurige deelverzameling
van alle episodes voor het testen en gebruikt de rest voor het trainen. Een ongelukkige ver-
deling van de episodes over de train- en validatieset zou dan voor onbetrouwbare resultaten
kunnen zorgen. Om dit te vermijden werd een aangepaste kruisvalidatie functie geschreven
om te verzekeren dat de trainset en de testset steeds een voldoende aantal voorbeelden van
aanvallen bevatten. Indien het aantal episodes van beide klassen (aanval en normale bewe-
ging) geen veelvoud is van het aantal folds zal niet elke validatieset eenzelfde aantal episodes
bevatten. De grootte van de validatiesets werd dan zo constant mogelijk gekozen. Tabel
3.1 toont hoe een eenvoudige dataset die bestaat uit 5 episodes kan worden opgedeeld bij
kruisvalidatie met 5 folds.
Fold Trainset Validatieset
1 2,3,4,5 1
2 1,3,4,5 2
3 1,2,4,5 3
4 1,2,3,5 4
5 1,2,3,4 5
Tabel 3.1: Een voorbeeld van kruisvalidatie met 5 folds.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 27
3.2 Signaalfeatures
In de literatuur werd op zoek gegaan naar verschillende features die nuttige informatie uit het
ruwe signaal extraheren [7,12,20,27]. De features worden opgedeeld in tijdsdomein methoden,
tijd-frequentie methoden en niet-lineaire methoden.
3.2.1 Tijdsdomein methoden
De scheefheid (skewness) en de platheid (kurtosis) zijn twee eenvoudige statistische functies
die gebruikt worden voor het detecteren van bewegingen op basis van ACM-signalen [12]. De
scheefheid is een maat voor de asymmetrie van het signaal en wordt gedefinieerd als
γ1 =µ3σ3.
Hierbij is σ de standaardafwijking en µk is het k-de centrale moment
µk = E[(X − µ)k
].
De platheid wordt gedefinieerd als
γ2 =µ4σ4.
Een hoge platheid houdt in dat een groot deel van de variantie van het signaal wordt ver-
oorzaakt door een klein aantal extreme waarden. Een lage platheid betekent dat de variantie
vooral het resultaat is van een groot aantal minder extreme waarden.
Andere statistische features die in [27] gebruikt werden voor aanvalsdetectie op basis van
EEG-signalen zijn de Hjorth parameters :
� De eerste Hjorth parameter is de activiteit en is gelijk aan de variantie σ2s van het signaal
s.
� De tweede parameter is de mobiliteit en wordt gedefinieerd als de vierkantswortel van
de verhouding van de activiteit van de eerste afgeleide van het signaal tot de activiteit
van het originele signaal:
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 28
mobiliteit =σs′
σs
� De derde Hjorth parameter is de complexiteit en is de vierkantswortel van de verhouding
van de mobiliteit van de eerste afgeleide van het signaal tot de mobiliteit van het originele
signaal
complexiteit =σs′′/σs′
σs′/σs
Een feature die gebruikt werd in [20] voor aanvalsdetectie op basis van ACM-signalen is de
jerk. Deze feature is een maat voor de verandering van de positie van de ledematen. De jerk
wordt berekend per sensor en is de vierkantswortel van de som van de kwadraten (RSS) van
de afgeleide van de drie richtingen van een 3D-sensor:
Jy [n] =
√√√√3∑
i=1
(yi [n]− yi [n− 1]
∆t
)2
,∆t = 0, 01s (3.1)
Aangezien de samplingfrequentie 100 Hz bedraagt is ∆t = 0,01 s. Ter vergelijking wordt ook
de afgeleide per richting gebruikt als feature.
3.2.2 Tijd-frequentie methoden
Een ander uitgangspunt om features te berekenen is gebruik maken van de informatie die
vervat zit in het frequentiespectrum. De meest eenvoudige methode om het frequentiespec-
trum van een signaal te berekenen is de Fast Fourier Transform (FFT). De FFT verschaft
echter enkel informatie over het voorkomen van bepaalde frequentiecomponenten maar ver-
telt niet op welke tijdstippen die frequentiecomponenten optreden. De FFT is dan ook niet
interessant voor de analyse van ACM-signalen aangezien de frequentie verandert met de tijd.
Daarom wordt gebruik gemaakt van tijd-frequentie methoden die het signaal zowel in tijd
als in frequentie kunnen analyseren. Twee tijd-frequentie methoden werden onderzocht: de
Short Time Fourier Transform (STFT) en de Continuous Wavelet Transform (CWT).
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 29
De Short Time Fourier Transform
De STFT wordt berekend door een vensterfunctie over het oorspronkelijke signaal te schuiven
en voor elke stap de Fouriertransformatie te berekenen van het resulterende signaal:
STFT {x (t)} = X(τ, ω) =
∫ ∞
−∞x (t)w (t− τ) e−jωtdt. (3.2)
Hier is x(t) het oorspronkelijke signaal en w(t) de vensterfunctie. Een populaire vensterfunctie
is het Hanning venster (zie figuur 3.2).
0 50 100 150 200 2500
0.2
0.4
0.6
0.8
1
Figuur 3.2: Een Hanning venster van 256 samples.
De Continuous Wavelet Transform
Net zoals bij Fourieranalyse gaat men bij wavelet analyse het signaal opsplitsen in eenvoudige
elementen. Bij Fourieranalyse zijn deze elementen geschaalde sinusoıden. Ze zijn oneindig
lang en door hun regelmatige vorm zijn ze goed in het benaderen van signalen met een
constante frequentie. Wavelets daarentegen hebben een beperkte duur, zijn onregelmatig en
zijn vaak asymmetrisch waardoor zij meer geschikt zijn om signalen te beschrijven die veel
discontinuıteiten bevatten zoals menselijke beweging [4]. Er bestaan verschillende soorten
wavelets die worden opgedeeld in families (zie figuur 3.3).
De CWT wordt gedefinieerd als:
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 30
−4 −2 0 2 4−1
0
1Morlet wavelet
(a) Morelet wavelet
−5 0 5−0.5
0
0.5
1Mexican hat wavelet
(b) Mexican Hat wavelet
Figuur 3.3: Twee voorbeelden van populaire wavelets
W (a, b) =1√|a|
∫ ∞
−∞x(t)ψ
(t− ba
)dt. (3.3)
De variabelen a en b stellen respectievelijk de schaal- en de translatieparameter voor, de wa-
veletfunctie ψ (t) (zie figuur 3.3) is de gekozen basiswavelet en x (t) is het signaal waarvan de
CWT wordt berekend. De waveletcoefficienten W(a,b) beschrijven de correlatie tussen het
oorspronkelijke signaal en de basiswavelet voor verschillende translaties (in de tijd) en her-
schalingen. De coefficienten (W(a,b)) kunnen geınterpreteerd worden als de amplituden van
een reeks basiswavelets, herschaald volgens a en verschoven volgens b. Het originele signaal
kan dan gereconstrueerd worden door deze wavelets op te tellen [12]. Als basiswavelet wordt
gekozen voor een db-5 wavelet aangezien deze wavelet de meeste overeenkomsten vertoont
met een myoclonus [20].
3.2.3 Niet-lineaire methoden
Niet-lineaire methoden zijn gebaseerd op de theorie van dynamische systemen [27]. De ge-
schatte entropie is een niet-lineaire methode die in [7] wordt gebruikt als een van meerdere
features voor de detectie van epileptische aanvallen op basis van ACM-signalen. In de in-
formatietheorie is de entropie een maat voor de informatiedichtheid van de data. Een lage
entropie wil zeggen dat er minder onzekerheid is rondom een willekeurige sample uit de data.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 31
Een accelerometriesignaal waarin absoluut geen beweging voorkomt zal een heel lage entropie
hebben. Een signaal dat veel bewegingen bevat zal een hoge entropie bezitten. Het algoritme
dat gebruikt wordt om de geschatte entropie te berekenen werd opgesteld door Pincus et
al [26] en gaat als volgt:
Het ACM-signaal van een segment wordt voorgesteld door de signaalwaarden s(j), j ∈
1, . . . , N . Op basis van s(j) wordt een reeks overlappende m-dimensionale vectoren xi,
1 ≤ i ≤ N −m+ 1 opgesteld:
xi = (s(i), . . . , s(i+m− 1)).
Voor elke index i wordt vervolgens de correlatiesom Cmi (r) berekend:
Cmi (r) =
aantal xj waarvoor d(xi,xj) ≤ rN −m+ 1
, i 6= j.
De waarden m en r zijn parameters en d(xi,xj) is de afstand tussen tussen de vectoren xi
en xj . Vervolgens wordt Φm(r) gedefinieerd als
Φm(r) =1
N −m+ 1
N−m+1∑
i=1
lnCmi (r).
en de geschatte entropie is dan
ApEn = Φm(r)− Φm+1(r)
3.2.4 De invloed van de features op het ACM-signaal
Om een beeld te krijgen van het nut van de features werd elke feature berekend en geplot voor
een episode die een tonisch-clonische aanval bevat en een episode die een normale beweging
bevat. De oorspronkelijke ACM-signalen van beide voorbeelden werden ook opgenomen in de
figuren. De features werden berekend over segmenten van 100 samples.
De scheefheid en de platheid lijken op het eerste zicht geen verschil te tonen tussen een aanval,
een normale beweging en zelfs rust (figuren 3.4 en 3.5). De activiteit blijkt een veel betere
feature te zijn en toont hogere waarden tijdens een aanval dan tijdens een normale beweging
(zie figuur 3.6). De mobiliteit en de complexiteit tijdens een aanval vertonen een verschillend
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 32
patroon dan tijdens een normale beweging (zie figuren 3.7 en 3.8). Het verschil is echter
niet zo groot. De afgeleide blijkt ook een goede feature te zijn (zie figuur 3.9) en vertoont
veel hogere waarden tijdens een aanval. Uit een plot van de STFT van de aanval volgt dat
het ACM-signaal tijdens een aanval meer hoogfrequente componenten bevat dan de normale
beweging (zie figuur 3.10). Figuur 3.11 toont plots van de CWT met een Db5 wavelet in beide
gevallen. Uit de figuur is af te leiden dat de laagfrequente componenten (grote a) groter zijn
tijdens een normale beweging dan tijdens een aanval.
0 1000 2000 3000 4000 5000 6000
−505
10
samples
sign
aal
0 10 20 30 40 50 60−2
0
2
samples
skew
ness
0 1000 2000 3000 4000 5000 6000−2
0
2
samples
sign
aal
0 10 20 30 40 50 60−2
0
2
samples
skew
ness
Figuur 3.4: De scheefheid van het ACM-signaal van een aanval en normale beweging.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 33
0 1000 2000 3000 4000 5000 6000
−505
10
samples
sign
aal
0 10 20 30 40 50 600
5
samples
kurt
osis
0 1000 2000 3000 4000 5000 6000−2
0
2
samples
sign
aal
0 10 20 30 40 50 600
5
10
samples
kurt
osis
Figuur 3.5: De platheid van het ACM-signaal van een aanval en normale beweging.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 34
0 1000 2000 3000 4000 5000 6000
−505
10
samples
sign
aal
0 10 20 30 40 50 600
5
10
samples
activ
iteit
0 1000 2000 3000 4000 5000 6000−2
0
2
samples
sign
aal
0 10 20 30 40 50 600
0.1
0.2
samples
activ
iteit
Figuur 3.6: De activiteit van het ACM-signaal van een aanval en normale beweging.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 35
0 1000 2000 3000 4000 5000 6000
−505
10
samples
sign
aal
0 10 20 30 40 50 600
5
10
samples
mob
ilite
it
0 1000 2000 3000 4000 5000 6000−2
0
2
samples
sign
aal
0 10 20 30 40 50 600
5
10
samples
mob
ilite
it
Figuur 3.7: De mobiliteit van het ACM-signaal van een aanval en normale beweging.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 36
0 1000 2000 3000 4000 5000 6000
−505
10
samples
sign
aal
0 10 20 30 40 50 601
2
3
samples
com
plex
iteit
0 1000 2000 3000 4000 5000 6000−2
0
2
samples
sign
aal
0 10 20 30 40 50 601
2
3
samples
com
plex
iteit
Figuur 3.8: De complexiteit van het ACM-signaal van een aanval en normale beweging.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 37
0 1000 2000 3000 4000 5000 6000
−505
10
samples
sign
aal
0 1000 2000 3000 4000 5000 6000
−5
0
5
samples
1e a
fgel
eide
0 1000 2000 3000 4000 5000 6000−2
0
2
samples
sign
aal
0 1000 2000 3000 4000 5000 6000−1
−0.5
0
0.5
samples
1e a
fgel
eide
Figuur 3.9: De afgeleide van het ACM-signaal van een aanval en normale beweging.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 38
0 1000 2000 3000 4000 5000 6000
−505
10
samples
sign
aal
5 10 15 20 25 30 35 40 45 50 550
10
20
30
40
50
tijd (seconden)
freq
uent
ie (
Hz)
0 1000 2000 3000 4000 5000 6000−2
0
2
samples
sign
aal
5 10 15 20 25 30 35 40 45 50 550
10
20
30
40
50
tijd (seconden)
freq
uent
ie (
Hz)
Figuur 3.10: De STFT van het ACM-signaal van een aanval en normale beweging.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 39
0 1000 2000 3000 4000 5000 6000
−505
10
samples
sign
aal
tijd b (aantal samples)
scha
alfa
ctor
en a
1000 2000 3000 4000 5000 6000
32
64
96
128
160
192
224
256
0 1000 2000 3000 4000 5000 6000−2
0
2
samples
sign
aal
tijd b (aantal samples)
scha
alfa
ctor
en a
1000 2000 3000 4000 5000 6000
32
64
96
128
160
192
224
256
Figuur 3.11: De CWT van het ACM-signaal van een aanval en normale beweging. Als basiswavelet
werd gebruik gemaakt van een db5-wavelet
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 40
3.3 Dimensie-reductie technieken
De data waarmee gewerkt wordt in deze scriptie is 15-dimensionaal indien het maximum van
5 sensoren wordt gebruikt voor de metingen. Elke sensor meet namelijk de versnelling in drie
richtingen. Als we bovendien een combinatie van features willen aanleggen aan het reservoir,
dan zal de dimensie van het ingangssignaal zeer groot zijn. Met behulp van dimensie-reductie
technieken kan de dimensie sterk worden gereduceerd met een minimaal verlies aan informatie.
In deze thesis worden twee technieken gebruikt. De eerste is eenvoudigweg het nemen van
de vierkantswortel van de kwadraten van de drie signaalwaarden van een sensor (RSS). De
tweede techniek, Principal Component Analysis (PCA), is meer geavanceerd.
3.3.1 Principal Component Analysis
Principal Component Analysis (PCA) is een voorverwerkingsmethode die vaak gebruikt wordt
bij het analyseren van data op verschillende toepassingsgebieden [15]. Het doel van PCA is
het transformeren van een aantal variabelen die al dan niet gecorreleerd zijn naar een kleiner
aantal ongecorreleerde variabelen, de hoofdcomponenten. Om dit te verwezenlijken wordt een
nieuwe basis gezocht die een lineaire combinatie is van de originele basis. Deze basis wordt zo
gekozen zodat de projectie van de data op de eerste coordinaat (de eerste hoofdcomponent)
een maximale variantie vertoont. De tweede coordinaat vertoont de tweede grootste variantie,
enz. Dit heeft als gevolg dat het grootste deel van de informatie vervat zit in de eerste
hoofdcomponenten. Door een aantal van de laatste hoofdcomponenten te laten vallen kan op
deze manier de dimensie van het ingangssignaal worden gereduceerd met een minimaal verlies
aan informatie.
Het algoritme van PCA gaat als volgt:
1. Organiseer de data in een MxN matrix X met M het aantal observaties en N het
aantal meetwaarden per observatie. Als er bijvoorbeeld data wordt gemeten met 5 3D-
accelerometers over een periode van 60 seconden met een samplingfrequentie van 100
Hz is m = 15 en n = 6000.
2. Stel vervolgens een Mx1 vector u op die de gemiddelden bevat voor elke observatie
m ∈ {1, ...,M}:
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 41
u(m) =1
N
N∑
n=1
X(m,n)
3. Bereken voor elke observatie m de afwijking tegenover het gemiddelde door de vector u
af te trekken van elke kolom uit X.
B = X− uh
met h een 1xN vector die enkel enen bevat.
4. Bereken de covariantiematrix C van de matrix B:
C =1
nBBT
5. Bereken de eigenvectoren en de eigenwaarden van C. Hiervoor wordt C gediagonaliseerd:
V−1CV = D.
Hierbij is D is een diagonaalmatrix die de eigenwaarden van C bevat en V bevat de
eigenvectoren van C.
6. Rangschik de eigenvectoren en eigenwaarden volgens afnemende eigenwaarden.
7. Projecteer het oorspronkelijke signaal op de eigenvectoren (de nieuwe basis) om de
hoofdcomponenten te bekomen.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 42
3.4 Testen van features
In het vorige deel werden verschillende features voorgesteld die het reservoir in staat zouden
moeten stellen om een aanval beter te kunnen onderscheiden van andere bewegingspatro-
nen. De prestaties van die features worden nu nagegaan in een reeks experimenten. Elke
feature wordt berekend op basis van het ruwe signaal. Een aantal features worden per defi-
nitie berekend over meerdere samples. Het signaal wordt dan opgedeeld in niet-overlappende
segmenten en per segment wordt de feature berekend. Verschillende segmentlengte’s werden
gebruikt om de invloed hiervan na te gaan. Het nieuwe signaal wordt vervolgens aangelegd
aan het reservoir, samen met de gewenste uitvoer. Het reservoir wordt dan getraind met
kruisvalidatie en voor elke fold wordt de train- en de testfout berekend. Het gemiddelde en
de standaardafwijking op de fouten wordt ten slotte berekend over alle folds.
De features werden getest voor beide datasets. Voor de eerste dataset (11 aanvallen) werd
gebruik gemaakt van 5 folds voor kruisvalidatie zodat telkens 2 aanvallen gebruikt werden
voor het testen en voor een fold, drie aanvallen. Voor de tweede dataset (6 aanvallen) werden
6 folds gebruikt en werd per fold op 1 aanval getest. Elk experiment werd uitgevoerd voor 10
verschillende reservoirs en de reservoirparameters werden geoptimaliseerd per feature. Voor
de features die een slecht resultaat gaven bleek deze optimalisatie niets uit te maken en voor de
andere features had het aanpassen van de parameters een gering effect. Later in dit hoofdstuk
wordt de invloed van de reservoirparameters in detail onderzocht.
De resultaten van de experimenten worden weergegeven in tabellen 3.2 en 3.3. Alle features
werden getest voor de tweede dataset. Voor de eerste dataset werden enkel de features getest
die werkten voor de tweede dataset aangezien net voor de deadline een fout in de eerste
dataset werd ontdekt en er niet voldoende tijd meer beschikbaar was om al de experimenten
te herhalen.
De jerk geeft het beste resultaat voor beide datasets. Opvallend is het verschil tussen de jerk
en de afgeleide aangezien de jerk niets anders is dan de RSS van de afgeleiden per richting.
De RSS lijkt dus op het eerste zicht een goede methode om de informatie van de signalen per
richting samen te nemen. Later wordt nagegaan of met PCA een gelijkaardig resultaat kan
worden bekomen. De activiteit haalt een BER van 0,348 (0,111) voor de eerste dataset en
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 43
0,411 (0,142) voor de tweede dataset en kleinere vensters zorgen voor betere resultaten. Het
is interessant om na te gaan of de RSS ook voor deze feature voor een beter resultaat kan
zorgen.
De mobiliteit, complexiteit, scheefheid en platheid zetten allen een slecht resultaat neer. Een
BER van 0,5 betekent namelijk dat het systeem niet beter presteert dan een systeem dat een
willekeurige uitgang genereert. Voor kleinere segmenten werd er bij het berekenen van deze
features vaak gedeeld door 0. Daarom zijn er geen resultaten beschikbaar voor segmenten
kleiner dan 50 samples. De CWT gaf ten slotte ook geen goed resultaat.
Figuur 3.12 toont een reservoiruitgang samen met de gewenste uitgang bij een correcte de-
tectie. Merk op dat de reservoiruitgang niet gedurende de volledige aanval hoog komt en
dat er rond sample 1500 een korte valse detectie plaats vindt. Door de drempelwaarde te
optimaliseren kunnen deze valse detecties gedeeltelijk worden weggewerkt (zie verder).
0 0.5 1 1.5 2 2.5
x 104
−2
−1
0
1
2
3
samples
uitg
ang
gewenste uitgangreservoiruitgangdrempelwaarde
Figuur 3.12: De uitgang van het reservoir bij de detectie van een aanval.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 44
Feature Vensterlengte Trainfout (BER (std)) Testfout (BER (std))
geen n.v.t. 0,105 (0,040) 0,526 (0,110)
jerk n.v.t. 0,194 (0,026) 0,270 (0,149)
afgeleide n.v.t. 0,262 (0,039) 0,347 (0,114)
activiteit
200 0,111 (0,021) 0,526 (0,141)
100 0,112 (0,024) 0,499 (0,159)
50 0,101 (0,018) 0,451 (0,142)
25 0,079 (0,015) 0,427 (0,130)
10 0,091 (0,021) 0,411 (0,142)
mobiliteit
200 0,169 (0,046) 0,587 (0,156)
100 0,153 (0,042) 0,561 (0,167)
50 0,114 (0,026) 0,538 (0,129)
complexiteit
200 0,229 (0,066) 0,468 (0,122)
100 0,191 (0,047) 0,568 (0,085)
50 0,170 (0,042) 0,510 (0,042)
scheefheid
200 0,172 (0,056) 0,573 (0,095)
100 0,127 (0,048) 0,598 (0,090)
50 0,114 (0,043) 0,527 (0,130)
platheid
200 0,086 (0,034) 0,453 (0,246)
100 0,094 (0,032) 0,467 (0,194)
50 0,063 (0,018) 0,479 (0,173)
CWT met Db-5 n.v.t. 0,293 (0,128) 0,461 (0,174)
Tabel 3.2: De resultaten voor de tweede dataset. Voor elke feature wordt de gemiddelde fout op het
trainen en het testen weergegeven. De standaardafwijking op de fout staat telkens tussen
haakjes.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 45
Feature Vensterlengte Trainfout (BER (std)) Testfout (BER (std))
geen n.v.t. 0,273 (0,015) 0,493 (0,038)
jerk n.v.t. 0,320 (0,020) 0,339 (0,061)
afgeleide n.v.t. 0,427 (0,011) 0,432 (0,053)
activiteit
200 0,500 (0) 0,504 (0,015)
100 0,456 (0,060) 0,402 (0,028)
50 0,313 (0,036) 0,407 (0,095)
25 0,259 (0,030) 0,350 (0,114)
10 0,260 (0,027) 0,348 (0,111)
Tabel 3.3: De resultaten voor de eerste dataset. Voor elke feature wordt de gemiddelde fout op het
trainen en het testen weergegeven. De standaardafwijking op de fout staat telkens tussen
haakjes.
3.4.1 Dimensiereductie
In dit experiment wordt na gegaan of het nemen van de RSS voor elke sensor voor betere
resultaten zorgt wanneer de activiteit gebruikt wordt als feature. De RSS combineert de drie
signalen per 3D-sensor tot een signaal door de vierkantswortel van de som van de kwadraten
van die signalen te nemen. Er wordt ook onderzocht of PCA de resultaten kan verbeteren
door verschillende hoofdcomponenten over te houden en de overige componenten te laten
vallen. PCA wordt toegepast voor zowel de activiteit als de jerk voor de tweede dataset. Elk
experiment wordt opnieuw 10 keer uitgevoerd.
De resultaten van deze experimenten worden weergegeven in tabel 3.4. Voor de afgeleide
zorgde PCA voor betere resultaten dan wanneer geen dimensiereductie wordt toegepast. PCA
presteerde het beste wanneer enkel de eerste hoofdcomponent werd behouden. Dit gaf het-
zelfde resultaat dan wanneer de RSS werd gebruikt. Wanneer de activiteit werd gebruikt als
feature bleken zowel PCA als het nemen van de RSS geen verschil te maken.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 46
Voorverwerking Dimensie vd ingang Trainfout (BER (std)) Testfout (BER (std))
afgeleide 15 0,262 (0,039) 0,347 (0,114)
afgeleide + RSS (jerk) 5 0,194 (0,026) 0,270 (0,149)
afgeleide + PCA
1 0,244 (0,046) 0,272 (0,157)
2 0,249 (0,051) 0,291 (0,144)
3 0,260 (0,046) 0,304 (0,146)
5 0,259 (0,044) 0,346 (0,132)
10 0,254 (0,040) 0,344 (0,110)
activiteit 15 0,091 (0,021) 0,411 (0,142)
activiteit + RSS 5 0,116 (0,025) 0,423 (0,155)
activiteit + PCA
1 0,186 (0,046) 0,421 (0,139)
2 0,217 (0,064) 0,612 (0,149)
3 0,198 (0,050) 0,579 (0,166)
5 0,161 (0,040) 0,569 (0,207)
10 0,170 (0,034) 0,526 (0,224)
Tabel 3.4: Resultaten van dimensiereductie voor de tweede dataset.
3.4.2 Combinatie van de afgeleide en de activiteit
Aangezien de afgeleide en de activiteit de enige features zijn die werken, wordt na gegaan of
deze twee features gecombineerd kunnen worden. Merk op dat de activiteit wordt berekend
voor niet-overlappende segmenten van 10 samples en de afgeleide per sample. Een manier
om deze features te combineren is om de afgeleide uit te middelen over dezelfde segmenten.
Het uitmiddelen resulteerde echter in minder goede resultaten (zie tabel 3.5) en daarom werd
deze methode niet gebruikt om de features te combineren. Een andere werkwijze is de waarde
van de activiteit uitsmeren over het volledige segment. De combinatie van beide features op
deze manier zorgde echter niet voor betere resultaten.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 47
Voorverwerking Dimensie van de ingang Trainfout Testfout
afgeleide + PCA 1 0,244 (0,046) 0,272 (0,157)
afgeleide + PCA + uitmiddeling 1 0,246 (0,059) 0,369 (0,146)
afgeleide 15 0,262 (0,039) 0,347 (0,114)
activiteit 15 0,091 (0,021) 0,411 (0,142)
afgeleide + activiteit 30 0,227 (0,027) 0,433 (0,086)
afgeleide + PCA 1 0,244 (0,046) 0,272 (0,157)
activiteit + PCA 1 0,186 (0,046) 0,421 (0,139)
afgeleide + activiteit + PCA 1 0,413 (0,022) 0,489 (0,058)
Tabel 3.5: Resultaten van de combinatie van beide features voor de tweede dataset.
3.5 Optimalisatie van de treshold
Bij het evalueren van een systeem wordt per sample de gewenste uitgang vergeleken met de
voorspelde uitgang. De gewenste uitgang kan twee waarden aannemen:
� +1 indien de sample tot een aanval behoort.
� -1 als de sample niet tot een aanval behoort.
De voorspelde uitgang is afhankelijk van de reservoiruitgang en een drempelwaarde. Als de
uitgang boven de drempelwaarde ligt wordt voorspeld dat de sample tot een aanval behoort
en omgekeerd. Tot nu toe werd deze drempelwaarde gelijk gesteld aan nul. De bedoeling van
dit experiment is om de waarde van de drempelwaarde te varieren en de invloed ervan na
te gaan. Als voorverwerkingsmethode wordt de afgeleide gebruikt in combinatie met PCA
waarbij 1 hoofdcomponent wordt behouden aangezien dit de beste resultaten gaf. Voor elke
drempelwaarde werd gesimuleerd voor 10 reservoirs. Figuren 3.13 en 3.14 tonen aan hoe de
treshold de aanvalsdetectie kan beınvloeden. Een lage drempelwaarde kan zowel zorgen voor
meer correcte detecties als meer valse detecties. Een hoge drempelwaarde betekent minder
correcte detecties, maar ook minder valse detecties.
De resultaten van dit experiment worden weergegeven in figuur 3.15. Lagere drempelwaarden
zorgen voor een iets betere testfout en een veel betere trainfout. De kleinste testfout (BER
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 48
0,226 (0,145)) werd gevonden voor een drempelwaarde van -0,6.
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
x 104
−1
−0.5
0
0.5
1
samples
uitg
ang
reservoiruitganggewenste uitgangdrempelwaarde
Figuur 3.13: Een lage drempelwaarde zorgt ervoor dat deze aanval voor het grootste deel wordt
gedetecteerd.
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000−1.5
−1
−0.5
0
0.5
1
1.5
samples
uitg
ang
reservoiruitganggewenste uitgangdrempelwaarde
Figuur 3.14: Door de drempelwaarde voldoende te hoog te zetten wordt de beweging op het einde
van de episode niet als een aanval beschouwd.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 49
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 10
0.1
0.2
0.3
0.4
0.5
drempelwaarde
BE
R
trainfouttestfout
Figuur 3.15: De resultaten van de optimalisatie van de drempelwaarde.
3.6 Invloed van de reservoirparameters
Voor de eerste experimenten in dit hoofdstuk werden per feature de reservoirparameters
geoptimaliseerd. Voor de features die een testfout generereerden die rond 0,5 lag, bleek dit
niets uit te maken en bleef het resultaat slecht. De reservoirparameters hadden wel een
invloed voor de afgeleide en de variantie. In dit deel worden de resultaten getoond voor de
optimalisatie van de reservoirparameters wanneer de afgeleide met PCA (1 hoofdcomponent)
wordt gebruikt als voorverwerkingsmethode op de tweede dataset. Hierdoor krijgen we een
beeld van de invloed van de reservoirparameters.
Het optimaliseren van de reservoirparameters wordt manueel gedaan door middel van parame-
ter sweeps. Voor elke parameter wordt een beginwaarde, een eindwaarde en een stapgrootte
ingesteld. Het experiment wordt voor tien verschillende reservoirs uitgevoerd per parameter-
set. De parameter die voor de kleinste testfout zorgt is de optimale.
3.6.1 De spectrale radius en de invoerschaling
De eerste parameters die worden geoptimaliseerd zijn de spectrale radius en de invoerschaling.
Deze parameters worden samen geoptimaliseerd omdat ze elkaar beınvloeden. Voor de overige
reservoirparameters worden de standaardwaarden gebruikt, met uitzondering van de leak rate
en de bias die respectievelijk op 0,01 en 1 worden ingesteld. Er is namelijk een vermoeden
dat het invoeren van beide parameters de prestaties drastisch zal verbeteren [5]. Aangezien
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 50
er een groot aantal combinaties van beide paramaters moet worden getest, wordt slechts een
deel van de resultaten weergegeven. Figuren 3.16 en 3.17 tonen respectievelijk de BER voor
de train- en de testfout in functie van de spectrale radius voor de optimale invoerschaling en
de BER in functie van de invoerschaling voor de optimale spectrale radius.
Beide parameters blijken geen statistisch significante invloed te hebben op de prestaties van
het systeem. Er werd verder gewerkt met een spectrale radius van 1,1 en een invoerschaling
van 0,9. De gemiddelde testfout voor deze parametercombinatie is 0,267 met een standaard-
afwijking van 0,169.
0.7 0.8 0.9 1 1.1 1.2 1.3 1.40
0.1
0.2
0.3
0.4
0.5
spectrale radius
BE
R
trainfouttestfout
Figuur 3.16: Train- en testfout ifv de spectrale radius voor de optimale invoerschaling
0.7 0.8 0.9 1 1.1 1.2 1.3 1.40
0.1
0.2
0.3
0.4
0.5
invoerschaling
BE
R
trainfouttestfout
Figuur 3.17: Train- en testfout ifv de invoerschaling voor de optimale spectrale radius
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 51
3.6.2 De leakrate
De ’optimale’ waarden voor de spectrale radius en de invoerschaling worden nu gebruikt om
een derde parameter te optimaliseren: de leak rate. Figuur 3.18 toont een uiteenzetting van
de resultaten. Het verschil tussen de testfout wanneer geen leak rate wordt gebruikt (leak
rate = 100) en de testfout voor een optimale leak rate is aanzienlijk en bijgevolg oefent deze
parameter een grote invloed uit op de prestaties van het systeem. Een leak rate die lager
ligt dan 0,1 zorgt voor de beste resultaten. Het optimum bedraagt 0,01 en resulteert in een
testfout van 0,273 (0,164).
10−3
10−2
10−1
100
0
0.1
0.2
0.3
0.4
0.5
leakrate
BE
R
trainfouttestfout
Figuur 3.18: De train- en testfout ifv de leak rate
3.6.3 De schaling van de bias
Een vierde parameter die wordt geoptimaliseerd is de schalingsfactor van het biasneuron naar
het reservoir. Figuur 3.19 toont de resultaten van deze optimalisatie. De bias blijkt een
belangrijke parameter te zijn. Wanneer geen bias wordt gebruikt (schaling 0), resulteert dit
in een slecht resultaat. Als de schaling van de bias groter is dan 0,4 zien we geen verdere
verbetering van de resultaten. Er wordt verder gewerkt met een bias van 0,8 waarbij de
testfout 0,265 (0,164) bedraagt.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 52
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6
0.1
0.2
0.3
0.4
0.5
schaling van de bias
BE
R
trainfouttestfout
Figuur 3.19: De train- en testfout ifv de schaling van het biasneuron naar het reservoir
3.6.4 De connectiefracties
De volgende twee parameters die worden geoptimaliseerd zijn de connectiefractie van de in-
gang naar het reservoir en de connectiefractie van het reservoir naar zichzelf. Figuren 3.20
en 3.21 tonen de resultaten. Deze parameters oefenen geen invloed uit op de resultaten. Er
wordt verder gewerkt met de waarden 1 en 0,9.
0 0.2 0.4 0.6 0.8 10.1
0.2
0.3
0.4
0.5
connectiefractie van ingang naar reservoir
BE
R
trainfouttestfout
Figuur 3.20: De train- en testfout ifv de connectiefractie van de ingang naar het reservoir
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 53
0 0.2 0.4 0.6 0.8 10.1
0.2
0.3
0.4
0.5
connectiefractie van reservoir naar zichzelf
BE
R
trainfouttestfout
Figuur 3.21: De train- en testfout ifv de connectiefractie van het reservoir naar zichzelf
3.6.5 Het aantal neuronen
Een laatste belangrijke reservoirparameter is het aantal neuronen. Voor een complexe clas-
sificatietaak zijn meer neuronen nodig dan voor een eenvoudige taak. Vijftig neuronen bleek
genoeg te zijn voor dit systeem. Het aantal neuronen verder verhogen zorgde niet voor een
betere testfout. De resultaten worden uitgezet in figuur 3.22.
0 50 100 150 200 2500.1
0.2
0.3
0.4
0.5
aantal neuronen
BE
R
trainfouttestfout
Figuur 3.22: De train- en testfout ifv het aantal neuronen
3.6.6 De optimale parameters
De optimale parameters worden getoond in tabel 3.6.
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 54
Parameter Waarde
Aantal neuronen 50
Schalingsfactor ingang naar reservoir 0,9
Spectrale radius 1,1
Leak rate 0,01
Schalingsfactor bias naar reservoir 0,8
Connectiefractie ingang naar reservoir 1
Connectiefractie reservoir naar zichzelf 0,9
Tabel 3.6: De optimale reservoirparameters
3.7 Testen op de volledige dataset
De experimenten die tot nu toe werden uitgevoerd zijn gebaseerd op een beperkte dataset
die beschreven werd in het eerste deel van dit hoofdstuk. De informatie die voort kwam uit
deze experimenten wordt nu gebruikt om het detectiesysteem te testen op de volledige tweede
dataset. Er werd getraind op 5 van de 6 aanvallen en 10% van de interictale data. De overige
data werd gebruikt voor het testen. Kruisvalidatie werd niet toegepast.
De resultaten van dit experiment waren minder goed dan werd verwacht (zie tabel 3.7). De
volledige reservoiruitgang en de gewenste uitgang werden visueel geınspecteerd om de hogere
BER te verklaren. De aanval in de testset werd gedecteerd maar bij een groot aantal normale
bewegingen vond een valse detectie plaats.
Voorverwerking Dataset Trainfout Testfout
afgeleide + PCA (1 hoofdcomponent) volledig 0,256 0,315
afgeleide + PCA (1 hoofdcomponent) beperkt 0,117 (0,014) 0,226 (0,145)
Tabel 3.7: Resultaten van het testen van het systeem op de volledige dataset zonder kruisvalidatie
Hoofdstuk 3. Tonisch-clonische aanvalsdetectie 55
3.8 Detectie met een lineaire classifier
De resultaten van het detectiesysteem dat in dit hoofdstuk werd opgesteld zijn niet zo goed.
De beste testfout die behaald werd bedraagt 0,226 met een standaardafwijking van 0,145.
Dit betekent dat het systeem ongeveer 1 op 4 samples fout classificeert. Om na te gaan of
deze mindere resultaten niet te wijten zijn aan de gebruikte classificatiemethode (Reservoir
Computing), werden de features opnieuw getest maar dan met lineaire classificatie. Aangezien
de toolbox niet om kan met een leeg reservoir, werd een reservoir met 1 neuron aangemaakt,
waarvan de invoerschaling op nul werd gezet. De invoer werd dan rechtstreeks verbonden met
de uitvoer. Om deze lineaire classificatie toch enige vorm van geheugen te geven werden voor
elke sample van het ingangssignaal ook de vorige 19 samples aangelegd.
Lineaire classificatie gaf voor geen enkele feature een resultaat. De reservoiruitgang bleef
steeds laag, wat resulteerde in een BER van 0,5 voor zowel de train- als de testfout. Een meer
complexe classificatietechniek lijkt dus noodzakelijk te zijn.
Hoofdstuk 4
Tonische aanvalsdetectie
In dit hoofdstuk wordt een poging ondernomen om een detectiesysteem te ontwerpen dat
tonische aanvallen kan onderscheiden van normale bewegingspatronen. In een eerste deel
worden een aantal features besproken die specifiek zijn voor tonische aanvallen. Deze featu-
res, samen met die uit hoofdstuk 3, worden vervolgens getest met Reservoir Computing als
classificatiemethode.
4.1 De dataset
In dit hoofdstuk wordt gebruik gemaakt van de tweede dataset die afkomstig is van het
Expertisecentrum Kempenhaeghe voor epilepsie en slaapgeneeskunde en reeds besproken werd
in hoofdstuk 3. De andere dataset bevat namelijk enkel tonisch-clonische aanvallen. Er is
data beschikbaar van vier patienten die samen zeven tonische aanvallen vertonen.
Voor de experimenten uit dit hoofdstuk wordt opnieuw gewerkt met een beperkte dataset die
op dezelfde manier wordt opgesteld als in het vorige hoofdstuk. De tonisch-clonische aanvallen
worden niet opgenomen in de dataset. De nieuwe dataset bestaat uit 26 episodes, waarvan er
7 een aanval vertonen. De overige 19 episodes stellen normale bewegingspatronen voor. De
totale dataset bevat 3590 seconden data waarvan 292 seconden ictaal.
56
Hoofdstuk 4. Tonische aanvalsdetectie 57
4.2 Specifieke features voor tonische aanvallen
Voor het onderzoek in dit hoofdstuk worden nog een aantal features besproken die gebaseerd
zijn op de typische vorm van het ACM-patroon van tonische aanvallen. Deze features werden
overgenomen uit [20].
Tonische aanvallen kan men door hun typische vorm onderscheiden van andere bewegingen
(zie figuur 4.1). Tijdens een tonische aanval verandert de positie van de ledematen van de
patient heel langzaam. Dit uit zich op het ACM-signaal als een blokgolf (zie figuur 4.1a).
Deze blokgolf kan men soms ook zien bij normale bewegingen, maar de helling is dan veel
steiler (zie figuur 4.2). Naast de verandering van positie vertonen de ledematen ook een kleine
tremor. De amplitude van die tremor is kleiner dan bij het clonische gedeelte van een tonisch-
clonische aanval en bij normale beweging (zie figuur 4.1). Verder zijn meestal meerdere delen
van het lichaam betrokken bij een aanval. Het patroon van een tonische aanval is dan op
hetzelfde moment zichtbaar op meerdere sensoren. Op basis van deze eigenschappen kan men
een aantal features afleiden die het mogelijk zouden moeten maken om tonische aanvallen
beter te kunnen detecteren.
In [20] werd eerst een model opgesteld dat de versnelling van een arm beschrijft tijdens een
tonische aanval. De totale versnelling is de som van twee componenten: de eerste component
is het resultaat van de beweging die de arm maakt en de tweede component is een functie van
de zwaartekracht. De invloed van de zwaartekracht op de versnelling is te verklaren door het
feit dat de orientatie van de sensor verandert tijdens een beweging. De bijdrage van de zwaar-
tekracht component aan de totale versnelling is afhankelijk van de hoeken dat het assenstelsel
van de sensor maakt met de verticale. Als de sensor zo georienteerd is dat een van de drie
richtingen loodrecht op de grond staat, zal de waarde van de zwaartekracht component in die
richting maximaal zijn. In de andere twee richtingen zal de zwaartekracht component nul zijn.
Uit het model volgt dat de zwaartekracht component veel groter is dan de bewegingscompo-
nent. Het typische blokpatroon van een tonische aanval is dus vooral het resultaat van een
traag varierende zwaartekracht component. Deze component kan gemakkelijk geschat worden
door elk afzonderlijk signaal door een simpel laagdoorlaatfilter te sturen [9, 33]. Elk signaal
xi, i ∈ {1, 2, 3}, van een sensor wordt hiervoor gefilterd met een eerste orde laagdoorlaatfilter
met afsnijfrequentie 0,5 Hz. Het resultaat is de trage signaalcomponent yi, die verder wordt
Hoofdstuk 4. Tonische aanvalsdetectie 58
0 10 20 30 40 50 60 70 80 90−0.5
0
0.5
1
tijd (s)
vers
ne
llin
g (
g)
(a) Een tonische aanval
0 5 10 15 20 25 30 35 40−4
−2
0
2
4
tijd (s)
vers
ne
llin
g (
g)
(b) Een tonisch-clonische aanval
0 5 10 15 20 25 30 35 40−1
−0.5
0
0.5
1
1.5
2
tijd (s)
vers
ne
llin
g (
g)
(c) Normale (snelle) beweging
Figuur 4.1: Vergelijking tussen het ACM-patroon van een tonische aanval (a) en andere bewegings-
patronen (b,c)
Hoofdstuk 4. Tonische aanvalsdetectie 59
gebruikt om features te berekenen (zie figuur 4.2).
0 1000 2000 3000 4000 5000 6000
−100
−50
0
samples
sign
aal
0 1000 2000 3000 4000 5000 6000
−100
−50
0
samples
sign
aal
0 1000 2000 3000 4000 5000 6000
−1000
100200
samples
sign
aal
0 1000 2000 3000 4000 5000 6000−100
0
100
samples
sign
aal
Figuur 4.2: Een van de 15 ACM-signalen en zijn trage signaalcomponent van een tonische aanval
(boven) en een normale beweging (onder). De aanval en de beweging zijn aangeduid in
het blauw.
4.2.1 De jerk
Een eerste feature voor het blokpatroon is de jerk JY die reeds werd besproken in hoofdstuk 3.
Het blokpatroon is het resultaat van een trage positieverandering van een van de ledematen.
Hoofdstuk 4. Tonische aanvalsdetectie 60
De positie van een ledemaat wordt voorgesteld door de trage signaalcomponent yi en de
verandering van de positie kan bijgevolg worden voorgesteld door de eerste afgeleide. Figuur
4.3 toont een voorbeeld van deze feature berekend voor een tonische aanval en voor een
normale beweging. Omdat de positieverandering bij een tonische aanval trager verloopt dan
tijdens een normale beweging is de jerk lager voor tonische aanvallen.
0 1000 2000 3000 4000 5000 6000
−100
−50
0
samples
sign
aal
0 1000 2000 3000 4000 5000 60000
50
samples
jerk
0 1000 2000 3000 4000 5000 6000−100
0
100
samples
sign
aal
0 1000 2000 3000 4000 5000 60000
100
200
samples
jerk
Figuur 4.3: De jerk en een van de originele trage signaalcomponenten voor een tonische aanval
(boven) en een normale beweging (onder).
Hoofdstuk 4. Tonische aanvalsdetectie 61
4.2.2 De standaardafwijking van de trage signaalcomponent
Een tweede feature is de standaardafwijking σY . Ook deze feature is een maat voor de
positieverandering van het ledemaat waarop de sensor is bevestigd. Voor het berekenen van
σY worden de drie signalen per sensor samen genomen door de RSS te berekenen zoals het
geval was bij de jerk.
σY2 =
1
N − 1
N∑
n=1
(Y [n]− Y
)2(4.1)
Y [n] is de RSS van de signaalcomponenten van de sensor:
Y [n] =
√√√√3∑
i=1
yi2 [n]
en Y is het gemiddelde van Y [n] berekend over een segment van N samples. Figuur 4.4 toont
een voorbeeld van deze feature berekend over 100 samples. Op de figuur is duidelijk te zien
dat σy lagere waarden aanneemt bij een tonische aanval dan bij een normale beweging.
4.2.3 Het verschil tussen de maximale en de minimale signaalwaarde
Een derde feature die gebruikt wordt om het typische blokpatroon te karakteriseren is het
verschil tussen de maximale en de minimale signaalwaarde over een segment. Deze feature
wordt als volgt berekend:
RY =
√√√√3∑
i=1
|max (yi [1 : N ])−min (yi [1 : N ])|2
4.2.4 De standaardafwijking van de snelle signaalcomponent
De feature die gebruikt wordt om de tremor op het signaal te karakteriseren wordt gebaseerd
op de snelle signaalcomponent y′i die bekomen wordt door de trage signaalcomponent yi af te
trekken van het oorspronkelijke signaal xi (zie figuur 4.6). Vervolgens wordt de standaardaf-
wijking van σY ′ berekend op dezelfde manier als σY (zie figuur 4.7). Op de figuur is te zien
dat de standaardafwijking lagere waarden aanneemt tijdens een tonische aanval dan tijdens
een normale beweging.
Hoofdstuk 4. Tonische aanvalsdetectie 62
0 1000 2000 3000 4000 5000 6000
−100
−50
0
samples
sign
aal
0 10 20 30 40 50 600
5
samples
std
0 1000 2000 3000 4000 5000 6000−100
0
100
samples
sign
aal
0 10 20 30 40 50 600
10
20
30
samples
std
Figuur 4.4: De standaardafwijking over 100 samples en een van de originele trage signaalcomponen-
ten voor een tonische aanval (boven) en een normale beweging (onder).
Hoofdstuk 4. Tonische aanvalsdetectie 63
0 1000 2000 3000 4000 5000 6000
−100
−50
0
samples
sign
aal
0 10 20 30 40 50 600
20
40
samples
rang
e
0 1000 2000 3000 4000 5000 6000−100
0
100
samples
sign
aal
0 10 20 30 40 50 600
50
100
samples
rang
e
Figuur 4.5: Het verschil tussen de maximale en de minimale signaalwaarde over 100 samples en
een van de originele trage signaalcomponenten voor een tonische aanval (boven) en een
normale beweging (onder).
Hoofdstuk 4. Tonische aanvalsdetectie 64
0 1000 2000 3000 4000 5000 6000
−100
−50
0
samples
sign
aal
0 1000 2000 3000 4000 5000 6000−10
0
10
20
samples
sign
aal
0 1000 2000 3000 4000 5000 6000
−1000
100200
samples
sign
aal
0 1000 2000 3000 4000 5000 6000
0
100
200
samples
sign
aal
Figuur 4.6: Een van de 15 ACM-signalen en zijn snelle signaalcomponent van een tonische aanval
(boven) en een normale beweging (onder).
Hoofdstuk 4. Tonische aanvalsdetectie 65
0 1000 2000 3000 4000 5000 6000−10
0
10
20
samples
sign
aal
0 10 20 30 40 50 600
5
samples
std
0 1000 2000 3000 4000 5000 6000
0
100
200
samples
sign
aal
0 10 20 30 40 50 600
20
40
samples
std
Figuur 4.7: De standaardafwijking over 100 samples van de snelle signaalcomponenten voor een
tonische aanval (boven) en een normale beweging (onder).
Hoofdstuk 4. Tonische aanvalsdetectie 66
4.3 Testen van de features
De features die besproken werden in het voorgaande deel worden nu in een reeks experimenten
berekend en aangelegd aan het reservoir. Opnieuw wordt kruisvalidatie gebruikt. Er word
gekozen om vier folds te gebruiken. Voor drie folds bevat de validatieset twee van de zeven
aanvallen. De validatieset van de vierde fold bevat dan enkel de laatste aanval. Elk experiment
wordt uitgevoerd voor 10 reservoirs en maakt gebruik van de reservoirparameters die gevonden
werden in hoofdstuk 3 voor de afgeleide met PCA.
Tabel 4.1 geeft de resultaten weer van de experimenten. Voor alle features resulteert een
kleinere vensterlengte in een lagere testfout. De standaardafwijking van de trage signaal-
component (σY ) berekend over 10 samples zet het beste resultaat neer. Een aantal features
die in het vorige hoofdstuk werden gebruikt, werden ook getest, maar gaven opnieuw slechte
resultaten (zie 4.2).
Bij tonisch-clonische detectie zorgde een reductie van de dimensie met PCA voor betere
resultaten. Er wordt nu nagegaan of dit ook het geval is voor tonische detectie (zie tabel
4.3). Voor de features die over een segment worden berekend, wordt een segmentlengte van
10 samples gebruikt. PCA bleek in dit geval niet voor betere resultaten te zorgen.
Ten slotte wordt onderzocht hoe twee mogelijke combinaties van deze features presteren (zie
tabel 4.4). Wegens tijdgebrek werden slechts twee mogelijke combinaties getest. Beiden zetten
geen goed resultaat neer.
Hoofdstuk 4. Tonische aanvalsdetectie 67
Feature Vensterlengte Trainfout (BER (std)) Testfout (BER (std))
geen n.v.t. 0,222 (0,080) 0,477 (0,127)
JY n.v.t. 0,423 (0,009) 0,463 (0,044)
σY
100 0,197 (0,055) 0,461 (0,154)
50 0,165 (0,041) 0,408 (0,158)
25 0,150 (0,044) 0,349 (0,171)
10 0,182 (0,043) 0,313 (0,132)
RY
100 0,160 (0,035) 0,425 (0,185)
50 0,146 (0,045) 0,422 (0,184)
25 0,147 (0,045) 0,378 (0,163)
10 0,175 (0,035) 0,366 (0,133)
σ′Y100 0,192 (0,035) 0,454 (0,166)
50 0,193 (0,046) 0,472 (0,164)
25 0,195 (0,043) 0,403 (0,144)
10 0,202 (0,062) 0,407 (0,136)
Tabel 4.1: De train- en testfout voor verschillende features voor tonische aanvalsdetectie. De stan-
daardafwijking op de fouten bevindt zich tussen de haakjes)
Hoofdstuk 4. Tonische aanvalsdetectie 68
Feature Vensterlengte Trainfout (BER (std)) Testfout (BER (std))
scheefheid
200 0,214 (0,081) 0,482 (0,163)
100 0,177 (0,067) 0,530 (0,192)
50 0,164 (0,062) 0,492 (0,092)
platheid
200 0,157 (0,079) 0,472 (0,195)
100 0,138 (0,072) 0,528 (0,224)
50 0,145 (0,058) 0,511 (0,173)
mobiliteit
200 0,172 (0,092) 0,527 (0,221)
100 0,147 (0,089) 0,494 (0,186)
50 0,133 (0,075) 0,541 (0,169)
complexiteit
200 0,218 (0,052) 0,562 (0,183)
100 0,196 (0,064) 0,479 (0,175)
50 0,185 (0,055) 0,522 (0,230)
Tabel 4.2: De train- en testfout voor verschillende features voor tonische aanvalsdetectie. De stan-
daardafwijking op de fouten bevindt zich tussen de haakjes
Hoofdstuk 4. Tonische aanvalsdetectie 69
Feature Dimensie vh signaal Trainfout (BER (std)) Testfout (BER (std))
JY 5 0,423 (0,009) 0,463 (0,044)
JY + PCA 1 0,462 (0,018) 0,467 (0,058)
JY + PCA 3 0,473 (0,019) 0,495 (0,013)
σY 5 0,182 (0,043) 0,313 (0,132)
σY + PCA 1 0,351 (0,055) 0,429 (0,091)
σY + PCA 3 0,312 (0,055) 0,448 (0,109)
RY 5 0,175 (0,035) 0,366 (0,133)
RY + PCA 1 0,227 (0,069) 0,427 (0,135)
RY + PCA 3 0,296 (0,071) 0,441 (0,132)
σ′Y 5 0,202 (0,062) 0,407 (0,136)
σ′Y + PCA 1 0,211 (0,061) 0,413 (0,140)
σ′Y + PCA 3 0,281 (0,073) 0,455 (0,095)
Tabel 4.3: De invloed van PCA voor verschillende features voor tonische aanvalsdetectie. De stan-
daardafwijking op de fouten bevindt zich tussen de haakjes
Feature Trainfout (BER (std)) Testfout (BER (std))
JY + σY + RY + σ′Y 0,413 (0,015) 0,471 (0,027)
σY + RY + σ′Y 0,436 (0,017) 0,471 (0,033)
Tabel 4.4: Combinaties van verschillende features voor tonische aanvalsdetectie. De standaardafwij-
king op de fouten bevindt zich tussen de haakjes
Hoofdstuk 5
Conclusie
Twee systemen voor de detectie van epileptische aanvallen werden in deze thesis onderzocht:
een voor tonisch-clonische aanvallen en een voor tonische aanvallen. Voor beide systemen bleek
het noodzakelijk te zijn om de data voor te verwerken. Daarom werden verschillende voor-
verwerkingsmethoden voorgesteld en geevalueerd. Voor het eerste systeem gaf de afgeleide
het beste resultaat en dit kon nog verbeterd worden door de dimensie van het ingangssignaal
te reduceren met behulp van PCA. Het uiteindelijke resultaat was echter niet zo goed. Toen
het systeem werd getest op de volledige dataset bedroeg de BER 0,315. Dit houdt in dat een
op drie samples fout wordt geclassificeerd.
Voor het tweede systeem was de activiteit, berekend op de trage signaalcomponent, de beste
voorverwerkingsmethode. Het resultaat hiervan was echter niet beter dan wat werd bekomen
voor het eerste systeem. Het detectiesysteem voor tonische aanvallen kon ook niet meer getest
worden op de volledige dataset.
Een mogelijke verklaring voor de zwakke resultaten is dat er te weinig episodes werden ge-
bruikt voor het trainen. Het signaal van een aanval kan soms sterk lijken op dat van een nor-
male beweging en het kan zijn dat het reservoir meer voorbeelden van aanvallen en normale
bewegingen nodig heeft om een beter onderscheid te kunnen maken tussen de twee situaties.
Een andere verklaring kan zijn dat de voorverwerkingsmethoden die werden gebruikt te een-
voudig zijn en de verschillen tussen een aanval en normale beweging niet voldoende naar voor
brengen.
70
Bibliografie
[1] G. Becq, S. Bonnet, L. Minotti, M. Antonakios, R. Guillemaud, and P. Kahane. Col-
lection and exploratory analysis of attitude sensor data in an epilepsy monitoring unit.
Proceedings of the 29th Annual International Conference of the IEEE EMBS, Cite In-
ternationale, Lyon, France, 2007.
[2] C. Binnie, J. Aarts, P. V. B.-D. Boer, and T. Wisman. Monitoring at the instituut voor
epilepsiebestrijding meer en bosch. Electroencephalography and Clinical Neurophysiology,
37:341–355, 1985.
[3] M. Brandes, W. Zijlstra, S. Heikens, R. van Lummel, and D. Rosenbaum. Accelerometry
based assessment of gait parameters in children. Gait & Posture, 24:482–486, 2006.
[4] A. Bruce, D. Donoho, and H.-Y. Gao. Wavelet analysis. IEEE Spectrum, 33:26–35, 1996.
[5] P. Buteneers. De detectie van epileptische aanvallen met reservoir computing. Master’s
thesis, Universiteit Gent, 2008.
[6] A. R. Cooper, A. S. Page, B. W. Wheeler, P. Griew, L. Davis, M. Hillsdon, and R. Jago.
Mapping the walk to school using accelerometry combined with a global positioning
system. American Journal of Preventive Medicine, 38:178–183, 2010.
[7] A. Dalton, S. Patel, A. R. Chowdhury, M. Welsh, T. Pang, S. Schachter, G. OLaighin,
and P. Bonato. Detecting epileptic seizures using wearable sensor technologies, 2010.
[8] H. M. de Boer, M. Mula, and J. W. Sander. The global burden and stigma of epilepsy.
Epilepsy & Behavoir, 12:540–546, May 2008.
71
Bibliografie 72
[9] J. Fahrenberg, F. Foerster, M. Smeja, and W. Muller. Assessment of posture and motion
by multichannel piezoresistive accelerometer recordings. Psychophysiology, 34:607–612,
1997.
[10] K. L. Gao and W. W. Tsang. Use of accelerometry to quantify the physical activity level
of the elderly. Hong Kong Physiotherapy Journal, 26:18–23, 2008.
[11] N. Gebruers, C. Vanroy, S. Truijen, S. Engelborghs, and P. P. D. Deyn. Monitoring of
physical activity after stroke: A systematic review of accelerometry. Archives of Physical
Medicine and Rehabilitation, 91:288–297, 2010.
[12] A. Godfrey, R. Conway, D. Meagher, and G. OLaighin. Direct measurement of human
movement by accelerometry. Medical Engineering & Physics, 30:1364–1386, 2008.
[13] R. Hopfengartner, F. Kerling, V. Bauer, and H. Stefan. An efficient, robust and fast
method for the offline detection of epileptic seizures in long-term scalp eeg recordings.
Clinical Neurophysiology, 118:2332–2343, 2007.
[14] H. Jaeger. Echo state network. Scholarpedia, 2(9):2330, 2007.
[15] I. Jolliffe. Principal Component Analysis. Springer, 2002.
[16] J. J. Kavanagha and H. B. Menz. Accelerometry: A technique for quantifying movement
patterns during walking. Gait & Posture, 28:1–15, 2008.
[17] D. Kriesel. A brief introduction to neural networks. beschikbaar op http://www.
dkriesel.com, 2007.
[18] E. N. Marieb and K. Hoehn. Anatomy & Physiology, Third Edition. Pearson Benjamin
Cummings, 2008.
[19] R. Moe-Nilssen and J. L. Helbostada. Estimation of gait cycle characteristics by trunk
accelerometry. Journal of Biomechanics, 37:121–126, 2004.
[20] T. Nijsen. Accelerometry based detection of epileptic seizures. PhD thesis, Technische
Universiteit Eindhoven, 2008.
Bibliografie 73
[21] T. M. Nijsen, J. B. Arends, P. A. Griep, and P. J. Cluitmans. The potential value
of three-dimensional accelerometry for detection of motor seizures in severe epilepsy.
Epilepsy & Behavior, 7:74–84, 2005.
[22] S. Noachtar and A. Peters. Semiology of epileptic seizures: A critical review. Epilepsy
& Behavior, 15:2–9, 2009.
[23] S. Noachtar and J. Remi. The role of eeg in epilepsy: A critical review. Epilepsy &
Behavior, 15:22–33, 2009.
[24] W. H. Organization. Epilepsy fact sheet. http://www.who.int/topics/epilepsy/en/,
January 2009.
[25] F. Pauri, F. Pierelli, G.-E. Chatrian, and W. W. Erdly. Long-term eeg-video-audio
monitoring: computer detection of focal eeg seizure patterns. Electroencephalography
and Clinical Neurophysiology, 82:1–9, 1992.
[26] S. Pincus, I. Gladstone, and R. Ehrenkranz. A regularity statistic for medical data
analysis. Journal of Clinical Monitoring and Computing, 7:335–345, 1991.
[27] N. Paivinen, S. Lammi, A. Pitkanen, J. Nissinen, M. Penttonen, and T. Gronfors. Epi-
leptic seizure detection: A nonlinear viewpoint. Computer Methods and Programs in
Biomedicine, 79:151–159, 2005.
[28] N. D. Ridgers, G. Stratton, and S. J. Fairclough. Assessing physical activity during
recess using accelerometry. Preventive Medicine, 41:102–107, 2005.
[29] J. Saunders, V. Inman, and H. Eberhart. The major determinants in normal and patho-
logical gait. J Bone Jnt Surg, 35:543–558, 1953.
[30] M. Smejaa, F. Foerstera, G. Fuchsb, D. Emmansb, A. Hornigb, and J. Fahrenberga.
24-h assessment of tremor activity and posture in parkinson’s disease by multi-channel
accelerometry. Journal of Psychophysiology, 13:245–256, 1999.
[31] C. Tassinari, G. Rubboli, and H. Shibasaki. Neurophysiology of positive and negative
myoclonus. Electroencephalography and clinical Neurophysiology, 107:181–195, 1998.
Bibliografie 74
[32] G. Uswatte, W. L. Foo, H. Olmstead, K. Lopez, A. Holand, and L. B. Simms. Am-
bulatory monitoring of arm movement using accelerometry: An objective measure of
upper-extremity rehabilitation in persons with chronic stroke. Archives of Physical Me-
dicine and Rehabilitation, 86:1498–1501, 2005.
[33] P. Veltink, H. B. Bussmann, W. de Vries, W. L. Martens, and R. C. V. Lummel. Detection
of static and dynamic activities using uniaxial accelerometers. IEEE Transactions on
Rehabilitation Engineering, 4:375–385, 1996.
[34] L. Vercueil. Myoclonus and movement disorders. Neurophysiologie Clinique, 36:327–331,
2006.
[35] D. Verstraeten. Reservoir Computing: Computation with Dynamical Systems. PhD
thesis, Faculteit Ingenieurswetenschappen, 2010.
[36] D. Verstraeten, B. Schrauwen, M. D. Haene, and D. Stroobandt. An experimental uni-
fication of reservoir computing methods. Neural Networks, 20:391–403, 2007.
[37] H. Witte, L. Iasemidis, and B. Litt. Special issue on epileptic seizure prediction. IEEE
Transactions on Biomedical Engineering, 50:537–539, 2003.