Echo state networks voor de analyse van tijdreeksen

Maat: px
Weergave met pagina beginnen:

Download "Echo state networks voor de analyse van tijdreeksen"

Transcriptie

1 Faculteit Ingenieurswetenschappen Vakgroep Informatietechnologie Voorzitter: Prof. Dr. Ir. P. Lagasse Vakgroep Inwendige ziekten Voorzitter: Prof. Dr. M. De Vos Echo state networks voor de analyse van tijdreeksen door Jelle Daneels Promotoren: Prof. Dr. Ir. F. De Turck, Prof. Dr. J. Decruyenaere Begeleiders: S. Van Looy, K. Steurbaut Scriptie ingediend tot het behalen van de graad van Licentiaat in de informatica optie: Informatie- en Communicatietechnologie Academiejaar

2 Dankwoord Deze thesis zou niet tot een goed einde zijn gekomen zonder de inspanningen van een aantal mensen. De experimentele aard van dit werk leidde ertoe dat zij zich regelmatig beschikbaar moesten stellen. In de eerste plaats zou ik mijn thesisbegeleiders Stijn en Kristof willen bedanken voor de tijd en energie die zij in mij en dit afstudeerwerk stopten. Bedankt voor de steeds snelle respons en handige tips! Tevens wens ik ook Filip De Turck, Johan Decruyenaere, Thierry Verplancke, Chris Danneels en Dominique Benoit te bedanken voor hun interesse en voor het opvolgen en bijsturen van deze thesis. Als laatste wil ik nog mijn ouders bedanken voor de financiële steun gedurende de te vele jaren en mijn moeder voor het nalezen van dit werk. Daneels Jelle, juni 2008 i

3 Toelating tot bruikleen De auteur geeft de toelating deze scriptie voor consultatie beschikbaar te stellen en delen van de scriptie te kopiëren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit deze scriptie. Daneels Jelle, juni 2008 ii

4 Echo state networks voor de analyse van tijdreeksen door Jelle Daneels Scriptie ingediend tot het behalen van de academische graad van Licentiaat in de informatica: optie Informatie- en Communicatietechnologie Promotoren: Prof. Dr. Ir. F. De Turck, Prof. Dr. J. Decruyenaere Scriptiebegeleiders: S. Van Looy, K. Steurbaut Faculteit Ingenieurswetenschappen Universiteit Gent Vakgroep Informatietechnologie Voorzitter: Prof. Dr. Ir. P. Lagasse Academiejaar Samenvatting In dit werk trachten we het Echo State Networks concept uit te breiden naar classificatieproblemen. We ontwerpen een model waarmee tijdreeksen geclassificeerd kunnen worden. Ten einde dit model te testen wordt eveneens een java-implementatie uitgewerkt. In een eerste stap wordt via een aantal experimenten met gegenereerde data inzicht verworven in de werking van het model. In samenwerking met het Universitair Ziekenhuis van Gent werd een real-life case uitgewerkt. Aan de hand van diurese en creatinine waarden van patiënten op de afdeling intensieve zorgen trachten we via de bekomen classifier een geschikte diagnose te stellen omtrent het al dan niet optreden van nierinsufficiëntie. Trefwoorden Echo state networks, machine learning, neural networks, prediction, classification

5 Echo state networks for classification of timeseries Jelle Daneels Supervisor(s): Filip De Turck, Johan Decruyenaere, Stijn Van Looy, Kristof Steurbaut Abstract Echo State Networks (ESNs) have been shown to be effective for a number of tasks, including motor control [4], chaotic time series prediction [5] and memorizing periodic sequences [3]. Most of these problems belong to the group of prediction problems. However, their ability to perform as a classifier of timeseries has been largely unexplored until now. Within this scription, we try to use the ESN technique to build a system capable of discovering patterns in timeseries. The designed model is tested both on generated date and a real-life classification problem. Keywords Echo state networks, machine learning, neural networks, prediction, classification I. INTRODUCTION ECHO state networks (ESNs) [2] is a recent approach to recurrent neural network (RNN) supervised training. A large, randomly connected RNN is used as a dynamical reservoir which can be excited by suitably presented input and/or fedback output. The connection weights of this reservoir network are not changed by training. In order to compute a desired output dynamics, only the weights of connections from the reservoir to the output units are trained. In the conventional case of ESNs this is a simple linear combination of the reservoir activations (i.e. a single layer of weights). Because there are no cyclic dependencies between the trained readout connections, training an ESN becomes a simple linear regression task, which can be done efficiently by calculating a pseudo-inverse matrix [3]. The main idea of ESNs has been independently investigated under the name of liquid state machines [1]. The activation of internal units is updated according to x(n + 1) = f(w in u(n + 1) + W x(n) + W back y(n)) (1) where f = (f 1,..., f N ) are the internal unit s output functions (typically sigmoid functions). The output is computed according to y(n + 1) = f out (W out [u(n + 1), x(n + 1), y(n)]) (2) where f out = (f1 out,..., fl out ) are the output unit s output functions and [u(n+1),x(n+1),y(n)] is the concatenation of the input, internal, and previous output activation vectors. B. Echo state property The echo state property is essential for making the ESN learning method work. It can be defined intuitively as follows: a RNN which is driven by an external signal u(n) has the echo state property if the activations x(n) of the RNN neurons are systematic variations of the driver signal u(n). More formally, this means that for each internal unit x i there exists an echo function e i, such that, if the network has been run for an indefinitely long time in the past, the current state can be written as x i (n) = e i (u(n), u(n 1), u(n 2),...). There are several nontrivial alternative definitions of this condition and algebraic characterizations of which network weight matrices W lead to networks having the echo state property [2] [3]. II. ECHO STATE NETWORKS A. Terminology Consider a discrete-time neural network with K input units, N internal network units and L output units. Activations of input units at time step n are u(n) = (u 1 (n),..., u K (n)), of internal units are x(n) = (x 1 (n),..., x N (n)), and of output units y(n) = (y 1 (n),..., y L (n)). Real-valued connection weights are collected in a N K weight matrix W in = (wij in ) for the input weights, in an N N matrix W = (w ij ) for the internal connections, in an L (K + N + L) matrix W out = (wij out) for the connections to the output units, and in a N L matrix W back = (wij back ) for the connections that project back from the output to the internal units. Connections directly from the input to the output units and connections between output units are allowed. No further conditions on the network topology induced by the internal weights W are imposed (e.g., no layer structure). Figure 1 shows the basic Echo state network architecture; Dashed arrows indicate connections that are possible but not required. A. Basic model Fig. 1. The basic ESN architecture [2] III. CLASSIFICATION MODEL Within this work we try to find a way to use the ESN concept for classification of timeseries. We use the architecture and

6 dynamics as described above. After feeding the network with an inputseries, the evoked internal signals are dependent on the input seen so far. When we presume that these signals contain aspects of the inputseries, we can use the activations of reservoir units at a certain timestep (statevector) as features for classification. In the basic model, the featurevector consists of only the last statevector (after the network has seen the entire series). The basic model is shown in figure 2. Note that the technique can also be used for classification of multidimensional inputseries. A. Generated data IV. EXPERIMENTS In order to gain insights in the working of the designed model, a Datagenerator class was implemented to foresee us of the necessary test data. Within this phase we tested the classification accuracy of both the basic and the generalized model and examined the influence of the number and positions of the used statevectors. The gained knowledge was applied on the next real-life experiment. B. Real-life data In cooperation with the Ethics Committee of the Ghent University hospital the following real-life case was chosen: predict kidney insufficiency, based on diuresis and creatinine values B. Generalisation Fig. 2. The basic model uses only the last statevector. Using a sufficient large memory (dependent on the number of internal units), assures that the induced end state of the reservoir will be dependent on the entire input timeseries. Experimentaly we came to the conclusion that only a limited number of timesteps has considerable influence. When we also want earlier time intervals to be taken into account, we should not only use the end statevector, but also a number of previous seen reservoir states. As result, the used featurevector is the accumulation of a certain number of statevectors. Figure 3 shows this technique. Fig. 3. The generalized model uses a number of statevectors. The data for this study consisted of an observational cohort of about 900 patients admitted to the ICU between May 2003 and Decembre Using ESNs, we try to find an appropriate diagnosis for the need of dialysis after day five of ICU admission. The patients that received dialysis in the first five days of ICU admission were discarded from analysis. Diuresis and creatinine values during the first three days of ICU stay were collected from the datawarehouse. After a preformatting phase, the final dataset consisted of ± 90 positive elements (no dialysis) and ± 800 negative elements (dialysis). The dataset was classified using only one parameter (diuresis or creatinine) and using the combination of both parameters (multidimensional input). In each case stratified k-fold cross-validation was used. During a first phase we apply the insights gained from the previous experiments (generated data). Then, two techniques are implemented in an attempt to improve accuracy. In the first technique we use a combination of a number of good statevectors. In the latter, a combination of classifiers is used. V. RESULTS Tabel 1 shows the results obtained for the individual experiments and the combined experiment. The table shows the results when classification was done with a featurevector consisting of one statevector, using a network of 100 units. The table also shows the results of some other classification methods, obtained by Stijn Van Looy. For these classifiers, in a first phase, the data was handled univariate. The input parameters are the values on every timestep and a number of extracted features from the timeseries (maximum, minimum, intercept, slope of regression line, surface under the timeseries). In a second phase the data was handled multivariate both using a complex method (support vector machines) and a simple method (naive Bayes classifier). Figure 4 shows the resulting Receiver Operating Characteristic curve of the combined experiment. VI. CONCLUSION The accuracy of the classification depends greatly on the number and position of the statevectors used. We tried to improve performance by combining classifiers and/or statevectors. Sometimes using a greater number of statevectors/classifiers

7 leads to better performance. Finding an optimal solution demands trying out all possible combinations. This is computational not doable, so we need a smart algorithm to explore the combination space. Even without having this, the ESN classifier outperformed the other techniques. [5] H. Jaeger, Harnessing nonlinearity: predicting chaotic systems and saving energy in wireless telecommunication, Science, april, 78 80, TABLE I RESULTS OBTAINED WITH DIFFERENT CLASSIFIERS Diurese Creatinine D + C Univariate max. acc n/a max. acc n/a max. acc n/a AUC n/a Multivariate SVM max. acc max. acc max. acc AUC Naive Bayes max. acc max. acc max. acc AUC ESN max. acc max. acc max. acc AUC ,0 ROC curve 0,9 0,8 0,7 True positive rate 0,6 0,5 0,4 0,3 0,2 0,1 0,0 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 False positive rate Fig. 4. ROC curve of the combined experiment REFERENCES [1] W. Maass T. Natschlaeger and H. Markram, Real-time computing without stable states: A new framework for neural computation based on perturbations, Neural Computation, 14, 11, , [2] H. Jaeger, The echo state approach to analysing and training recurrent neural networks, GMD, German National Research Institute for Computer Science, 148, [3] H. Jaeger, A tutorial on training recurrent neural networks, covering BPPT, RTRL, EKF and the echo state network approach, GMD, German National Research Institute for Computer Science, 159, [4] Matthias Salmen and Paul G. Plger, Echo State Networks used for Motor Control, Robotics and Automation, 18, , 2005.

8 Inhoudsopgave Dankwoord Toelating tot bruikleen Overzicht Extended abstract Gebruikte afkortingen i ii iii iv x 1 Inleiding Doel van de thesis Structuur van de thesis Artificiële neurale netwerken Biologische neuron vs. artificiële unit Structuur van het netwerk Feedforward netwerken Recurrente netwerken Trainen van feedforward netwerken Gradient descent Backpropagation Trainen van recurrente netwerken Modelleren van tijd vii

9 Inhoudsopgave viii Simple recurrent network Backpropagation through time Realtime recurrent learning Reservoir computing Liquid State Machines Echo State Networks Conclusie Echo State Networks Netwerk architectuur Echo state eigenschap Werking Constructie van het netwerk Trainingsalgoritme Verklaring Toepassingen Java implementatie Algemeen ESN FullEsn: de meest algemene architectuur Vereenvoudigde architecturen OutputEsn: leren van een periodieke sequentie InputEsn: de geheugencapaciteit van het DR Conclusie Classificatie van tijdreeksen Model Basismodel Uitbreiding Datagenerator

10 Inhoudsopgave ix Experiment Experiment Real-life data UZ Preformatting van de data Uitbreiding Validatie K-fold cross-validation ROC analyse Implementatie Resultaten Datagenerator Experiment Experiment Real-life data UZ Fase Fase Resultaten Conclusie Bibliografie 87 Lijst van figuren 89 Lijst van tabellen 92

11 Gebruikte afkortingen ESN(s) AI BPTT RTRL LSM DR MSE UZ ROC TP FP TN FN TPR FPR PPV NPV Echo State Network(s) artificiële intelligentie backpropagation through time realtime recurrent learning Liquid State Machine dynamisch reservoir mean squared error universitair ziekenhuis receiver operating characteristic true positive false positive true negative false negative true positive rate false positive rate positive predictive value negative predictive value x

12 Hoofdstuk 1 Inleiding 1.1 Doel van de thesis Classificatieproblemen waarbij de invoer bestaat uit tijdreeksen zijn zeer moeilijk op te lossen met klassieke classificatiemethoden. De belangrijkste reden hiervoor is dat de datacomponenten binnen een tijdreeks sterk met elkaar gecorreleerd zijn, ook gekend als het probleem van multicolineariteit. Om deze reden worden tijdreeksen op een speciale manier aangepakt: ofwel door gespecialiseerde classificatiemethoden zoals hidden Markov models en dynamic time warping, ofwel door in een eerste stap bepaalde kenmerken uit de tijdreeksen af te leiden (feature extraction) welke dan in een tweede stap als invoer gebruikt worden voor een klassieke classificatiemethode. Een recente techniek die in de tweede categorie thuishoort, is de echo state machine. De echo state machine bestaat uit een recurrent neuraal netwerk en een uitleesfunctie. Het netwerk doet dienst als vervagend korte termijn geheugen. Onder bepaalde voorwaarden zal een recurrent netwerk immers de echo state eigenschap bezitten. Deze eigenschap kan vergeleken worden met de eigenschap van een vloeistofoppervlak om een bepaald golvenpatroon te vertonen nadat een reeks steentjes in de vloeistof gegooid zijn. Na verloop van tijd zal dit golvenpatroon echter verdwijnen en keert het vloeistofoppervlak terug in zijn evenwichtstoestand. Bij invoer van een tijdreeks zullen in het netwerk echo states voorkomen welke na verloop van tijd weer verdwijnen. De 1

13 Hoofdstuk 1. Inleiding 2 uitleesfunctie is een klassieke classificatiemethode die vervolgens deze echo states associeert met verschillende klassen in de data. Echo State Networks (ESNs) werden reeds succesvol toegepast binnen verschillende domeinen (zie 3.4). Bij deze experimenten ligt de nadruk meestal op predictie van enkele volgende waarden van een tijdreeks, waarin ESNs dan ook veelbelovend zijn in vergelijking met reeds gekende technieken. Het voordeel van ESNs is de manier waarop het netwerk getraind wordt. Dit gebeurt heel efficiënt in vergelijking met de computationeel zware trainingsalgoritmen gebruikt bij alternatieve artificiële intelligentie (AI) technieken. Binnen deze thesis zal de nadruk liggen op classificatie van tijdreeksen. Enkele vragen waarop een antwoord wordt gezocht: Zijn ESNs hiertoe in staat? Hoe presteren ze in vergelijking met andere technieken? enz. 1.2 Structuur van de thesis De thesis start met een literatuurstudie met als doel inzicht te verwerven in de verschillende AI technieken die binnen deze thesis worden gebruikt. Echo State Networks behoren tot het domein der artificiële neurale netwerken, meer specifiek tot de recurrente neurale netwerken. Hoofdstuk 2 start met de beschrijving van de bouwsteen van deze netwerken, zijnde het artificiële neuron, en geeft de analogie met zijn biologische tegenhanger. Daarna volgt een bespreking van de verschillende architecturen, de mogelijkheden die deze bieden én de historische achtergrond. De welgekende feedforward netwerken (perceptrons) en hun recurrente tegenhanger komen aan bod. Het is de tweede soort die het onderzoek van deze thesis uitmaakt, doch kennis van perceptrons is noodzakelijk om de werking ervan te snappen. Neurale netwerken bezitten intelligentie omdat deze getraind kunnen worden. Na een beschrijving van de algemene gradient descent methode volgt de bespreking van enkele trainingsalgoritmen die hierop gebaseerd zijn. Feedforward netwerken worden meestal getraind met het backpropagation algoritme, een techniek die als mijlpaal binnen AI geldt. Recurrente netwerken maken gebruik van tijd, we beschrijven hoe het netwerk

14 Hoofdstuk 1. Inleiding 3 model kan worden aangepast om hiermee overweg te kunnen. Via Elman s simple recurrent network tonen we aan hoe bepaalde recurrente netwerken eveneens kunnen getraind worden met backpropagation. De veralgemening ervan, backpropagation through time, wordt hierna behandeld, alsook realtime recurrent learning, een online op gradient descent gebaseerd trainingsalgoritme. We besluiten het hoofdstuk met de reden waarom we binnen deze thesis met een reservoir computing-techniek werken. Hoofdstuk 3 start met een beschrijving van de algemene architectuur van Echo State Networks. Hierna volgen enkele karakteristieke definities van de echo state eigenschap, de eigenschap waarop het hele ESN concept gebaseerd is. Verder worden de constructievoorwaarden die tot deze eigenschap leiden opgesomd en wordt eveneens het trainingsalgoritme behandeld. Het hoofdstuk eindigt met een overzicht van reeds bestaande toepassingen en hun performantie. In het tweede deel van de thesis wordt een Java-implementatie uitgewerkt waarmee de mogelijkheden van Echo State Networks kunnen getest worden. Het merendeel van de toepassingen besproken in hoofdstuk 3, behoort tot de zogenaamde klasse der predictieproblemen. Bij deze problemen wil men op basis van de reeds geziene input, het toekomstig verloop van de tijdreeks gaan voorspellen. In [1] beschrijft H. Jaeger de algemene architectuur van ESNs voor het oplossen van dergelijke problemen. In hoofdstuk 4 wordt de implementatie van deze algemene architectuur en enkele vereenvoudigde configuraties besproken. In wat volgt onderzoeken we of Echo State Networks eveneens kunnen aangewend worden voor het oplossen van classificatieproblemen. Indien we ESNs hiervoor willen gebruiken, moeten we het algemene model op een of andere manier aanpassen om het bruikbaar te maken voor classificatie. In hoofdstuk 5 worden twee modellen uitgewerkt waarmee we dit trachten te doen. We beschrijven eveneens twee types experimenten waaraan de ontworpen techniek wordt getest.

15 Hoofdstuk 1. Inleiding 4 Voor het eerste type experiment wordt een klasse DataGenerator ontwikkeld die ons de nodige data biedt. Bij het tweede, wordt gebruik gemaakt van real-life data bestaande uit tijdreeksen afkomstig van het Universitair Ziekenhuis van Gent. We bespreken hier eveneens de gebruikte validatie-techniek, zijnde k-fold cross-validation, en geven een korte inleiding tot ROC analyse. Hoodstuk 6 geeft een overzicht van de bekomen resultaten. Voor elk experiment worden de resultaten, bekomen via de twee ontworpen modellen, getoond en besproken. We besluiten met een conclusie omtrent de classificatie-mogelijkheden van ESNs en een eigen visie op toekomstig werk.

16 Hoofdstuk 2 Artificiële neurale netwerken Artificiële neurale netwerken zijn gebaseerd op biologische neurale netwerken. Het menselijk brein is opgebouwd uit bestaande zenuwcellen die in het zenuwstelsel en hersenen met elkaar zijn verbonden door middel van synapsen. Een artificieel neuraal netwerk bestaat uit verscheidene (eventueel door software gesimuleerde) meestal zeer eenvoudige processoren (neuronen) met een hoge mate van onderlinge connectie waarover simpele scalaire berichten verzonden worden. De interactie tussen de diverse onderling verbonden processoren waaruit het netwerk bestaat is bovendien adaptief, zodat verbindingen tussen andere processoren in het neurale netwerk kunnen ontstaan, kunnen worden versterkt, verzwakt of weer verbroken kunnen worden. Dit betekent dat een neuraal netwerk te trainen is. Doorgaans worden neurale netwerken softwarematig gesimuleerd, waarmee deze op de gewone computer ontwikkeld en getest kunnen worden. Werkt een bepaalde architectuur van een neuraal netwerk goed dan kan een geweldige versnelling van de berekeningen worden bereikt door deze in hardware uit te voeren. Binnen het domein van de artificiële intelligentie worden neurale netwerken reeds uitvoerig toegepast. Zo zijn er bijvoorbeeld beslissingsmodellen voor de interpretatie van medische data, op basis waarvan diagnoses gesteld worden. Ook binnen de financiële wereld hebben ze reeds hun nut bewezen. Alle grote financiële instellingen ontwikkelen predictiemodellen op basis waarvan voorspellingen van bepaalde financiële barometers worden gedaan; zo 5

17 Hoofdstuk 2. Artificiële neurale netwerken 6 worden ze o.a. gebruikt voor het voorspellen van beurskoersen. Een probleem bij de toepassing van neurale netwerken in de praktijk is het feit dat het werkt via het Black Box-principe; een neuraal netwerk is niet in staat een uitleg te geven van de reden voor de gegeven uitvoer. De kennis van het getrainde netwerk bestaat uit de exacte configuratie van een groot aantal coëfficiënten waaraan verder niet zoveel waar te nemen is. 2.1 Biologische neuron vs. artificiële unit Een enkelvoudige processor uit het artificieel neuraal netwerk valt te vergelijken met zijn biologische tegenhanger, het neuron. Een dergelijk neuron in het lichaam kan wel tienduizenden verschillende verbindingen met andere neuronen hebben, en de neuronen kunnen signalen genereren, afhankelijk van de ontvangen signalen, naar andere neuronen. Figuur 2.1 toont de bouw van een neuron. Op de dendrieten ontvangt het neuron signalen van andere neuronen. Daarvandaan wordt de informatie naar het cellichaam gebracht. Vervolgens voert het axon een elektrisch signaal naar de synaps, die de boodschap aan het volgende neuron doorgeeft. Figuur 2.1: het biologisch neuron [2] Biologische neuronen zijn zeer gevarieerd in bouw en complex in hun werking. In arti-

18 Hoofdstuk 2. Artificiële neurale netwerken 7 ficiële neurale netwerken worden vereenvoudigde modellen van neuronen gebruikt. Deze worden vaak units genoemd om aan te geven dat het geen echte neuronen zijn. Figuur 2.2 laat een model zien van zo een unit. De unit zet een inputvector bestaande uit de signalen x 1 x l om in een outputsignaal o. De inputsignalen x i worden vermenigvuldigd met de bijbehorende gewichten w i die als equivalent van de sterkte van een biologische synaps gezien kunnen worden. Het resultaat wordt de netinput genoemd. De gewogen som wi x i wordt, na eventueel verlagen met een bias ϑ, omgezet tot het outputsignaal o via een activatie-functie f (ook threshold-functie of transfert-functie genoemd). f is meestal een lineaire, sigmoïde of een stap-functie. Het outputsignaal van een unit wordt activatie genoemd. Oorspronkelijk werd als activatie-functie een stap-functie gebruikt met als gevolg dat threshold-functie meestal in deze betekenis wordt gebruikt. De meest gebruikte activatie-functie is de sigmoïde functie die zowel een lineair als een niet-lineair gedrag vertoont. Deze S-vormige functies zorgen voor een schaling van de activaties binnen een bepaald nuttig interval. Figuur 2.2: de artificiële unit [3]

19 Hoofdstuk 2. Artificiële neurale netwerken Structuur van het netwerk De mogelijkheden en efficiëntie van het netwerk worden in grote mate bepaald door de architectuur ervan. Het bepalen van het geschikte aantal units, de gewichten van de verbindingen ertussen en de gebruikte activatie-functies is niet triviaal. Een neuraal netwerk kan bestaan uit een arbitrair aantal units. Een typisch neuraal netwerk heeft een gelaagde structuur; er is een inputlaag die input ontvangt uit de omgeving, eventueel één of meerdere tussenlagen (ook verborgen lagen genoemd) en een outputlaag waar de resultaten aan afgelezen kunnen worden. Binnen deze thesis worden units behorende tot inputlaag, tussenlagen of outputlaag respectievelijk inputunits, hidden units en outputunits genoemd. Het aantal inputunits is gelijk aan het aantal input variabelen, het aantal outputunits wordt bepaald door het aantal gewenste outputposities. Het aantal hidden units wordt bepaald door de complexiteit van het probleem en wordt meestal door experimenteren bepaald. Indien alle units van een laag verbonden zijn met alle units van de volgende laag zegt men dat het netwerk volledig geconnecteerd is. Een eenvoudig voorbeeld is het netwerk gebruikt voor patroonherkenning; herkenning van de letters van het alfabet. De inputlaag zal hier bijvoorbeeld 256 units hebben (voor 16 x 16 pixels), het aantal outputunits zal 26 zijn en het aantal units in de tussenlaag ligt hier ergens tussenin. Er zijn in de praktijk verschillende organisatievormen die voor bepaalde toepassingen beter blijken te voldoen dan andere Feedforward netwerken Het meest eenvoudige en meest bestudeerde netwerk is het feedforward netwerk. Informatie stroomt in één richting van de inputlaag via de tussenlagen naar de outputlaag m.a.w. het netwerk bevat geen lussen. Figuur 2.3 toont een volledig geconnecteerd feedforward netwerk met één verborgen laag.

20 Hoofdstuk 2. Artificiële neurale netwerken 9 Figuur 2.3: feedforward netwerk Het feedforward netwerk zet een inputvector x = x 1 x l om in een outputvector o = o 1 o k. De activatie van inputunit x i is gelijk aan de inputwaarde zelf. De activatie van een hidden of outputunit i wordt als volgt bepaald : y i = f( y j w ij ) (1) Hierin zijn de y j s de activaties van de units die een verbinding hebben naar unit i. Het gewicht behorende bij de verbinding van unit j naar unit i is gegeven door w ij. We kunnen een bias introduceren door een extra connectie w bias te gebruiken met gewicht gelijk aan één. Feedforward netwerken worden vooral gebruikt voor classificatie (classifier). Indien als activatie-functie f een lineaire functie (bv. de identiteitsfunctie) wordt gebruikt, zal de output een lineaire combinatie van de inputs zijn. Indien we niet-lineaire systemen willen modelleren moeten we als activatie-functie een stap-functie of een sigmoïde-functie gebruiken. De stap-functie is niet continu en als gevolg niet overal afleidbaar. Aangezien de trainingsalgoritmen (zie 2.3) volop gebruik maken van afgeleiden wordt meestal de voorkeur gegeven aan een sigmoïde functie. Deze functies bieden de kracht van stap-functies én zijn afleidbaar. In figuur 2.4 wordt een stap-functie getoond. In het punt t, de threshold genoemd, is ze niet afleidbaar. Figuur 2.5 toont een voorbeeld van een sigmoïde functie. Beide functies begrenzen de activatie van een unit in het interval [0, 1]. In het vervolg van deze thesis gaan we er van uit dat een sigmoïde functie gebruikt wordt, tenzij anders

21 Hoofdstuk 2. Artificiële neurale netwerken 10 vermeld. Het is duidelijk dat de activatie van unit i slechts kan berekend worden nadat alle activaties van units in lagere lagen berekend zijn, vandaar ook de naam van deze netwerken. Figuur 2.4: stap-functie [4] Figuur 2.5: sigmoïde-functie [4] Feedforward netwerken werden ontwikkeld eind de jaren 50. Het meest eenvoudige feedforward netwerk, het éénlagig perceptron (single layer perceptron), werd uitgevonden door Frank Rosenblatt in 1957 [5]. Dit zijn neurale netwerken zonder verborgen lagen, m.a.w enkel input- en outputunits. Perceptrons kunnen fungeren als lineaire classifier, doch kunnen dit enkel perfect indien de inputobjecten lineair scheidbaar zijn van elkaar. Dit is het geval indien er een lijn, vlak of hypervlak bestaat dat deze objecten van elkaar scheidt, al naargelang de dimensie van de input. Meer geavanceerde classificatie vereist de aanwezigheid van één of meerdere verborgen lagen in het netwerk, het zogenaamde meerlagig perceptron (multilayer perceptron). Indien de units een lineaire activatie-functie hebben zijn deze netwerken niet tot meer in staat dan hun éénlagige variant. Indien echter een threshold of sigmoïde functie wordt gebruikt is een niet-lineaire classificatie mogelijk waarbij de inputobjecten gescheiden worden door ingewikkeldere vormen. Zo is een netwerk met één enkele verborgen laag in staat tot alle mogelijke classificaties indien gebruik gemaakt wordt van voldoende units. Naast classificatie zijn feedforward netwerken ook in staat functies te leren, m.a.w ze te benaderen. Verhogen van het aantal units en/of verborgen lagen, leidt tot een betere benadering. In 1969 bewezen Minsky en Papert in [6] dat éénlagige perceptrons beperkt zijn in hun toepassingen. Zo blijken ze niet in staat om bepaalde boolese functies

22 Hoofdstuk 2. Artificiële neurale netwerken 11 te representeren (bv. XOR). Eveneens beweerden ze dat ook de meer complexe meerlagige perceptrons hiertoe niet in staat zijn. Deze uitspraken zorgden ervoor dat het academisch onderzoek naar neurale netwerken stagneerde gedurende de jaren 70. Echter, in de jaren 80 slaagden onderzoekers erin te bewijzen dat meerlagige perceptrons wel in staat zijn alle functies te representeren, waardoor het onderzoek opnieuw opflakkerde Recurrente netwerken Een eenvoudig feedforward netwerk maakt geen gebruik van temporele informatie. Het netwerk verwerkt de huidige input zonder rekening te houden met eerder geziene inputs. Meer en meer aandacht wordt tegenwoordig besteed aan recurrente netwerken. Deze netwerken laten toe dat units feedback geven aan units in lagere lagen of aan zichzelf, m.a.w. het netwerk laat lussen toe. De vele gevarieerde ontwerpen van deze netwerken zijn in staat het temporele gedrag van een inputreeks mee in rekening te brengen. Telkens een patroon ingevoerd wordt, zullen de units hun activatie berekenen net zoals in een feedforward netwerk. Het verschil is dat de activatie nu ook een term bevat die de interne toestand van het netwerk weerspiegelt. Wanneer we opeenvolgende patronen verwerken zullen activaties van de hidden en outputunits een functie zijn van alles wat het netwerk reeds verwerkt heeft. Recurrente netwerken worden vooral gebruikt bij temporele taken, zoals die voorkomen in predictie en controle waarin tijdseries een belangrijke rol spelen. Zo worden ze o.a. gebruikt bij financial forecasting, het leren van grammatica s, spraakherkenning en robot controle. Figuur 2.6 toont de bouw van een typisch recurrent netwerk.

23 Hoofdstuk 2. Artificiële neurale netwerken 12 Figuur 2.6: recurrent netwerk 2.3 Trainen van feedforward netwerken Indien we een neuraal netwerk bouwen en zelf manueel de gewichten instellen is het mogelijk dit netwerk een bepaalde taak te laten uitvoeren. Echter, de kracht van neurale netwerken is net dat ze ertoe in staat zijn zichzelf te configureren, m.a.w ze zijn in staat te leren. Er zijn twee mogelijke vormen van leren, supervised en unsupervised. Binnen deze thesis ligt de focus op het eerste geval. Bij supervised leren bestaat de training data (trainingset) uit inputobjecten en de ermee corresponderende outputobjecten. Het netwerk zoekt dan de functie die de inputdata zo goed mogelijk mapt op de gewenste output. Deze functie zit verborgen in de gewichten van de verbindingen tussen units. Op één of andere manier moeten deze gewichten dus aangepast worden. Meest eenvoudig is het gebruik maken van een brute force methode. Indien het netwerk zich niet gedraagt zoals het moet, m.a.w. indien de output niet correct is, wijzigen we het gewicht van een random connectie met een random getal. Indien het netwerk hierdoor slechter presteert wordt deze wijziging ongedaan gemaakt en proberen we opnieuw. Jammer genoeg stijgt het aantal mogelijke gewichten exponentieel wanneer we units toevoegen en is deze methode dus niet toepasbaar voor grote netwerken. We hebben dus behoefte aan efficiëntere technieken die op een in-

24 Hoofdstuk 2. Artificiële neurale netwerken 13 telligente manier gewichten aanpassen en zo de prestatie van het netwerk verbeteren. De gradient descent methode kan worden gebruikt voor training van de eenvoudigste feedforward netwerken, éénlagige perceptrons. Het hierop gebaseerde backpropagation algoritme is één van de belangrijkste trainingsalgoritmes voor feedforward netwerken Gradient descent Gradient descent, beschreven in [2],[7] en [8], is een techniek voor het oplossen van optimalisatieproblemen waar het minimum van een functie van continue parameters wordt gezocht. De standaard procedure om het minimum te vinden is de afgeleide f (x) gelijk te stellen aan nul. Indien deze gelijkheid moeilijk op te lossen is, kunnen we het resultaat algoritmisch berekenen. Om een lokaal minimum van een functie te vinden starten we op een bepaald punt en nemen stappen omgekeerd evenredig met de afgeleide in dat punt. Beschouw het eenvoudigste geval; een functie met één parameter y = f(x). Stel dat het minimum wordt bereikt in het punt x min. Als startwaarde voor x wordt een arbitraire waarde x 1 gekozen. Indien f (x 1 ) positief is, zal x min links van x 1 liggen. Indien de afgeleide negatief is zal x min rechts van x 1 liggen. Aan de hand van f (x 1 ) weten we dus de richting waarin we moeten bewegen om dichter bij het gezochte minimum te komen. We passen x 1 aan via de volgende regel: x 1 x 1 η f (x 1 ) (2) met η een positieve constante. Indien η voldoende klein is en het minimum van f bestaat, zal x 1 via voorgaande regel convergeren naar dit minimum in een eindig aantal stappen. Indien y een functie is van meerdere continue parameters, y = f(x 1, x 2,, x n ), dan zal de partieel afgeleide naar elke x i aangeven hoe snel y verandert langs deze as. Via y = ( y x 1, y x 2,, y x n ) weten we de richting waarin we moeten bewegen om de grootste afname van y te bekomen. We passen dit nu toe op het perceptron met lineaire activatie-functie en één outputunit.

25 Hoofdstuk 2. Artificiële neurale netwerken 14 Later, in de beschrijving van het backpropagation algoritme worden meerdere outputunits en een niet-lineaire activatie-functie gebruikt. De output wordt gegeven door: o( x) = w x (3) We definiëren de training error E als volgt: E( w) = 1 (t d o d ) 2 (4) 2 d D hierin is t d de gewenste output en o d de huidige output voor een bepaald element x d uit de trainingset. De gradient descent regel vertaalt zich in: w w η E( w) (5) De positieve constante η wordt de learning rate genoemd en bepaalt de snelheid waarmee de error naar het minimum convergeert. Indien η te klein wordt gekozen zal het netwerk heel traag convergeren. Is η echter te groot, dan zal het algoritme divergeren; er wordt als het ware over het minimum heen gesprongen. We kunnen dit ook schrijven als: waarin w i = η E w i. Uit (3) en (4) volgt: w i w i + w i (6) E = (t d w x)( x id ) (7) w i d D Als resultaat geeft dit: w i = η d D(t d o d )x id (8) Bovenstaand algoritme neemt de som van afgeleiden van de volledige trainingset en gebruikt de bekomen vector om de gewichten aan te passen. Deze methode wordt batch

26 Hoofdstuk 2. Artificiële neurale netwerken 15 learning genoemd. Een alternatief hiervoor is online learning, waarbij de gewichten worden aangepast na het verwerken van elk element uit de trainingset. De online versie van (6) wordt de delta regel genoemd: w i w i + η(t o)x i (9) hierin zijn t, o en x i respectievelijk doel-output, huidige output en i-de input van het huidig trainingselement. Het online algoritme biedt een aantal voordelen: 1. Wanneer de trainingset redundantie bevat convergeert het sneller naar het minimum dan de batch versie. 2. Het kan worden gebruikt wanneer de trainingset continu wordt aangevuld met nieuwe elementen. 3. Het batch algoritme leidt steeds tot het lokaal minimum. De online versie maakt het soms mogelijk uit lokale minima te ontsnappen en slaagt er dan soms in het globaal minimum te vinden. Echter, er bestaan een aantal optimalisatie-technieken (zoals hogere orde technieken, Bayesiaanse methoden, enz.) voor de batch versie, die niet online gebruikt kunnen worden Backpropagation Indien we het gradient descent algoritme zouden toepassen op meerlagige perceptrons stuiten we op een probleem. Voor de hidden units hebben we geen doel-output, deze kunnen dus niet getraind worden. Een oplossing wordt gegeven door het backpropagation algoritme, een mijlpaal in de geschiedenis van AI technieken! Dit trainingsalgoritme werd uitgevonden door Paul Werbos in Wegens de verzwakte interesse in neurale netwerken in die periode, duurde het tot 1986 eer het zijn verdiende erkenning kreeg, via het

27 Hoofdstuk 2. Artificiële neurale netwerken 16 werk van David E. Rumelhart, Geoffrey E. Hinton en Ronald J. Williams [9]. Een formele beschrijving van het algoritme volgt hierna. [2] [7] Het algoritme (online) bestaat uit twee fasen: 1. Feedforward fase: Alle activaties worden berekend op de normale manier (1). We starten bij de inputunits en eindigen bij de outputunits. Hierna wordt de error in de outputunits behorende bij dit trainingselement berekend. 2. Backpropagation fase: Voor alle units, startend vanaf de outputunits, wordt bepaald in welke mate deze verantwoordelijk zijn voor de error, m.a.w de error propageert terug naar de interne units. Vandaar ook de naam van het algoritme. Definieer: w ij = gewicht van de verbinding van unit j naar unit i net i = de netinput van unit i (zie 2.1) δ j = E net j, de error van unit j A i = {j : w ij }, de verzameling units voorafgaand aan unit i P j = {i : w ij }, de verzameling units volgend op unit j De regel voor het updaten van gewichten (6) herleidt zich tot: w ij w ij + w ij (10) waarin w ij = η E w ij. De afgeleide van de error-functie E naar het gewicht w ij kan berekend worden met behulp van de kettingregel: E w ij = E net i net i w ij (11)

28 Hoofdstuk 2. Artificiële neurale netwerken 17 De eerste factor werd reeds gedefinieerd als δ i, de error van unit i. De tweede factor herleidt zich tot: net i w ij = w ij k A i w ik y k = y j (12) Waaruit volgt: w ij = η δ i y j Om de afgeleide te berekenen moeten we dus de activiteit en de error kennen van alle relevante units in het netwerk. De activaties worden berekend in de feedforward fase, rest dus nog de errors te berekenen. Berekening van de error van unit j: E = 1 (t o y o ) 2 (13) 2 o Voor een output unit o is de error: δ o = t o y o (14) Voor hidden units moet de error terug gepropageerd worden vanuit de outputunits. Via de kettingregel kunnen we de error schrijven in functie van de erop volgende units. δ j = i P j E net i y j (15) net i y j net j De eerste factor binnen de som is de error van unit i, de tweede herleidt zich tot net i y j = y j k A i w ik y k = w ij (16) en de derde factor is de afgeleide van f j, de activatie-functie van unit j y j net j = f j(net j ) net j = f j(net j ) (17)

29 Hoofdstuk 2. Artificiële neurale netwerken 18 Alles samen geeft dit: δ j = f j(net j ) i P j δ i w ij (18) Opmerkingen: Stel dat er n connecties zijn in het netwerk. De feedforward fase, backpropagation fase en het aanpassen van de gewichten vereisen elk O(n) berekeningen. Dus, de complexiteit van het backpropagation algoritme is lineair in het aantal verbindingen. Het trainen wordt best gestopt op een bepaald punt. Overfitting wil zeggen dat dat het netwerk enkel de trainingset goed geleerd heeft, en het niet in staat is te generaliseren naar nieuwe inputs. Eveneens wordt de dimensie van het netwerk best zo laag mogelijk gehouden; hoe hoger de dimensie, hoe meer kans op overfitting. Hogere orde gradient descent-technieken kunnen gebruikt worden om de convergentie te versnellen. Dit leidt echter tot een kwadratische complexiteit O(n 2 ). Backpropagation vindt meestal een lokaal minimum. Om dit te verhelpen kan men gebruik maken van online training of de training herhalen met verschillende initïele gewichten. De gewichten het dichtst bij de outputlaag zijn het eenvoudigst te trainen aangezien hun aandeel in de error direct te meten is. Hoe verder een error terug gepropageerd wordt, hoe moeilijker het wordt de bijdrage van een bepaald gewicht tot deze error te schatten. 2.4 Trainen van recurrente netwerken Het backpropagation algoritme werd reeds toegepast op feedforward netwerken. De feedforward fase vereist dat bij het berekenen van de activatie van unit i alle activaties van units voorafgaand aan unit i reeds gekend zijn. De backpropagation fase vereist dat voor

30 Hoofdstuk 2. Artificiële neurale netwerken 19 het berekenen van de error van een unit j, alle errors van units volgend op unit j reeds berekend zijn. Indien we feedback connecties in het netwerk toelaten worden activaties niet enkel naar een volgende laag gestuurd maar ook naar eerdere lagen, wat resulteert in lussen in het netwerk. Dit betekent dat de activatie van een unit afhankelijk is van de reeds geziene input. Trainingsalgoritmen voor recurrente netwerken moeten in staat zijn de error terug te propageren in de tijd. Simple recurrent networks, een verzameling netwerkstructuren met specifieke recurrente verbindingen, kunnen op een eenvoudige manier worden getraind. De gebruikte techniek wordt beschreven in aan de hand van Elman s simple recurrent network. Een veralgemening ervan, backpropagation through time, wordt in gegeven en een online trainingstechniek, realtime recurrent learning, wordt behandeld in Vooraleer we deze technieken bespreken, moet het netwerkmodel worden uitgebreid om met de notie tijd overweg te kunnen Modelleren van tijd Indien we willen werken met tijd zijn er twee mogelijkheden. Binnen deze thesis werken we met discrete tijdstippen, het continue tijdsmodel wordt niet behandeld. We introduceren dus een discrete tijdsvariabele t. Op elk tijdstip t berekenen alle units hun activatie en deze worden doorgestuurd op tijdstip t + 1. We schetsen hierna het meest algemene geval. Beschouw een recurrent netwerk met m inputunits en n units. We maken hier geen onderscheid meer tussen hidden units en outputunits; het beschreven model laat immers toe willekeurige units als output te specificeren. Er worden eveneens geen voorwaarden opgelegd omtrent de toegelaten verbindingen. Een unit kan dus zowel input krijgen van de inputunits (externe input) als van willekeurige andere units. De regel voor het updaten van activaties (1) herleidt zich tot: m+n y k (t + 1) = f( w kl z l (t)) (k = 1,, n) (19) l=1 Hierin worden voor de eenvoud alle inputs (activaties van inputunits en units) aangeduid

31 Hoofdstuk 2. Artificiële neurale netwerken 20 met z l. Voor l n zal z l (t) de activatie van een unit op tijdstip t zijn; in het andere geval gaat het om een externe input (inputunit) op tijdstip t. Bovenstaand stelsel beschrijft volledig de dynamische werking van het netwerk. Het netwerk wordt gestart uit een initïele starttoestand [y 1 (0),, y n (0)] en op discrete tijdstippen t (t = 0,, T 1) gevoed met een inputsequentie [u 1 (t),, u m (t)]. Het doel van het leren kan nu als volgt verwoord worden: bepaal de parameters w ij zodanig dat de ouputsequentie [y 1 (t),, y n (t)] een gewenst traject [d 1 (t),, d n (t)] volgt. De afwijking van dit traject zal de error-functie van het netwerk bepalen. In sommige gevallen is enkel de finale output van het netwerk belangrijk en wordt de error enkel gemeten op tijdstip T. Hier echter willen een volledig traject volgen, dus moet op elk tijdstip de error worden bepaald. De error op tijdstip t wordt gemeten als het verschil tussen de doel-vector d(t) en de output van het netwerk y(t). In het algemene geval is dit is een n-dimensionale vector. Meestal zijn we echter slechts geïnteresseerd in een aantal units van het netwerk, deze werden voorheen outputunits genoemd. Dit kan bekomen worden via een extra parameter in de definitie van de error-functie. We definiëren de error-functie E als volgt: E = T t=1 n 1 µ k (t) 2 (y k(t) d k (t)) 2 (20) k=1 Via de functie µ k (t) kunnen we specificeren op welke tijdstippen unit k bijdraagt tot E. Dikwijls stelt men µ k (t) = 1 voor outputunits en µ k (t) = 0 voor hidden units. Dit is ook de methode die wij voorheen gebruikten. Het speciale geval waar enkel de finale output op tijdstip T belangrijk is, kan worden bekomen door µ k (T ) = 1 en µ k (t) = 0 (t < T ) te stellen.

32 Hoofdstuk 2. Artificiële neurale netwerken Simple recurrent network Een typisch simple recurrent network is het Elman network genoemd naar de uitvinder ervan, Jeff Elman [10]. Elman gebruikt een 3-lagig perceptron, waarvan de inputlaag uitgebreid wordt met een verzameling contextunits. Figuur 2.7 toont de architectuur van het netwerk. De verwerking van een sequentie inputs verloopt als volgt: Op elk tijdstip t: 1. Inputunits worden gevoed met een nieuwe input. 2. Activaties van hidden units worden berekend uit de inputunits én de contextunits. 3. Activaties van outputunits worden berekend uit de hidden units. De hidden units geven feedback aan de contextunits. 4. De recurrente gewichten zijn gelijk aan 1, deze worden niet getraind. De structuurvereisten voor het backpropagation algoritme zijn voldaan en de overige gewichten kunnen er dus mee getraind worden. De error-functie wordt niet enkel bepaald door de huidige activaties maar eveneens door de activaties op vorige tijdstippen. Aangezien de recurrente gewichten niet worden getraind, zijn op elk tijdstip t de contextunits een exacte kopie van de hidden units op tijdstip t 1. De toestand van de hidden units is dus afhankelijk van de nieuwe input én de voorgaande netwerktoestanden. De contextunits bieden het netwerk een geheugen ; ze onthouden immers de vorige netwerktoestand. Het netwerk zoekt in feite een functie die de huidige input én de vorige netwerktoestand mapt op de gewenste output. Het beschouwt als het ware een input in zijn huidige context.

33 Hoofdstuk 2. Artificiële neurale netwerken 22 Figuur 2.7: Elman s simple recurrent network [10] Elman s simple recurrent networks worden vooral gebruikt voor het herkennen van input sequenties en voor predictie. In [11] toont Elman aan hoe ze kunnen worden gebruikt voor het leren van een context-vrije grammatica s. Een analoge architectuur wordt gebruikt bij Jordan networks, beschreven in [12]. Deze maken ook gebruik van een extra laag contextunits, echter deze zijn op elk tijdstip t een lineaire combinatie van de activaties van de outputunits en de contextunits op tijdstip t 1. De contextunits krijgen dus zowel feedback van de outputunits als van zichzelf, wat resulteert in een geheugen voor het netwerk. Meestal wordt bij deze verbindingen gebruik gemaakt van een parameter α die de lengte van het geheugen bepaalt. Beide technieken behoren tot de klasse der simple recurrent networks; deze netwerken zijn slechts in beperkte mate recurrent wat het trainingsalgoritme vereenvoudigt Backpropagation through time Backpropagation through time, beschreven in [13], [14] en [9], is in feite een veralgemening van bovenstaande techniek. De toestand van het netwerk wordt niet enkel gekopieerd op het voorgaande tijdstip, maar op T voorgaande tijdstippen. Voor elk tijdstip t (t = 1,, T ) moeten we het netwerk uitbreiden met een laag contextunits die een kopie bevatten van de netwerktoestand op dat tijdstip. Het recurrente netwerk wordt als het ware opengevouwd over de verschillende tijdstippen. Het resultaat is een feedforward netwerk bestaande uit

34 Hoofdstuk 2. Artificiële neurale netwerken 23 T lagen die identiek zijn; elke laag is een kopie van het originele netwerk. In figuur 2.8 wordt dit openvouwen toegepast op het recurrente netwerk uit figuur 2.6 voor T = 2. De verbindingen worden geheroriënteerd als volgt: indien in het originele netwerk er een gewicht w ji bestaat, zal in het nieuwe feedforward netwerk unit j in laag (t + 1) input ontvangen van unit i in laag t. De gewichten tussen opeenvolgende lagen en de gewichten van connecties uit de inputunits zijn in elke laag identiek. Het resulterende feedforward netwerk kan worden getraind via backpropagation. De errors kunnen op analoge manier worden berekend, behalve dat de output-errors in elke laag worden gegeven en dus niet enkel in de laatste. De errors worden gegeven door: E n y i (t) = E y j (t + 1) f (x j (t))w ji + µ i (t)(y i (t) d i (t)) (i = 1,, n) (21) j=1 met x i (t) = n+m j=1 w ij z j(t) de netinput en µ i (t) gedefinieerd zoals in (20). Aangezien de error E onafhankelijk is van toestanden t > T wordt de randvoorwaarde voor (21) gegeven door: E y i (T + 1) = 0 (22) De errors kunnen dus teruggepropageerd worden van tijdstip T tot tijdstip 1. Eenmaal de backpropagation fase gedaan, en alle errors dus gekend zijn, kennen we eveneens de afgeleiden van de error-functie naar de gewichten: E w ij = T t=1 en kunnen de gewichten worden geüpdatet via: E y i (t) f (x i (t 1))z j (t 1) (23) w ij w ij η E w ij (24) Opmerking:

35 Hoofdstuk 2. Artificiële neurale netwerken 24 De complexiteit van het algoritme is O(n 2 ), met n het aantal units. Een nadeel van deze techniek is dat er geen online training van de gewichten mogelijk is; de errors moeten immers terugpropageren vanaf tijdstip T vooraleer de gewichten kunnen worden aangepast. Aangezien alle netwerktoestanden moeten bijgehouden worden, is een geheugencapaciteit van O(nT ) vereist. Dit maakt het algoritme minder geschikt voor het gebruik met trainingsets bestaande uit lange inputreeksen. Figuur 2.8: Backpropagation through time toegepast op het recurrente netwerk in figuur Realtime recurrent learning Bij backpropagation through time wordt het netwerk opengevouwd tot een T-laags feedforward netwerk en worden de afgeleiden van de error-functie E berekend in de backpropagation fase. E is slechts afhankelijk van de T voorgaande netwerktoestanden en dus zijn de afgeleiden dit ook. Realtime recurrent learning, beschreven in [13], [14] en [15], maakt het mogelijk de werkelijke afgeleide, afhankelijk van de volledige geschiedenis van het netwerk, te bepalen. Onderstaand algoritme berekent de afgeleiden in een voorwaartse fase op elk tijdstip, wat het geschikt maakt voor online leren. We maken opnieuw gebruik van het meest algemene model zoals beschreven in (2.4.1).

36 Hoofdstuk 2. Artificiële neurale netwerken 25 De error-functie werd gedefinieerd in (20) als de som van de errors op elke tijdstip t (t = 1,, T ), m.a.w. E totaal = T t=1 E(t). Hierin wordt E(t), de individuele error op tijdstip t, gegeven door: E = n 1 µ i (t) 2 (y i(t) d i (t)) 2 (25) i=1 waarin µ i (t) het mogelijk maakt op elk tijdstip te specificeren welke units zichtbaar zijn, m.a.w. als outputunit beschouwd worden. Aangezien de totale error de som is van de individuele errors, zal eveneens de afgeleide ervan de som zijn van de individuele afgeleiden ( w ij (t)). We kunnen de afgeleide dus berekenen door langs het traject de individuele afgeleiden op te tellen. Na het verwerken van de volledige tijdreeks wordt de vector waarmee een gewicht w ij moet worden aangepast dan gegeven door: waarin w ij = T w ij (t) (26) t=1 w ij (t) = η E(t) w ij (27) Via de kettingregel kunnen we de individuele afgeleide schrijven als volgt: E(t) w ij = n i=1 E(t) y k (t) = y k (t) w ij n i=1 e k (t) y k(t) w ij (28) waarin e k (t) = µ k (t)(d k (t) y k (t)) gekend is op elk tijdstip, rest ons dus nog de berekening van y k(t) w ij. Deze term representeert de wijziging in de output van unit k op tijdstip t bij een kleine wijziging van een willekeurig gewicht w ij, en kan berekend worden door afleiding van vergelijking (19) naar dit gewicht. Dit geeft als resultaat: y k (t + 1) w ij = f (x k (t)) [ n l=1 w kl y l (t) w ij + δ ik z j (t) waarin x k (t) de netinput, z j (t) gedefinieerd zoals in (19) en δ ik de Kronecker delta. ] (29)

37 Hoofdstuk 2. Artificiële neurale netwerken 26 Aangezien we aannemen dat de initiële netwerktoestand onafhankelijk is van de gewichten wordt de randvoorwaarde voor (29) gegeven door: Deze gelijkheden gelden voor k, i [1, n] 2, j [1, n + m]. y k (0) w ij = 0 (30) We bekomen dus een n-dimensionaal dynamisch systeem met als dynamische variable ( y 1 w ij,, yn w ij ) en initiële voorwaarde y k w ij = 0 (k = 1,, n). In een voorwaartse fase kunnen de oplossingen ervan bepaald worden, waarna de gewichten kunnen geüpdatet worden via: w ij (t) = η n µ k (t)(d k (t) y k (t)) i=1 y k (t) w ij (31) Bij online training worden de gewichten op elk tijstip t geüpdatet via (31). Bij batch training worden de gewichten constant gehouden gedurende het volledige traject. De vectoren op elk tijdstip worden opgeteld en de aanpassing gebeurt achteraf. Opmerkingen: Jammer genoeg is dit algoritme heel inefficiënt: de complexiteit is O(n 4 ) en een geheugencapaciteit van O(n 3 ) is vereist. Het algoritme wijkt af van het standaard neuraal netwerk -concept als volgt: units hebben toegang tot informatie in het volledige netwerk en dus niet enkel via de inkomende verbindingen. Het effect veroorzaakt door een wijziging in een random gewicht op een random unit wordt berekend, zonder dat deze met elkaar verbonden zijn. 2.5 Reservoir computing Bij recurrente netwerken is de trainingsfase traag wegens de complexiteit van de interactie tussen de units. Het aantal keer dat de inputreeks verwerkt moet worden stijgt exponenti-

38 Hoofdstuk 2. Artificiële neurale netwerken 27 eel met het aantal hidden units. Dit leidt ertoe dat zelfs een klein netwerk veel processortijd vergt. Er wordt dan ook veel onderzoek verricht naar nieuwe technieken om dit training probleem te vermijden. Een veelbelovende tak binnen de recurrente netwerken zijn de reservoir computing technieken waarbij Liquid State Machines en Echo State Networks meer en meer in de belangstelling komen. Typisch bij deze technieken wordt het inputsignaal aangelegd aan een dynamisch systeem, reservoir genoemd. Het reservoir is een recurrent netwerk met een groot aantal units (in vergelijking met standaard recurrente netwerken) waarin de gewogen verbindingen tussen units vast zijn, d.w.z. niet wijzigen gedurende de verwerking van de inputreeks door het netwerk. In plaats van deze gewichten te trainen wordt een uitleesfunctie getraind die de toestand van het reservoir mapt op de gewenste output. Het netwerk doet dienst als vervagend korte termijn geheugen en laat toe dat temporele informatie aanwezig in de input kan onthouden worden. Het belangrijkste voordeel van deze technieken is dat het netwerk enkel getraind wordt via de uitleesfunctie en dit kan gebeuren met efficiënte algoritmen zoals lineaire regressie Liquid State Machines Liquid State Machines (LSM), beschreven in [16], bestaan uit een groot aantal random geconnecteerde units. Elke unit ontvangt tijdsafhankelijke input van de inputunits en andere units. Al deze units berekenen in feite een grote variëteit aan non-lineaire functies van de input. In theorie kan men steeds een lineaire combinatie van deze functies vinden die een willekeurig probleem oplost. Het woord liquid in de naam is afkomstig van de analogie die bestaat met het golvenpatroon dat onstaat na het laten vallen van stenen in een vloeistofoppervlak. Na verloop van tijd zal dit golvenpatroon echter verdwijnen en keert het oppervlak terug naar zijn evenwichtstoestand. Bij input van een tijdreeks in de Liquid State Machine zullen toestanden optreden welke na verloop van tijd weer verdwijnen.

39 Hoofdstuk 2. Artificiële neurale netwerken Echo State Networks Liquid State Machines gebruiken een recurrent spiking netwerk als reservoir. Het continue tijdsgedrag van spiking netwerken sluit dichter aan bij de werking van het menselijk brein. Echo State Networks maken gebruik van een minder complex discrete-tijd sigmoïde netwerk. Echo State Networks worden uitvoerig beschreven in het volgende hoofdstuk en vormen het onderwerp van deze thesis. 2.6 Conclusie De besproken technieken hebben elk hun voor- en nadelen. Feedforward netwerken kunnen via het backpropagation algoritme efficiënt getraind worden en bieden heel wat mogelijkheden. Bij gebruik van een voldoende groot netwerk zijn ze in staat een trainingset bestaande uit vectoren met arbitraire dimensie te classificeren. Indien we echter bepaalde temporele aspecten van de input willen benutten, moeten feedback connecties in het netwerk worden opgenomen. De resulterende netwerken bevatten lussen en kunnen hierdoor niet meer worden getraind via het standaard backpropagation algoritme. We hebben het netwerk-model uitgebreid, zodat het in staat is tijdreeksen te verwerken, en een aantal trainingsalgoritmen besproken. Elk van deze technieken gebruikt gradient descent op de error-functie om het netwerk via z n gewichten aan te passen zodat de error geminimaliseerd wordt. Elman s simple recurrent network berekent een afgeleide van de error in functie van de huidige én de vorige netwerktoestand. Een veralgemening, het backpropagation through time algoritme, maakt het mogelijk de netwerktoestand op een eindig aantal tijdstippen in de afleiding te includeren. Nadelen ervan zijn de vereiste geheugencapaciteit en de kwadratische complexiteit, wat deze techniek enkel geschikt maakt voor kleine netwerken. Via realtime recurrent learning kan de werkelijke afgeleide worden berekend gebaseerd op de volledige geschiedenis van het netwerk. Dit leidt tot goede resultaten en lost de problemen i.v.m. de geheugencapaciteit op. Echter, het algoritme is computationeel heel inefficiënt (O(n 4 )). Ondanks hun inefficiëntie zijn we via deze technieken toch in staat tijdreeksen te analyse-

40 Hoofdstuk 2. Artificiële neurale netwerken 29 ren. In praktijk blijkt het echter heel moeilijk de nuttige aspecten van netwerktoestanden in het verdere verleden in te schatten, m.a.w ze bieden ons slechts een kort geheugen. Dit beperkt de toepassing ervan tot tijdreeksen waarbij de afhankelijkheden slechts terug gaan tot enkele stappen in het verleden. De reservoir computing technieken maken gebruik van een dynamisch systeem bestaande uit een groot aantal units en worden getraind via efficiënte trainingsmethoden. Binnen deze thesis wordt onderzocht hoe we deze efficiëntie kunnen uitbuiten voor het analyseren van arbitraire tijdreeksen.

41 Hoofdstuk 3 Echo State Networks Echo State Networks werden voor het eerst beschreven in [1] en [13]. Dit artikel beschrijft de meest algemene structuur van het netwerk, het trainingsalgoritme, en geeft eveneens de wiskundige bewijzen waarop wordt gesteund om tot de echo state eigenschap te komen. 3.1 Netwerk architectuur Hierna volgt de beschrijving van de meest algemene vorm van een Echo State Network zoals beschreven in [1]. We maken gebruik van een recurrent neuraal netwerk waarin 3 groepen van units worden onderscheiden: inputunits: hieraan voeden we de input van ons probleem reservoir units: vormen samen het dynamisch reservoir outputunits: hieruit lezen we het resultaat af De activaties van deze units variëren in de tijd. Om de toestand van het netwerk te beschrijven op een bepaald tijdstip n maken we gebruik van de vectornotatie. u(n) = [u 1 (n),..., u K (n)], x(n) = [x 1 (n),..., x N (n)] en y(n) = [y 1 (n),..., y L (n)] duiden respectievelijk de toestand van input, reservoir en outputunits aan op tijdstip n. 30

42 Hoofdstuk 3. Echo State Networks 31 Zoals gebruikelijk worden de gewichten (reële waarden) van de verbindingen tussen units bijgehouden in matrices. Deze matrices spelen een belangrijke rol bij de werking van het netwerk. We onderscheiden 3 matrices: W in : connecties tussen inputunits en het reservoir W : connecties tussen units van het reservoir W out : connecties tussen inputunits, reservoir en outputunits W back : feedback van de outputunits naar het reservoir W in is een N K matrix, W een N N matrix en W back een N L matrix. In het meest algemene geval is W out een L K + N + L matrix. Het zijn deze gewichten die getraind zullen worden, welke units er een invloed op hebben wordt bepaald door de dimensie van deze matrix. Welke van deze verbindingen worden gebruikt hangt af van het op te lossen probleem. Niet alle verbindingen worden altijd gebruikt, zo zal er bv. enkel gebruik worden gemaakt van de W back matrix indien feedback van de output aan het netwerk gewenst is. Figuur 3.1 toont de meest algemene structuur van een Echo State Network, gestippelde pijlen wijzen op verbindingen die optioneel zijn. Figuur 3.1: Meest algemene structuur van een Echo State Network zoals beschreven door H. Jaeger. [1]

43 Hoofdstuk 3. Echo State Networks 32 Op elk nieuw tijdstip worden nieuwe waarden aangelegd aan de inputunits. Activaties van reservoir units worden geüpdatet via: x(n + 1) = f(w in u(n + 1) + W x(n) + W back y(n)) (1) Meestal wordt gewerkt met sigmoïde units en zal f de hyperbolische tangens functie (tanh) zijn. Echter, andere vormen zijn mogelijk; wanneer bv. een lineair netwerk gebruikt wordt zal f de identiteitsfunctie zijn. Activaties van outputunits worden geüpdatet via: y(n + 1) = f(w out [u(n + 1), x(n + 1), y(n)]) (2) Hierin is [u(n+1),x(n+1),y(n)] de concatenatie van de input, reservoir en output toestandsvectoren. Deze formules zijn opnieuw de meest algemene formules en herleiden zich tot eenvoudigere vormen indien bv. geen feedback gebruikt wordt. 3.2 Echo state eigenschap Het echo state principe werd reeds onafhankelijk onderzocht in [16]. In dat artikel ligt de nadruk op continue-tijd netwerken (Liquid State Machines) in plaats van discrete-tijd netwerken hier gebruikt. In [1] worden verschillende equivalente karakterisaties van de echo state eigenschap gegeven alsook de erbij horende wiskundige bewijzen. Intuïtief kan men deze eigenschap als volgt verwoorden: na het verwerken van een lange (bij definitie oneindige) inputreeks zal de huidige toestand van het netwerk uniek bepaald worden door deze inputreeks. M.a.w. de huidige netwerktoestand x(n) = E(..., u(n 1), u(n)) (3) is een functie E = (e 1,..., e n ) van de input geschiedenis. De e i s worden de echo functies genoemd. Equivalent geldt dat indien we starten van twee verschillende toestanden en het netwerk gevoed wordt met dezelfde inputreeks, de resulterende netwerktoestanden naar

44 Hoofdstuk 3. Echo State Networks 33 elkaar convergeren. M.a.w. de initiële netwerktoestand wordt vergeten en de huidige netwerktoestand wordt enkel bepaald door de input geschiedenis (dit is de zogenaamde state forgetting eigenschap). In beide karakerisaties werd gebruik gemaakt van het vereenvoudigde netwerk zonder output feedback. In het algemene geval, zal de huidige toestand niet enkel afhangen van de inputreeks, maar tevens van de output die via de feedback connecties terug aan het reservoir gevoed wordt. Het al dan niet optreden van echo states zal enkel afhangen van een aantal wiskundige eigenschappen van de W matrix (zie 3.3.1). 3.3 Werking Zoals reeds aangehaald zal het reservoir de echo state eigenschap bezitten indien de gewichtenmatrix W voldoet aan een aantal wiskundige eigenschappen. Zonder in detail te treden wordt in een opsomming gegeven van deze eigenschappen (zie [1] voor de erbijhorende wiskundige bewijzen). Na constructie van het dynamisch reservoir kan het netwerk getraind worden (zie 3.3.2). In een eerste fase voeden we het netwerk met een reeks input/output paren (supervised learning). Deze data (teacher data) gebruiken we in de tweede fase om het netwerk te trainen. Hierna is het netwerk in staat de teacher data min of meer exact te reproduceren en hopen we dat het netwerk eveneens in staat is nieuwe inputs op de gewenste output te mappen (generalisatie). ESNs onderscheiden zich van de in (2.4) besproken gradient based technieken omdat enkel de gewichten naar de outputunits worden getraind. Dit gebeurt meestal via lineaire regressie, waarvoor efficiënte algoritmen voorhanden zijn. In wordt een intuïtieve verklaring voor de werking van ESNs gegeven Constructie van het netwerk De enige gewichten die getraind worden zijn deze van het netwerk naar de outputunits. De overige gewichten worden bij constructie vastgelegd en wijzigen niet gedurende de werking van het netwerk. Constructie van het netwerk houdt dus in dat we de W in, W en W back

45 Hoofdstuk 3. Echo State Networks 34 matrices configureren op een zodanige manier dat het bekomen netwerk de echo state eigenschap zal bezitten. Het al dan niet bezitten van deze eigenschap zal enkel afhangen van de W matrix (zie [1]). De W in matrix bepaalt de invloed van de input op het reservoir, meer bepaald de snelheid waarmee de nieuwe input er invloed op uitoefent. Analoog bepaalt de W out matrix de invloed van de feedback op het reservoir. Een bijkomende voorwaarde voor het goed functioneren van het netwerk is dat het reservoir een gevarieerde collectie signalen moet bieden (deze units worden gebruikt om de gewenste output mee te benaderen). Volgende stappen zijn niet bewezen, maar leiden tot een netwerk met de gewenste eigenschappen: 1. Initialiseer de W matrix met random waarden (W 0 ). Opdat het reservoir een grote variëteit aan signalen zou bieden volstaat het dat W 0 schaars gevuld én in evenwicht is. Dit leidt tot een reservoir met beperkte connectiviteit waarvan de gemiddelde waarde van de gewichten ongeveer nul is. 2. Normaliseer W 0 tot een matrix W 1 waarvan de grootste eigenwaarde (spectral radius) de eenheid is. W 1 = 1 λ max W 0 met λ max = spectral radius W Schaal W 1 tot W = α W 1 met α < 1, zodat spectral radius W = α. De parameter α bepaalt de snelheid van het dynamisch reservoir. Deze wordt meestal via experimenteren bepaald. 4. Initialiseer W in en W back met random waarden. Grote W in waarden leiden tot een sterke invloed van de input op het reservoir, analoog voor W back. Figuur 3.2 toont een plot van de toestand van enkele units uit een reservoir geconstrueerd volgens de opgesomde stappen. Het reservoir start vanuit een arbitraire toestand en wordt verder niet geprikkeld door nieuwe input. We zien duidelijk dat de activaties snel convergeren naar de evenwichtstoestand. We spreken van een damped reservoir. Deze eigenschap zorgt ervoor dat het netwerk de echo state eigenschap bezit.

46 Hoofdstuk 3. Echo State Networks 35 Figuur 3.2: De damping eigenschap van het reservoir. (Bron: eigen implementatie, plot bekomen met behulp van Matlab) Trainingsalgoritme Opmerking: in het algoritme gebruiken we opnieuw het meest algemene geval, m.a.w. alle connecties én feedback zijn aanwezig (zie Figuur 3.1). Indien een vereenvoudigde architectuur wordt gebruikt, zal de dimensie van de M en T matrices verschillen. Stap 1. Sampling: 1. Initialiseer het netwerk, vb. de nultoestand x(0) = Update het netwerk met de teacher data via (1). Hierbij worden de activaties van de outputunits niet berekend maar worden deze ingevuld (teacher forced). 3. Verzamel de netwerktoestand (input en reservoir units) op de verschillende tijdstippen in een toestandsmatrix M, waarbij rekening gehouden wordt met een washout tijd nodig om de arbitraire starttoestand te vergeten. 4. Analoog wordt de output bewaard in een toestandsmatrix T op dezelfde tijdstippen. Stap 2. Berekening van de output gewichten: 1. Vermenigvuldig de pseudo-inverse van M met T. We bekomen een (K + N + L) L matrix met in kolom i de output gewichten van alle units naar het i-de output unit. (W out ) t = M 1 T (4)

47 Hoofdstuk 3. Echo State Networks 36 Elk numeriek algebra pakket heeft geoptimaliseerde procedures voor berekening van de pseudo-inverse matrix. 2. Uit (W out ) t volgt de W out matrix met de gezochte gewichten. Stap 3. Exploitatie: Het netwerk is nu klaar voor gebruik met nieuwe inputs. Reservoir en outputunits worden geüpdatet via (1) en (2) Verklaring Waarom werkt dit alles? Wat we eigenlijk doen is een bepaald dynamisch systeem benaderen als lineaire combinatie van signalen. Het dynamisch reservoir werd zodanig geconstrueerd dat de activaties van deze units hiervoor geschikt zijn. Deze zogenaamde echo functies zijn afhankelijk van de input en/of output geschiedenis. x i (n) e i (..., u(n 1), y(n 2), u(n), y(n 1)) (5) Via de constructievoorwaarden krijgen we dus een collectie van signalen die bepaalde eigenschappen van de input en/of output signalen bevatten en toch onderling sterke variaties vertonen. Het is hierdoor logisch dat deze signalen een goede basis vormen voor de benadering van het gewenste outputsignaal, ze zijn er immers een echo van. Verder beschikken we over een aantal vrijheidsgraden waarmee we het gedrag van het netwerk kunnen beïnvloeden. Zo kunnen we bv. de snelheid waarmee het netwerk leert en vergeet aanpassen, alsook de tijdsduur dat het netwerk een bepaalde input onthoudt ( geheugencapaciteit). Experimenteren met deze parameters blijkt noodzakelijk en leidt soms tot eigenaardige resultaten. 3.4 Toepassingen Echo State Networks werden reeds succesvol gebruikt in heel uiteenlopende problemen. In [1] worden een aantal abstracte voorbeelden gegeven. ESNs blijken in staat een perio-

48 Hoofdstuk 3. Echo State Networks 37 dieke sequentie te leren (single/multiple attractor) en ze presteren beter dan alternatieve methoden in de predictie van chaotische tijdreeksen (Mackey Glass). Een toepassing van predictie van tijdreeksen binnen het telecommunicatie domein wordt beschreven in [17]. Binnen het veld van de robotica werden ESNs succesvol toegepast bij motor controle [18]. ESNs zijn in staat de grammaticale structuur te ontdekken van een eenvoudige context vrije grammatica. In [19] worden ze vergeleken met Elman s simple recurrent network (zie 2.4.2) en blijken hierin evengoed te presteren ondanks hun veel efficiëntere trainingsalgoritme. In [20] worden ze vergeleken met een hidden Markov model en bewijzen ze hun nut binnen het veld van de spraaktechnologie. Al deze toepassingen tonen aan dat Echo State Networks een veelbelovende techniek is...

49 Hoofdstuk 4 Java implementatie Vooraleer we de classificatie-mogelijkheden van Echo state networks onderzoeken, wordt eerst een Java-implementatie uitgewerkt van algemene ESNs zoals beschreven in [1] en [13]. De implementatie van de meest algemene architectuur wordt besproken in Er wordt een overzicht gegeven van de belangrijkste klassen en de algemene werking wordt verklaard. Echter, deze werking, en de weerspiegeling ervan in de toestanden van netwerk, wordt bepaald door een groot aantal parameters; dit maakt de interpretatie van de resultaten niet eenvoudig. Ten einde de werking van ESNs beter te begrijpen, werden eveneens een aantal vereenvoudigde configuraties geïmplementeerd. In wordt een netwerk zonder inputunits en één enkel outputunit gebruikt. Dit netwerk blijkt in staat een periodieke sequentie, meer bepaald een sinusgolf, te leren. De bekomen resultaten worden vergeleken met de resultaten bekomen in [13]. In maken we gebruik van een netwerk zonder outputunits en slechts één inputunit. Dit netwerk wordt gebruikt om via een aantal testen de geheugencapaciteit van het netwerk te onderzoeken. We onderzoeken dus wat het korte termijn geheugen van het netwerk is. In [13] werd reeds een bepaalde techniek besproken om dit te testen. Een alternatieve benadering wordt onderzocht en de resultaten worden besproken in

50 Hoofdstuk 4. Java implementatie Algemeen ESN FullEsn: de meest algemene architectuur Het gebruikte model wordt weergegeven in figuur 4.1. Hierin wordt onderscheid gemaakt tussen de twee belangrijkste fasen in het algoritme; uitleg hierover volgt na de bespreking van de gebruikte basisklassen. Het afgebeelde netwerk maakt gebruik van twee inputunits en twee outputunits, de waarde van outputunit 1 op tijdstip t wordt aangeduid als O 1 (t). Opmerking: in de meest algemene architectuur zijn alle verbindingen aanwezig. Alvorens de werking van de hoofdklasse te behandelen volgt een korte uitleg bij de belangrijkste klassen die hierin gebruikt worden. De naamgeving sluit aan bij deze gebruikt in de figuur. Namen van variabelen en methoden zoals deze voorkomen in de code, worden in het Typewriter lettertype weergegeven. De gebruikte basisklassen: 1. De units: De waarden van de units zijn van het type double. Het algoritme vereist dat de waarden van alle units, m.a.w. zowel voor input-, reservoir als outputunits, worden bijgehouden. Hiervoor werd een klasse StateCollector ontwikkeld die voor elk type units kan worden gebruikt. Zoals de naam aangeeft, kan een object van deze klasse worden gebruikt voor het bijhouden van de toestand van bepaalde units op verschillende tijdstippen (states). De verzameling waarden behorende bij alle units uit deze collectie, op een bepaald tijdstip, kan worden opgevraagd. Dit wordt binnen de code aangeduid als een toestandsvector (svec). De klasse voorziet methoden voor het raadplegen en instellen van deze toestandsvectoren. De eigenlijke waarden worden bijgehouden in een matrix van doubles, met als rijen de units, en kolommen de verschillende tijdstippen. De waarden worden dus als het ware opgeslagen zoals in figuur 4.1. De toestandsvector op tijdstip t wordt gebruikt in de berekening van de

51 Hoofdstuk 4. Java implementatie 40 toestandsvector op tijdstip t + 1. Eveneens is een deel van al deze vectoren nodig in de berekening van de gezochte outputgewichten. Via deze klasse worden alle nodige vectoren eenvoudig toegankelijk vanuit de gebruikte Esn-klasse. De klasse FullEsn maakt gebruik van 4 dergelijke objecten: incollector: De collectie van inputunits (aantal: insize). Deze bevatten op elk tijdstip de overeenkomstige waarden uit de input-tijdreeksen. reservoir: De collectie van reservoir units (aantal: ressize), het zogenaamde dynamisch reservoir (DR). Het is deze matrix die ons op één of andere manier in staat moet stellen de dynamica van het systeem op te vangen. outcollector: De collectie van outputunits (aantal: outsize). Gedurende de sampling-fase bevatten deze units de overeenkomstige waarden uit de outputtijdreeksen. Tijdens de exploitatie-fase worden deze waarden berekend en wijken ze dus af van de teacher-data. Net om deze reden wordt gebruik gemaakt van nog een extra StateCollector-object, nl. outseries, dat de originele outputtijdreeksen bewaart. Dit is nodig aangezien we in een later stadium de afwijking op deze reeksen willen berekenen. Verder bevat de klasse ook een aantal print- en write-methoden die het mogelijk maken de matrix (of een gedeelte ervan) uit te printen of te bewaren. Als laatste vermeld ik de update-methode; deze wordt enkel gebruikt in een bepaalde testklasse (zie later) en wordt dus niet rechtstreeks gebruikt vanuit de Esn-klassen. 2. De gewichtsmatrices: Het model maakt gebruik van vier type s gewichtsmatrices. Voor de implementatie hiervan werd gebruik gemaakt van het factory pattern design. Elk type matrix wordt verkregen via de overeenkomstige get-methode in de klasse MatrixFactory. Win: Deze ressize insize matrix bevat de gewichten van de verbindingen tussen inputunits en reservoir units. Bij constructie kan de gewenste connec-

52 Hoofdstuk 4. Java implementatie 41 tiviteit opgegeven worden; dit is het percentage niet-nul gewichten binnen de matrix. Gewichten worden random gekozen in het interval [ 1, 1], indien anders gewenst kan de constructor worden aangepast. Zo zouden gewichten met een gelijke probabiliteit 1 of 1 kunnen gesteld worden; de experimenten toonden aan dat dit de performantie niet verandert. Wback: Deze klasse is analoog aan de vorige; de matrix bevat de gewichten van de verbindingen tussen reservoir units en outputunits, m.a.w. de backprojection gewichten, en is dus een ressize outsize matrix. De connectiviteit kan gekozen worden en gewichten worden in het [ 1, 1] interval gekozen. Wres: Deze matrix is veruit de belangrijkste. Opdat het netwerk de echo state eigenschap zou bezitten, moet deze matrix aan een aantal eigenschappen voldoen. Deze werden reeds beschreven in 3.3.1, en de implementatie van deze klasse volgt dezelfde werkwijze. Bij constructie worden als parameters de dimensie, de gewenste spectrale radius en de connectiviteit van deze vierkante ressize ressize matrix opgegeven. Verder bevat de klasse nog enkele methoden zoals expectedupdatestozero die later verklaard zullen worden bij het behandelen van de geheugencapaciteit van het netwerk. Wout: Deze matrix verschilt van de vorige aangezien hij bij constructie niet ingevuld wordt. De gezochte outputgewichten worden pas na de sampling-fase berekend en in deze matrix gestopt. Bij constructie worden dus enkel de dimensies vastgelegd. De eigenlijke waarden worden door de bovenliggende Esn-klasse berekend en ingevuld. In het meest algemene geval (alle verbindingen aanwezig) zal dit een outsize insize+ressize+outsize matrix zijn. 3. De tijdreeksen: Voor de overzichtelijkheid worden voor de input- en output-tijdreeksen objecten van het type timeseries gebruikt. Deze klasse bevat o.a. methoden voor het opvragen, wijzigen en printen van elementen van de gebruikte tijdreeksen.

53 Hoofdstuk 4. Java implementatie 42 Figuur 4.1: Het gebruikte ESN model: meest algemene architectuur. Alle verbindingen zijn aanwezig. Het netwerk beschikt over twee input- en outputunits.

54 Hoofdstuk 4. Java implementatie 43 De manier van werken met de hoofdklasse FullEsn is rechtstreeks afleidbaar uit het model. Ter verduidelijking van de code volgt een opsomming van de verschillende stappen nodig bij het gebruik ervan. De belangrijkste methoden worden bij elke stap vermeld. Werking van de hoofdklasse: 1. Constructie van het netwerk: De volledige configuratie van het netwerk wordt gespecificeerd via de parameters van de constructor. Deze bepalen hoeveel units van elk type er worden gebruikt, wat de aanwezige verbindingen zijn en wat de eigenschappen van de gewichtsmatrices zijn. Hierna volgen een aantal stappen die het netwerk klaar maken voor gebruik: initialisatie van de StateCollectors via initstatecollectors initialisatie van de gewichtsmatrices via initweightmatrices klaarzetten van de input- en/of outputreeksen via setinseries en setoutseries Het algoritme vereist dat we gebruik maken van twee verschillende modes. In de ene mode (teacher forced) zal het netwerk de originele teacher-data gebruiken terwijl in de andere de outputwaarden berekend worden. Aangezien de volgende fase vastligt, wordt het netwerk altijd gestart in teacher-forced mode (setforcemode). 2. Sampling fase: In deze fase wordt de teacher-data door het netwerk verwerkt. Stapsgewijs worden via formule 1 de opeenvolgende toestandsvectoren van het reservoir berekend (step). Tijdens deze fase worden de outputwaarden niet berekend maar rechtstreeks ingevuld door de methode forceoutcollector.via de StateCollector objecten zijn de benodigde toestandsvectoren (u(t), x(t), y(t 1)) op elk tijdstip beschikbaar; de gewichtsmatrices zijn via de overeenkomstige klassen toegankelijk. De huidige toestand (currstate) wordt verhoogd en de nieuwe toestand van het reservoir wordt berekend in updatereservoir. De methode evolve roept simpelweg step een aantal keer.

55 Hoofdstuk 4. Java implementatie Berekening van de outputgewichten: Afhankelijk van de aanwezige verbindingen worden de benodigde toestandsvectoren verzameld in de matrix M. De T matrix wordt ingevuld met de gewenste output-waarden. De methode computewout krijgt als parameters de indices van de eerste en laatste te gebruiken toestand voor de berekening van de outputgewichten. Dit laat toe een initiële periode, de zogenaamde washout time, te skippen. De eigenlijke berekening van de regressiegewichten gebeurt door het berekenen van een pseudo-inverse matrix van M. Het is in deze methode dat de Wout matrix ingevuld wordt. De terugkeerwaarde van computewout is een array die de gemiddelde kwadratische fouten (mse s) over de gespecificeerde periode bevat, behorende bij de verschillende outputunits. Opmerking: in de figuur worden alle tijdstippen (1... T) gebruikt. Voor de overzichtelijkheid van de figuur werd hier geen rekening gehouden met een washout periode. 4. Exploitatie fase: De gewichten werden berekend, het netwerk kan nu worden gebruikt om de outputwaarden te gaan voorspellen. Het netwerk wordt hiervoor in predictmode gebracht. Dit leidt ertoe dat bij het updaten van het reservoir de methode forceoutcollector vervangen wordt door de methode updateoutcollector. De bekomen waarden wijken vanaf dit punt af van de originele teacher-data, dit is net de reden waarom een extra StateCollector object (outseries) gebruikt wordt om de originele data te bewaren. De efficiëntie van de predictie kan berekend worden met behulp van de methode computemse. Dit geeft als resultaat een vector met de mse s over de verschillende outputunits, uitgemiddeld over de gewenste periode. Eveneens voorziet de klasse in een writeesn methode, die de volledige toestand van het netwerk (matrices, StateCollectors, M en T matrix) uitschrijft.

56 Hoofdstuk 4. Java implementatie Vereenvoudigde architecturen De hierna volgende vereenvoudigde architecturen kunnen eveneens bekomen worden uit het algemene geval door bij constructie de verschillende parameters correct in te stellen. Echter, de volgende twee typische configuraties worden gescheiden gehouden van het algemene geval. Dit vereenvoudigt het debuggen en verhoogt de performantie van de berekeningen doordat niet steeds op alle mogelijke configuraties moet worden getest OutputEsn: leren van een periodieke sequentie Bij netwerken van dit type worden geen inputunits gebruikt. De te leren data wordt in de outputunits ingevoerd en via de backprojection-gewichten aan het reservoir gevoed. Dit vermindert het aantal vrije parameters en vereenvoudigt de update- en compute-methoden. Een aantal vrijheidsgraden is nog steeds beschikbaar en deze worden analoog ingesteld. We beschouwen hierna het specifieke geval van een netwerk met slechts één outputunit. Dit netwerk wordt gebruikt voor het leren van een periodieke sequentie, nl. een sinusgolf. Dit werd eveneens gedaan in [13]; we kunnen de bekomen resultaten dus vergelijken. De naam van de testklasse met de bijbehorende main-methode is PeriodicSequenceLearner. Specificaties van de testklasse: aantal reservoir units: 20 aantal outputunits: 1 connectiviteit van de Wres gewichtsmatrix: 0.2 spectral radius van de Wres gewichtsmatrix: 0.8 connectiviteit van de Wback gewichtsmatrix: 0.2 aantal tijdstippen gebruikt voor sampling: 300 tijdsduur initiële washout periode: 100

57 Hoofdstuk 4. Java implementatie 46 aantal tijdstippen gebruikt voor exploitatie: 50 Het netwerk wordt gestart in de nul-toestand en de outputunit wordt gevoed met de sinusgolf sin(x/4)/2. Tabel 4.1 toont de resultaten van tien opeenvolgende runs van het netwerk. De linker kolom bevat de training error: dit is de mse over het interval [101, 300]. Deze wordt berekend door de toestandsvectoren van het reservoir op deze tijdstippen te vermenigvuldigen met de verkregen outputgewichten. De mse is dan de som van de verschillen tussen de originele sinusgolf en de bekomen waarden. In de berekening wordt de initiële washout periode geskipt; dit is nodig aangezien gestart wordt uit de nul-toestand en de eerste states dus logischerwijs een grote fout vertonen. De rechter kolom bevat de test error: dit is de mse over het interval [301, 350]. laatste rij in de tabel bevat de resultaten die behaald werden in [13]. Tabel 4.1: PeriodicSequenceLearner: train en test errors run MSE train MSE test E E E E E E E E E E E E E E E E E E E E E E-12

58 Hoofdstuk 4. Java implementatie 47 Bespreking van de resultaten: Uit de bekomen resultaten kunnen we afleiden dat het netwerk niet altijd in staat is de sinusgolf te leren. Om de resultaten te kunnen analyseren moeten we de inwendige toestand van het reservoir bekijken. We onderscheiden een aantal gevallen: runs : Het netwerk is erin geslaagd de sinusgolf te leren. De resultaten evenaren deze behaald in [13]. Figuur 4.2 plot de interne toestand van de units van het reservoir gedurende het tijdsinterval [200, 350]. De originele teacher-data, m.a.w. de te leren sinusgolf, wordt weergegeven in de laatste grafiek. We zien duidelijk dat de signalen binnen het reservoir dezelfde periodieke eigenschappen vertonen als de originele sinusgolf. De gevonden outputgewichten bepalen de lineaire combinatie van deze echo-functies die de sinusgolf zo goed mogelijk benaderen. Ook na tijdstip 300 blijven de periodieke eigenschappen aanwezig en zal de resulterende output zo goed als samenvallen met de originele curve.

59 Hoofdstuk 4. Java implementatie 48 Figuur 4.2: MSE train en MSE test van de orde E-10: het netwerk genereert de sinusgolf erg nauwkeurig gedurende de eerste 50 exploitatie-stappen. run 7: Ook al zijn de training en test error enkele ordes groter, toch blijkt het netwerk nog steeds tamelijk goed in staat de sinusgolf te genereren. De laatste grafiek in figuur 4.3 plot de gegenereerde sinusgolf waarbij vanaf tijdstip 300 de waarden berekend werden. Wanneer we naar de interne signalen kijken, valt op dat na tijdstip 300 de periodiciteit van de signalen afneemt; er komt als het ware een soort van ruis op de signalen. Bij bepaalde signalen is de afwijking op sommige tijdstippen aanzienlijk groot. Dit resulteert in een error op de sinusgolf; deze is echter nog beperkt gedurende de eerste 50 exploitatie-stappen. We kunnen dit als volgt verklaren: De regressie is minder nauwkeurig, wat leidt tot fouten in het gegenereerde signaal. Deze fouten

60 Hoofdstuk 4. Java implementatie 49 vloeien via backprojection terug in het reservoir. Wanneer de fouten klein genoeg zijn blijft het effect ervan op de interne signalen beperkt; de signalen blijken in staat de periodiciteit al dan niet volledig te herstellen. Dit is een gevolg van de damping eigenschap van het reservoir: de signalen vergeten als het ware de fouten uit het verleden. Figuur 4.3: MSE train en MSE test van de orde E-5: het gegenereerde signaal wijkt lichtjes af van de originele sinusgolf. run 9: Hier is de training error laag maar de test error heel hoog. We zien dat alle interne signalen reeds kort na de start van de exploitatie sterke afwijkingen

61 Hoofdstuk 4. Java implementatie 50 vertonen. De resulterende error op het outputsignaal wordt in elke stap terug het reservoir ingestuurd en het netwerk blijkt niet meer in staat de periodiciteit terug te herstellen. Dit komt doordat te veel units op hetzelfde tijdstip reeds een te grote error bevatten. Deze units beïnvloeden elkaar waardoor errors geaccumuleerd worden en het volledige systeem verstoord wordt. Figuur 4.4: Accumulatie van de errors leidt tot sterke fluctuatie van de interne signalen en van het hieruit berekende signaal. Het netwerk is niet in staat de sinusgolf te leren.

62 Hoofdstuk 4. Java implementatie 51 Opmerkingen: Bovenstaande resultaten werden behaald bij het gebruik van een reservoir met 20 units. We kunnen de performantie verhogen door een groter aantal interne units te gebruiken. Dit leidt tot de volgende resultaten: Het netwerk blijkt nu steeds in staat de sinusgolf te leren. Gevallen zoals run 9 komen nu niet meer voor. Dit komt doordat de interne units afhankelijk zijn van een groter aantal andere units. Fouten in enkele van die units worden afgezwakt door de niet gecorrupteerde units. Wanneer we de exploitatie-fase verlengen naar bv. 100 tijdstippen, stijgt de test error aanzienlijk. Dit wijst op een instabiliteit van het gegenereerde signaal. Bij gebruik van een groter reservoir wordt dit probleem verholpen. Zo zal een netwerk van 1000 units makkelijk de sinusgolf genereren gedurende een extra 500 tijdstippen. Het reservoir moet een voldoende variëteit aan signalen bieden: indien alle interne signalen heel dicht rond nul fluctueren (vb ) zullen de errors die via W back terug het reservoir invloeien grote afwijkingen op de periodiciteit veroorzaken wat leidt tot een stijgende fout in het gegenereerde signaal. Bij gebruik van een reservoir met een klein aantal units (vb. 10) bestaat de kans dat sommige units niet verbonden zijn met andere units of inputunits. Hierdoor blijven deze units nul gedurende de werking van het netwerk, wat het aantal bruikbare signalen dus beperkt. Conclusie: Het gebruikte netwerk blijkt bijna altijd in staat de sinusgolf te leren. Wanneer de interne signalen erin slagen hun periodiciteit te bewaren, blijft het gegenereerde signaal stabiel. In bepaalde gevallen lukt dit niet en zorgt een accumulatie van errors voor fluctuatie van de interne signalen, wat resulteert in fluctuatie van het outputsignaal. De werking van het netwerk wordt bepaald door een groot aantal random factoren. Het al dan niet

63 Hoofdstuk 4. Java implementatie 52 slagen hangt af van de de gebruikte gewichtsmatrices W res en W back en van de berekende outputgewichten. De gewichtsmatrices worden geïnitialiseerd met random waarden (met bepaalde eigenschappen). De outputgewichten worden berekend als een pseudo-inverse matrix van de M matrix en zijn dus ook deels random. Het is net de combinatie van al deze waarden die verantwoordelijk is voor het al dan niet optreden van fluctuatie, en dus het slagen of falen van de leer-taak InputEsn: de geheugencapaciteit van het DR We gebruikten deze klasse om meer inzicht te krijgen in de eigenschappen van het reservoir. Via een aantal tests werd de capaciteit van het geheugen, en de mate waarin de verschillende parameters er een invloed op hebben, onderzocht. De corresponderende code bevindt zich in de klasse ResMemoryTest. Test1: In hoofdstuk 3 werd reeds van de damping eigenschap van het reservoir gesproken. Dit is een noodzakelijke eigenschap opdat het netwerk de echo state eigenschap zou bezitten. Het komt erop neer dat de interne toestand van het reservoir naar nul moet convergeren indien het niet gevoed wordt met één of meerdere inputsignalen. Figuur 3.2 werd bekomen via de methode dampingreservoireffect. De klasse W res werd voorzien van een methode expectedupdatestozero waarmee de reeds gekende ([1]) invloed van de connectiviteit en de spectral radius op de damping factor bevestigd werd. Test2: In [13] werd reeds een methode besproken om de geheugencapaciteit van het reservoir te testen. De auteur doet dit door een outputunit te leren een inputwaarde uit het verleden te herhalen. Wanneer de error op deze outputunit te groot is, zal de geziene input vergeten zijn door het netwerk. Deze waarde beschouwt men als de geheugencapaciteit van het reservoir. Een alternatieve methode kan als volgt worden samengevat: 1. Creëer een intputreeks: dit is noodzakelijk een niet-periodieke reeks net omwille van

64 Hoofdstuk 4. Java implementatie 53 de echo state eigenschap. 2. Creëer een random netwerk dat voldoet aan de gekende eisen. 3. Start hetzelfde netwerk in 2 verschillende starttoestanden. 4. Vergelijk op tijdstippen 1..T de interne toestand van het reservoir. De bekomen resultaten zijn afhankelijk van de gekozen nauwkeurigheid, m.a.w. de precisie waarmee beide resulterende toestandsvectoren aan elkaar gelijk zijn. Wanneer op een bepaald tijdstip de bekomen toestandsvectoren gelijk zijn, is deze interne toestand niet meer afhankelijk van de initiële starttoestand. De resulterende toestand bevat dus geen informatie meer die aanwezig was in de initiële toestand. De starttoestand is als het ware vergeten. Opmerkingen: De bekomen resultaten blijken onafhankelijk van de gebruikte inputreeks. Een grotere connectiviteit van de W in matrix leidt tot sneller convergeren naar de gewenste toestand. De invloed van de inputreeks op de interne toestand van het reservoir vergroot, de geheugencapaciteit van het reservoir verkleint. Analoog resultaat treedt op bij het gebruik van grotere absolute waarden in de W in matrix. Netwerk met een grote geheugencapaciteit vereist => lage W in connectiviteit en lage W in waarden gebruiken. 4.3 Conclusie In dit hoofdstuk werd de meest algemene architectuur, zoals beschreven in [1], geïmplementeerd. Via een eerste vereenvoudigde configuratie werd de implementatie getest en vergeleken met de resultaten behaald in [13]. Een tweede vereenvoudiging verschafte ons meer inzicht in de werking van het dynamisch reservoir, meer bepaald in de geheugencapaciteit ervan. In wat volgt gaan we op zoek naar de classificatiemogelijkheden van Echo State Networks.

65 Hoofdstuk 5 Classificatie van tijdreeksen De algemene architectuur van echo state networks, zoals beschreven in hoodstuk 3 en geïmplementeerd in hoofdstuk 4, werd reeds succesvol gebruikt bij een grote variëteit aan taken. In bijna al deze gevallen komt het eigenlijke probleem neer op de voorspelling van een aantal toekomstige waarden; de zogenaamde predictieproblemen. In wat volgt onderzoeken we of ESN s eveneens kunnen aangewend worden voor het oplossen van classificatieproblemen. Deze problemen kunnen als volgt worden omschreven. Stel dat we beschikken over een verzameling tijdreeksen, en dat deze kan onderverdeeld worden in een aantal congruente deelverzamelingen. Elke tijdreeks behoort tot één van deze deelverzamelingen, de klassen genaamd. Van een aantal tijdreeksen, de testset, kennen we de klasse waartoe ze behoren. Uitgaande van deze kennis willen we nu een systeem bouwen dat in staat is de classificatie uit te voeren. Meer nog, we wensen dat het systeem in staat is te generaliseren, en dus niet geziene tijdreeksen op een correcte manier zal classificeren. Indien we Echo State Networks hiervoor willen gebruiken, moeten we het algemene model (figuur 4.1) op één of andere manier aanpassen om het bruikbaar te maken voor classificatie. In 5.1 beschrijven we de manier waarop we dit trachten te doen. Teneinde de werking ervan te kunnen testen wordt een klasse DataGenerator ontwikkeld die ons de nodige data biedt. De beschrijving ervan, alsook de opstelling van een aantal testen, wordt besproken in 5.2. Bij een ander experiment, beschreven in 5.3, wordt gebruik gemaakt van real-life 54

66 Hoofdstuk 5. Classificatie van tijdreeksen 55 datareeksen afkomstig van het Universitair Ziekenhuis van Gent. 5.1 Model We willen dus een systeem waarmee we een verzameling datareeksen kunnen classificeren. De reeksen behoren tot een verschillende klasse indien ze onderlinge verschillen vertonen. Analoog behoren ze tot dezelfde klasse indien ze bepaalde patronen gemeenschappelijk hebben. Deze patronen kunnen duidelijk zichtbaar zijn, maar kunnen ook verborgen zitten in de tijdreeksen. Het zijn net deze laatste, de impliciete verborgen patronen, die we via artificiële intelligentie-technieken willen ontdekken. We definiëren aan de hand van een trainingset de gebruikte klassen en hopen dat het systeem in staat is te generaliseren, zodat ook de reeksen uit de testset goed geclassificeerd zullen worden. We wensen dit hier te doen via de ESN techniek, m.a.w. via een dynamisch reservoir en een uitleesfunctie die efficiënt te trainen is. Om de figuren overzichtelijk te houden, beperken we ons bij de bespreking van het model tot ééndimensionale datareeksen. Echter, onderstaand model is eveneens bruikbaar voor multidimensionale tijdreeksen (zie 5.3) Basismodel Stel dat we beschikken over een dynamisch reservoir, met bijbehorende gewichtsmatrices, bestaande uit N units. De inputreeksen zijn T tijdstippen lang. Wanneer we het reservoir voeden met een inputreeks zal op tijdstip t de toestand van het reservoir afhankelijk zijn van een aantal reeds geziene waarden. De combinatie van de gewichtsmatrices (hier W in en W res ) en het aantal reservoir units (zie [13]) bepalen de geheugencapaciteit van het DR. Indien we beschikken over een systeem met een voldoende groot geheugen, zal de interne toestand van het reservoir op tijdstip T afhankelijk zijn van de volledige datareeks. De geëvoceerde interne signalen zijn dan afhankelijk van de volledige inputreeks. Wanneer we aannemen dat deze signalen bepaalde aspecten van de inputreeks bevatten, kunnen we deze gebruiken als features. Het model wordt grafisch weergegeven in figuur 5.1. Het

67 Hoofdstuk 5. Classificatie van tijdreeksen 56 trainingsalgoritme bestaat opnieuw uit de gekende stappen: Sampling fase: We passen bovenstaande werkwijze toe op elk van de R tijdreeksen uit de trainingset, waarbij het DR steeds in dezelfde toestand gestart wordt. Dit resulteert in een set vectoren DR i [T ]; hierin is DR i [T ] de toestandsvector van het reservoir op tijdstip T behorende bij inputreeks R i. Met elk van deze inputreeksen correspondeert een rij in de R N matrix M. Van elke datareeks uit de trainingset weten we tot welke klasse ze behoort. We kunnen dergelijk klassen eenvoudig voorstellen door er een bepaalde waarde voor te kiezen. Bij binaire classificatie (alle experimenten besproken in 5.2 en 5.3), kiezen we ervoor de positieve element als +1 te labelen, en de negatieve als 1. Met elke rij in M correspondeert een rij in de R 1 matrix T. T bevat op rij i de classificatie-waarde van inputreeks R i, in de figuur aangeduid met o(r i ). Berekening van de outputgewichten: Dit gebeurt analoog aan de techniek toegepast bij ESN s gebruikt voor predictieproblemen. De hier gebruikte samples zijn eveneens toestandsvectoren uit een DR. Echter, de gebruikte samples, zijn de eindtoestanden van het DR behorende bij verschillende inputreeksen. Bij de predictieproblemen wordt als basis de verzameling toestandsvectoren behorende bij dezelfde inputreeks gebruikt. De regressiegewichten worden dan op een efficiënte manier berekend door het zoeken van een pseudo-inverse matrix van M. Exploitatie fase: Eenmaal de gewichten berekend, kunnen we het netwerk testen met nieuwe datareeksen. We starten het DR opnieuw in dezelfde starttoestand, en voeden het met een ongeziene datareeks. De bekomen eindtoestand van het reservoir wordt vermenigvuldigd met de bekomen W out matrix. Het product wordt vergeleken met de mogelijke classificatie-waarden. De datareeks wordt dan geclassificeerd als de klasse met de dichtst bijgelegen waarde.

68 Hoofdstuk 5. Classificatie van tijdreeksen 57 Figuur 5.1: Het basismodel: als featurevector wordt enkel de laatste toestandsvector van het reservoir gebruikt Uitbreiding Bij gebruik van een voldoende groot geheugen, zal de eindtoestand van het reservoir kenmerken van de volledige tijdreeks bevatten. Echter, deze toestand wordt grotendeels bepaald door de laatste waarden van de datareeks. Willen we dat ook eerdere waarden een grotere invloed uitoefenen op de classificatie, dan kunnen we niet enkel de toestandsvectoren op tijdstip T gebruiken als featurevector, maar eveneens één of meerdere eerder bekomen toestandsvectoren. We gebruiken dan als eigenlijke featurevector, de accumulatie van deze n verschillende toestandsvectoren. Figuur 5.2 toont hoe dit wordt gedaan voor

69 Hoofdstuk 5. Classificatie van tijdreeksen 58 n gelijk aan 3. Het volledige tijdsinterval ([1, T ]) wordt opgesplitst in n gelijke deelintervallen. Uit elk deelinterval wordt een random tijdstip t k (k = 1... n) gekozen, en de corresponderende toestandsvector DR i [t k ] wordt gebruikt als overeenkomstig deel van de featurevector. Dit zorgt ervoor dat ook toestanden die vroeger optreden een gelijkwaardige impact op de classificatie hebben. We kunnen deze techniek toepassen voor n = 1... T en via experimentatie onderzoeken wat de beste resultaten oplevert. Het trainingsalgoritme verandert hierdoor niet, enkel de dimensies van de M en W out matrices verschillen. Figuur 5.2: Uitbreiding van het model voor n gelijk aan 3: als featurevector wordt de accumulatievector van 3 toestandsvectoren van het reservoir gebruikt.

70 Hoofdstuk 5. Classificatie van tijdreeksen 59 Hierna volgt de beschrijving van een aantal experimenten waarmee we de beschreven modellen kunnen testen. We passen hiervoor beide modellen toe, waarbij in het uitbereidingsmodel het aantal gebruikte toestandsvectoren gevarieerd wordt. De resultaten worden besproken in hoofdstuk Datagenerator Bij de volgende drie experimenten wordt gebruik gemaakt van gegenereerde data. We bouwen telkens een positieve en een negatieve set datareeksen met bepaalde eigenschappen. Als basis voor deze sets gebruiken we een bepaald signaal, het positieve basissignaal. Het basissignaal van de negatieve set is dan het geïnverteerde signaal hiervan. Beide signalen worden verstoord met een bepaald niveau aan Gaussiaanse ruis; hievoor gebruiken we de normale distributie. Figuur 5.3 toont een aantal van deze ruiscurves. De ruisfactor ν is dan afhankelijk van het gewenste gemiddelde µ en de gewenste standaardafwijking σ 2. Figuur 5.3: Gaussiaanse ruiscurven met gemiddelde µ en standaardafwijking σ. (Bron: wiki)

71 Hoofdstuk 5. Classificatie van tijdreeksen 60 Er werd een klasse DataGenerator ontwikkeld die ons voorziet van de benodigde datareeksen. Met elk van de volgende experimenten correspondeert hierin een functie die ons de nodige data biedt. Opdat de grafieken (scatterplots) enigszins duidelijk zouden zijn, wordt hierin de ruisfactor beperkt. Dit zorgt ervoor dat de gegenereerde datareeksen relatief weinig van de basissignalen afwijken. De basissignalen zelf worden als een volle zwarte lijn weergegeven. Voor beide sets worden de datapunten van vijf reeksen geplot. De ruisfactor is één van de veranderlijken waarmee geëxperimenteerd zal worden; ter illustratie vermelden we deze bij elke plot. Bij elke experiment wordt vernoemd wat de gebruikte datasets zijn, wat de veranderlijke parameters zijn en wat het doel van het experiment is. De resultaten worden besproken in hoofdstuk 6.

72 Hoofdstuk 5. Classificatie van tijdreeksen Experiment 1 1. Datasets: Positieve set: y(x) = a cos(2x/10) (99/100) x + ν Negatieve set: y(x) = a cos(2x/10) (99/100) x + ν 2. Parameters: a: amplitude van de golven bij de start (x = 0) σ: de standaardafwijking van de ruis (ν) 3. Doel van het experiment: Accuraatheid bekomen via model 1/2 vergelijken. Figuur 5.4: Positieve en negatieve datasets behorende bij experiment 1 (σ = 0.15, a = 0.4).

73 Hoofdstuk 5. Classificatie van tijdreeksen Experiment 2 1. Datasets: Positieve set: y(x) = a cos(2x/10) + ν Negatieve set: y(x) = a cos(2x/10) + ν 2. Parameters: Het volledige tijdsinterval wordt opgedeeld in een aantal deelintervallen. De standaardafwijking van de ruis is variabel binnen elk van de intervallen. 3. Doel van het experiment: Invloed van de positie(s) van de gebruikte toestandsvector(en) onderzoeken. Figuur 5.5: Positieve en negatieve datasets behorende bij experiment 2. (σ = )

Neurale Netwerken en Deep Learning. Tijmen Blankevoort

Neurale Netwerken en Deep Learning. Tijmen Blankevoort Neurale Netwerken en Deep Learning Tijmen Blankevoort De toekomst - Internet of Things De toekomst - sluiertipje Je gezondheid wordt continue gemonitored Je dieet wordt voor je afgestemd -> Stroomversnelling

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010 FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 8 februari 2010 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Bewijzen en Technieken 1 7 januari 211, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe.

Nadere informatie

Inhoud. Neuronen. Synapsen. McCulloch-Pitts neuron. Sigmoids. De bouwstenen van het zenuwstelsel: neuronen en synapsen

Inhoud. Neuronen. Synapsen. McCulloch-Pitts neuron. Sigmoids. De bouwstenen van het zenuwstelsel: neuronen en synapsen Tom Heskes IRIS, NIII Inhoud De bouwstenen van het zenuwstelsel: neuronen en synapsen Complex gedrag uit eenvoudige elementen McCulloch-Pitts neuronen Hopfield netwerken Computational neuroscience Lerende

Nadere informatie

Introductie in flowcharts

Introductie in flowcharts Introductie in flowcharts Flow Charts Een flow chart kan gebruikt worden om: Processen definieren en analyseren. Een beeld vormen van een proces voor analyse, discussie of communicatie. Het definieren,

Nadere informatie

Add the standing fingers to get the tens and multiply the closed fingers to get the units.

Add the standing fingers to get the tens and multiply the closed fingers to get the units. Digit work Here's a useful system of finger reckoning from the Middle Ages. To multiply $6 \times 9$, hold up one finger to represent the difference between the five fingers on that hand and the first

Nadere informatie

Tentamen Kunstmatige Intelligentie (INFOB2KI)

Tentamen Kunstmatige Intelligentie (INFOB2KI) Tentamen Kunstmatige Intelligentie (INFOB2KI) 30 januari 2014 10:30-12:30 Vooraf Mobiele telefoons dienen uitgeschakeld te zijn. Het tentamen bestaat uit 7 opgaven; in totaal kunnen er 100 punten behaald

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Analyse 6 januari 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

Kunstmatige Intelligentie (AI) Hoofdstuk 18.7 van Russell/Norvig = [RN] Neurale Netwerken (NN s) voorjaar 2016 College 9, 19 april 2016

Kunstmatige Intelligentie (AI) Hoofdstuk 18.7 van Russell/Norvig = [RN] Neurale Netwerken (NN s) voorjaar 2016 College 9, 19 april 2016 AI Kunstmatige Intelligentie (AI) Hoofdstuk 18.7 van Russell/Norvig = [RN] Neurale Netwerken (NN s) voorjaar 2016 College 9, 19 april 2016 www.liacs.leidenuniv.nl/ kosterswa/ai/ 1 Hersenen De menselijke

Nadere informatie

z x 1 x 2 x 3 x 4 s 1 s 2 s 3 rij rij rij rij

z x 1 x 2 x 3 x 4 s 1 s 2 s 3 rij rij rij rij ENGLISH VERSION SEE PAGE 3 Tentamen Lineaire Optimalisering, 0 januari 0, tijdsduur 3 uur. Het gebruik van een eenvoudige rekenmachine is toegestaan. Geef bij elk antwoord een duidelijke toelichting. Als

Nadere informatie

Het XOR-Netwerk heeft lokale Minima

Het XOR-Netwerk heeft lokale Minima Het 2-3- XOR-Netwerk heet lokale Minima Ida G. Sprinkhuizen-Kuyper Egbert J.W. Boers Vakgroep Inormatica RijksUniversiteit Leiden Postbus 952 2300 RA Leiden {kuyper,boers}@wi.leidenuniv.nl Samenvatting

Nadere informatie

Lichamelijke factoren als voorspeller voor psychisch. en lichamelijk herstel bij anorexia nervosa. Physical factors as predictors of psychological and

Lichamelijke factoren als voorspeller voor psychisch. en lichamelijk herstel bij anorexia nervosa. Physical factors as predictors of psychological and Lichamelijke factoren als voorspeller voor psychisch en lichamelijk herstel bij anorexia nervosa Physical factors as predictors of psychological and physical recovery of anorexia nervosa Liesbeth Libbers

Nadere informatie

Machinaal leren, neurale netwerken, en deep learning

Machinaal leren, neurale netwerken, en deep learning Machinaal leren, neurale netwerken, en deep learning Prof. dr. Tom Heskes KNAW-symposium Go en machinale intelligentie 11 oktober, 2016 Inhoud Inleiding - Supervised, reinforcement, unsupervised leren

Nadere informatie

Classification of triangles

Classification of triangles Classification of triangles A triangle is a geometrical shape that is formed when 3 non-collinear points are joined. The joining line segments are the sides of the triangle. The angles in between the sides

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 22 februari 2013

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 22 februari 2013 FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 22 februari 2013 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

Inleiding Adaptieve Systemen Hoofdstuk 4: Neurale netwerken

Inleiding Adaptieve Systemen Hoofdstuk 4: Neurale netwerken Inleiding Adaptieve Systemen Hoofdstuk 4: Neurale netwerken Cursusjaar 2012-2013 Gerard Vreeswijk β-faculteit, Departement Informatica en Informatiekunde, Leerstoelgroep Intelligente Systemen 12 Juni 2015

Nadere informatie

Geheugenstrategieën, Leerstrategieën en Geheugenprestaties. Grace Ghafoer. Memory strategies, learning styles and memory achievement

Geheugenstrategieën, Leerstrategieën en Geheugenprestaties. Grace Ghafoer. Memory strategies, learning styles and memory achievement Geheugenstrategieën, Leerstrategieën en Geheugenprestaties Grace Ghafoer Memory strategies, learning styles and memory achievement Eerste begeleider: dr. W. Waterink Tweede begeleider: dr. S. van Hooren

Nadere informatie

heten excitatory. heten inhibitory.

heten excitatory. heten inhibitory. Transparanten bij het vak Inleiding Adaptieve Systemen: Neurale Netwerken. M. Wiering Nucleus Synapse Axon van andere neuron Neurale netwerken Dendriet Axon Synapse Leerdoelen: Soma Weten wanneer neurale

Nadere informatie

Esther Lee-Varisco Matt Zhang

Esther Lee-Varisco Matt Zhang Esther Lee-Varisco Matt Zhang Want to build a wine cellar Surface temperature varies daily, seasonally, and geologically Need reasonable depth to build the cellar for lessened temperature variations Building

Nadere informatie

S e v e n P h o t o s f o r O A S E. K r i j n d e K o n i n g

S e v e n P h o t o s f o r O A S E. K r i j n d e K o n i n g S e v e n P h o t o s f o r O A S E K r i j n d e K o n i n g Even with the most fundamental of truths, we can have big questions. And especially truths that at first sight are concrete, tangible and proven

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Tentamen Analyse 8 december 203, duur 3 uur. Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als jeeen onderdeel

Nadere informatie

Four-card problem. Input

Four-card problem. Input Four-card problem The four-card problem (also known as the Wason selection task) is a logic puzzle devised by Peter Cathcart Wason in 1966. It is one of the most famous tasks in the study of deductive

Nadere informatie

L.Net s88sd16-n aansluitingen en programmering.

L.Net s88sd16-n aansluitingen en programmering. De L.Net s88sd16-n wordt via één van de L.Net aansluitingen aangesloten op de LocoNet aansluiting van de centrale, bij een Intellibox of Twin-Center is dat de LocoNet-T aansluiting. L.Net s88sd16-n aansluitingen

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 7 februari 2011

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 7 februari 2011 FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 7 februari 2011 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead 7.1 Exploring Combinations of Ten Look at these cubes. 2. Color some of the cubes to make three parts. Then write a matching sentence. 10 What addition sentence matches the picture? How else could you

Nadere informatie

Opgave 2 Geef een korte uitleg van elk van de volgende concepten: De Yield-to-Maturity of a coupon bond.

Opgave 2 Geef een korte uitleg van elk van de volgende concepten: De Yield-to-Maturity of a coupon bond. Opgaven in Nederlands. Alle opgaven hebben gelijk gewicht. Opgave 1 Gegeven is een kasstroom x = (x 0, x 1,, x n ). Veronderstel dat de contante waarde van deze kasstroom gegeven wordt door P. De bijbehorende

Nadere informatie

Waarmaken van Leibniz s droom

Waarmaken van Leibniz s droom Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Examination 2DL04 Friday 16 november 2007, hours.

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Examination 2DL04 Friday 16 november 2007, hours. TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Examination 2DL04 Friday 16 november 2007, 14.00-17.00 hours. De uitwerkingen van de opgaven dienen duidelijk geformuleerd en overzichtelijk

Nadere informatie

i(i + 1) = xy + y = x + 1, y(1) = 2.

i(i + 1) = xy + y = x + 1, y(1) = 2. Kenmerk : Leibniz/toetsen/Re-Exam-Math A + B-45 Course : Mathematics A + B (Leibniz) Date : November 7, 204 Time : 45 645 hrs Motivate all your answers The use of electronic devices is not allowed [4 pt]

Nadere informatie

Non Diffuse Point Based Global Illumination

Non Diffuse Point Based Global Illumination Non Diffuse Point Based Global Illumination Karsten Daemen Thesis voorgedragen tot het behalen van de graad van Master of Science in de ingenieurswetenschappen: computerwetenschappen Promotor: Prof. dr.

Nadere informatie

MyDHL+ Van Non-Corporate naar Corporate

MyDHL+ Van Non-Corporate naar Corporate MyDHL+ Van Non-Corporate naar Corporate Van Non-Corporate naar Corporate In MyDHL+ is het mogelijk om meerdere gebruikers aan uw set-up toe te voegen. Wanneer er bijvoorbeeld meerdere collega s van dezelfde

Nadere informatie

COGNITIEVE DISSONANTIE EN ROKERS COGNITIVE DISSONANCE AND SMOKERS

COGNITIEVE DISSONANTIE EN ROKERS COGNITIVE DISSONANCE AND SMOKERS COGNITIEVE DISSONANTIE EN ROKERS Gezondheidsgedrag als compensatie voor de schadelijke gevolgen van roken COGNITIVE DISSONANCE AND SMOKERS Health behaviour as compensation for the harmful effects of smoking

Nadere informatie

SOLVING SET PARTITIONING PROBLEMS USING LAGRANGIAN RELAXATION

SOLVING SET PARTITIONING PROBLEMS USING LAGRANGIAN RELAXATION SOLVING SET PARTITIONING PROBLEMS USING LAGRANGIAN RELAXATION Proefschrift ter verkrijging van de graad van doctor aan de Universiteit van Tilburg, op gezag van de rector magnificus, prof. dr. F.A. van

Nadere informatie

AE1103 Statics. 25 January h h. Answer sheets. Last name and initials:

AE1103 Statics. 25 January h h. Answer sheets. Last name and initials: Space above not to be filled in by the student AE1103 Statics 09.00h - 12.00h Answer sheets Last name and initials: Student no.: Only hand in the answer sheets! Other sheets will not be accepted Write

Nadere informatie

3e Mirror meeting pren April :00 Session T, NVvA Symposium

3e Mirror meeting pren April :00 Session T, NVvA Symposium 3e Mirror meeting pren 689 13 April 2017 14:00 Session T, NVvA Symposium steps since April 2016 The enquiry (June to August 2016) performed by the national bodies. Resulting in 550 comments. Three/Four

Nadere informatie

Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind.

Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind. Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind. Bullying among Students with Autism Spectrum Disorders in Secondary

Nadere informatie

De Invloed van Innovatiekenmerken op de Intentie van Leerkrachten. een Lespakket te Gebruiken om Cyberpesten te Voorkomen of te.

De Invloed van Innovatiekenmerken op de Intentie van Leerkrachten. een Lespakket te Gebruiken om Cyberpesten te Voorkomen of te. De Invloed van Innovatiekenmerken op de Intentie van Leerkrachten een Lespakket te Gebruiken om Cyberpesten te Voorkomen of te Stoppen The Influence of the Innovation Characteristics on the Intention of

Nadere informatie

L.Net s88sd16-n aansluitingen en programmering.

L.Net s88sd16-n aansluitingen en programmering. De L.Net s88sd16-n wordt via één van de L.Net aansluitingen aangesloten op de LocoNet aansluiting van de centrale, bij een Intellibox of Twin-Center is dat de LocoNet-T aansluiting. L.Net s88sd16-n aansluitingen

Nadere informatie

General info on using shopping carts with Ingenico epayments

General info on using shopping carts with Ingenico epayments Inhoudsopgave 1. Disclaimer 2. What is a PSPID? 3. What is an API user? How is it different from other users? 4. What is an operation code? And should I choose "Authorisation" or "Sale"? 5. What is an

Nadere informatie

Geslacht, Emotionele Ontrouw en Seksdrive. Gender, Emotional Infidelity and Sex Drive

Geslacht, Emotionele Ontrouw en Seksdrive. Gender, Emotional Infidelity and Sex Drive 1 Geslacht, Emotionele Ontrouw en Seksdrive Gender, Emotional Infidelity and Sex Drive Femke Boom Open Universiteit Naam student: Femke Boom Studentnummer: 850762029 Cursusnaam: Empirisch afstudeeronderzoek:

Nadere informatie

AI introductie voor testers

AI introductie voor testers AI introductie voor testers De basis van deep learning TestNet werkgroep Testen met AI Martin van Helden Sander Mol Introductie Artificial Intelligence (AI) is anders dan traditioneel programmeren. Traditioneel

Nadere informatie

(1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs. (2) Ons gezelschap is er om kunsteducatie te verbeteren

(1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs. (2) Ons gezelschap is er om kunsteducatie te verbeteren (1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs (2) Ons gezelschap is er om kunsteducatie te verbeteren (3) Ons gezelschap helpt gemeenschappen te vormen en te binden (4) De producties

Nadere informatie

Keuzetwijfels in de Emerging Adulthood rondom Studie- en Partnerkeuze. in Relatie tot Depressie

Keuzetwijfels in de Emerging Adulthood rondom Studie- en Partnerkeuze. in Relatie tot Depressie 1 Keuzetwijfels in de Keuzetwijfels in de Emerging Adulthood rondom Studie- en Partnerkeuze in Relatie tot Depressie Open Universiteit Nederland Masterscriptie (S58337) Naam: Ilse Meijer Datum: juli 2011

Nadere informatie

Hoe AI kan ingezet worden voor de analyse van asbesthoudende daken

Hoe AI kan ingezet worden voor de analyse van asbesthoudende daken Hoe AI kan ingezet worden voor de analyse van asbesthoudende daken Earth Observation Data Sciences www.vlaanderen.be/informatievlaanderen www.vito.be Workshop: Asbestinventarisatie en analyse Weerslag

Nadere informatie

Teardrop readout gradient waveform design. Ting Ting Ren

Teardrop readout gradient waveform design. Ting Ting Ren Teardrop readout gradient waveform design Ting Ting Ren Overview MRI Background Teardrop Model Discussion Future work MRI Background: Classical Description of MRI Spins: MR relevant nuclei, like 1 H. Main

Nadere informatie

Quality requirements concerning the packaging of oak lumber of Houthandel Wijers vof (09.09.14)

Quality requirements concerning the packaging of oak lumber of Houthandel Wijers vof (09.09.14) Quality requirements concerning the packaging of oak lumber of (09.09.14) Content: 1. Requirements on sticks 2. Requirements on placing sticks 3. Requirements on construction pallets 4. Stick length and

Nadere informatie

Het Verband Tussen Persoonlijkheid, Stress en Coping. The Relation Between Personality, Stress and Coping

Het Verband Tussen Persoonlijkheid, Stress en Coping. The Relation Between Personality, Stress and Coping Het Verband Tussen Persoonlijkheid, Stress en Coping The Relation Between Personality, Stress and Coping J.R.M. de Vos Oktober 2009 1e begeleider: Mw. Dr. T. Houtmans 2e begeleider: Mw. Dr. K. Proost Faculteit

Nadere informatie

De Samenhang tussen Dagelijkse Stress, Emotionele Intimiteit en Affect bij Partners met een. Vaste Relatie

De Samenhang tussen Dagelijkse Stress, Emotionele Intimiteit en Affect bij Partners met een. Vaste Relatie De Samenhang tussen Dagelijkse Stress, Emotionele Intimiteit en Affect bij Partners met een Vaste Relatie The Association between Daily Stress, Emotional Intimacy and Affect with Partners in a Commited

Nadere informatie

Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen.

Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen. Examen ET1205-D1 Elektronische Circuits deel 1, 5 April 2011, 9-12 uur Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen. Indien, bij het multiple choice

Nadere informatie

De Invloed van Perceived Severity op Condoomgebruik en HIV-Testgedrag. The Influence of Perceived Severity on Condom Use and HIV-Testing Behavior

De Invloed van Perceived Severity op Condoomgebruik en HIV-Testgedrag. The Influence of Perceived Severity on Condom Use and HIV-Testing Behavior De Invloed van Perceived Severity op Condoomgebruik en HIV-Testgedrag The Influence of Perceived Severity on Condom Use and HIV-Testing Behavior Martin. W. van Duijn Student: 838797266 Eerste begeleider:

Nadere informatie

Het executief en het sociaal cognitief functioneren bij licht verstandelijk. gehandicapte jeugdigen. Samenhang met emotionele- en gedragsproblemen

Het executief en het sociaal cognitief functioneren bij licht verstandelijk. gehandicapte jeugdigen. Samenhang met emotionele- en gedragsproblemen Het executief en het sociaal cognitief functioneren bij licht verstandelijk gehandicapte jeugdigen. Samenhang met emotionele- en gedragsproblemen Executive and social cognitive functioning of mentally

Nadere informatie

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Tentamen Calculus B (2WBB1) op maandag 28 januari 2013, 14:00 17:00 uur

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Tentamen Calculus B (2WBB1) op maandag 28 januari 2013, 14:00 17:00 uur ENGLISH VERSION: SEE PAGE 7 TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Tentamen Calculus B (WBB) op maandag 8 januari 03, 4:00 7:00 uur Maak dit vel los van de rest van het tentamen.

Nadere informatie

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of:

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of: Document properties Most word processors show some properties of the text in a document, such as the number of words or the number of letters in that document. Write a program that can determine some of

Nadere informatie

Beïnvloedt Gentle Teaching Vaardigheden van Begeleiders en Companionship en Angst bij Verstandelijk Beperkte Cliënten?

Beïnvloedt Gentle Teaching Vaardigheden van Begeleiders en Companionship en Angst bij Verstandelijk Beperkte Cliënten? Beïnvloedt Gentle Teaching Vaardigheden van Begeleiders en Companionship en Angst bij Verstandelijk Beperkte Cliënten? Does Gentle Teaching have Effect on Skills of Caregivers and Companionship and Anxiety

Nadere informatie

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT TELETASK Handbook Multiple DoIP Central units DALISOFT 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool Connect the TDS20620V2 If there is a TDS13620 connected to the DALI-bus, remove it first.

Nadere informatie

ALGORITMIEK: answers exercise class 7

ALGORITMIEK: answers exercise class 7 Problem 1. See slides 2 4 of lecture 8. Problem 2. See slides 4 6 of lecture 8. ALGORITMIEK: answers exercise class 7 Problem 5. a. Als we twee negatieve (< 0) getallen bij elkaar optellen is het antwoord

Nadere informatie

Running Head: INVLOED VAN ASE-DETERMINANTEN OP INTENTIE CONTACT 1

Running Head: INVLOED VAN ASE-DETERMINANTEN OP INTENTIE CONTACT 1 Running Head: INVLOED VAN ASE-DETERMINANTEN OP INTENTIE CONTACT 1 Relatie tussen Attitude, Sociale Invloed en Self-efficacy en Intentie tot Contact tussen Ouders en Leerkrachten bij Signalen van Pesten

Nadere informatie

After that, the digits are written after each other: first the row numbers, followed by the column numbers.

After that, the digits are written after each other: first the row numbers, followed by the column numbers. Bifid cipher The bifid cipher is one of the classical cipher techniques that can also easily be executed by hand. The technique was invented around 1901 by amateur cryptographer Felix Delastelle. The cipher

Nadere informatie

De Relatie Tussen de Gehanteerde Copingstijl en Pesten op het Werk. The Relation Between the Used Coping Style and Bullying at Work.

De Relatie Tussen de Gehanteerde Copingstijl en Pesten op het Werk. The Relation Between the Used Coping Style and Bullying at Work. De Relatie Tussen de Gehanteerde Copingstijl en Pesten op het Werk The Relation Between the Used Coping Style and Bullying at Work Merijn Daerden Studentnummer: 850225144 Werkstuk: Empirisch afstudeeronderzoek:

Nadere informatie

MyDHL+ ProView activeren in MyDHL+

MyDHL+ ProView activeren in MyDHL+ MyDHL+ ProView activeren in MyDHL+ ProView activeren in MyDHL+ In MyDHL+ is het mogelijk om van uw zendingen, die op uw accountnummer zijn aangemaakt, de status te zien. Daarnaast is het ook mogelijk om

Nadere informatie

Emotionele Arbeid, de Dutch Questionnaire on Emotional Labor en. Bevlogenheid

Emotionele Arbeid, de Dutch Questionnaire on Emotional Labor en. Bevlogenheid Emotionele Arbeid, de Dutch Questionnaire on Emotional Labor en Bevlogenheid Emotional Labor, the Dutch Questionnaire on Emotional Labor and Engagement C.J. Heijkamp mei 2008 1 ste begeleider: dhr. dr.

Nadere informatie

Het Effect van Verschil in Sociale Invloed van Ouders en Vrienden op het Alcoholgebruik van Adolescenten.

Het Effect van Verschil in Sociale Invloed van Ouders en Vrienden op het Alcoholgebruik van Adolescenten. Het Effect van Verschil in Sociale Invloed van Ouders en Vrienden op het Alcoholgebruik van Adolescenten. The Effect of Difference in Peer and Parent Social Influences on Adolescent Alcohol Use. Nadine

Nadere informatie

Karen J. Rosier - Brattinga. Eerste begeleider: dr. Arjan Bos Tweede begeleider: dr. Ellin Simon

Karen J. Rosier - Brattinga. Eerste begeleider: dr. Arjan Bos Tweede begeleider: dr. Ellin Simon Zelfwaardering en Angst bij Kinderen: Zijn Globale en Contingente Zelfwaardering Aanvullende Voorspellers van Angst bovenop Extraversie, Neuroticisme en Gedragsinhibitie? Self-Esteem and Fear or Anxiety

Nadere informatie

Alle opgaven tellen even zwaar, 10 punten per opgave.

Alle opgaven tellen even zwaar, 10 punten per opgave. WAT IS WISKUNDE (English version on the other side) Maandag 5 november 2012, 13.30 1.30 uur Gebruik voor iedere opgave een apart vel. Schrijf je naam en studentnummer op elk vel. Alle opgaven tellen even

Nadere informatie

Opdracht 2 Het Multilayer Perceptron

Opdracht 2 Het Multilayer Perceptron Opdracht 2 Het Multilayer Perceptron Doel: - Inzicht verkrijgen in een neuraal netwerk (het multilayer perceptron). - Begrijpen van het backpropagation algoritme. - Een toepassing van een neuraal netwerk

Nadere informatie

2DD50: Tentamen. Tentamen: 26 januari 2016 Hertentamen: 5 april 2016

2DD50: Tentamen. Tentamen: 26 januari 2016 Hertentamen: 5 april 2016 2DD50: Tentamen Tentamen: 26 januari 2016 Hertentamen: 5 april 2016 Bij het tentamen mag een eenvoudige (niet grafische; niet programmeerbare) rekenmachine meegenomen worden, en 2 tweezijdige A4-tjes met

Nadere informatie

Concept of Feedback. P.S. Gandhi Mechanical Engineering IIT Bombay

Concept of Feedback. P.S. Gandhi Mechanical Engineering IIT Bombay Concept of Feedback P.S. Gandhi Mechanical Engineering IIT Bombay Recap Goal of the course: understanding and learning Assignments: optional to start with Contact hour with TAs: Monday AN: time? Meeting

Nadere informatie

Value based healthcare door een quality improvement bril

Value based healthcare door een quality improvement bril Rotterdam, 7 december 2017 Value based healthcare door een quality improvement bril Ralph So, intensivist en medisch manager Kwaliteit, Veiligheid & Innovatie 16.35-17.00 uur Everybody in healthcare really

Nadere informatie

Sekseverschillen in Huilfrequentie en Psychosociale Problemen. bij Schoolgaande Kinderen van 6 tot 10 jaar

Sekseverschillen in Huilfrequentie en Psychosociale Problemen. bij Schoolgaande Kinderen van 6 tot 10 jaar Sekseverschillen in Huilfrequentie en Psychosociale Problemen bij Schoolgaande Kinderen van 6 tot 10 jaar Gender Differences in Crying Frequency and Psychosocial Problems in Schoolgoing Children aged 6

Nadere informatie

Effecten van een op MBSR gebaseerde training van. hospicemedewerkers op burnout, compassionele vermoeidheid en

Effecten van een op MBSR gebaseerde training van. hospicemedewerkers op burnout, compassionele vermoeidheid en Effecten van een op MBSR gebaseerde training van hospicemedewerkers op burnout, compassionele vermoeidheid en compassionele tevredenheid. Een pilot Effects of a MBSR based training program of hospice caregivers

Nadere informatie

Opleiding PECB ISO 9001 Quality Manager.

Opleiding PECB ISO 9001 Quality Manager. Opleiding PECB ISO 9001 Quality Manager www.bpmo-academy.nl Wat is kwaliteitsmanagement? Kwaliteitsmanagement beoogt aan te sturen op het verbeteren van kwaliteit. Tevens houdt het zich bezig met het verbinden

Nadere informatie

!!!! Wild!Peacock!Omslagdoek!! Vertaling!door!Eerlijke!Wol.!! Het!garen!voor!dit!patroon!is!te!verkrijgen!op! Benodigdheden:!!

!!!! Wild!Peacock!Omslagdoek!! Vertaling!door!Eerlijke!Wol.!! Het!garen!voor!dit!patroon!is!te!verkrijgen!op!  Benodigdheden:!! WildPeacockOmslagdoek VertalingdoorEerlijkeWol. Hetgarenvoorditpatroonisteverkrijgenopwww.eerlijkewol.nl Benodigdheden: 4strengenWildPeacockRecycledSilkYarn rondbreinaaldnr8(jekuntnatuurlijkookgewonebreinaaldengebruiken,maar

Nadere informatie

OUTDOOR HD BULLET IP CAMERA PRODUCT MANUAL

OUTDOOR HD BULLET IP CAMERA PRODUCT MANUAL OUTDOOR HD BULLET IP CAMERA PRODUCT MANUAL GB - NL GB PARTS & FUNCTIONS 1. 7. ---- 3. ---- 4. ---------- 6. 5. 2. ---- 1. Outdoor IP camera unit 2. Antenna 3. Mounting bracket 4. Network connection 5.

Nadere informatie

Exercise P672 Lightweight Structures. A.P.H.W. Habraken. Report

Exercise P672 Lightweight Structures. A.P.H.W. Habraken. Report Exercise 2011-2012 7P672 Lightweight Structures A.P.H.W. Habraken Report Group 4: S.H.M. van Dijck J.C. Fritzsche J. Koeken T. Relker F.G.M. van Rooijen M. Slotboom M. Steenbeeke J.P.T. Theunissen Date:

Nadere informatie

Bijlage 2: Informatie met betrekking tot goede praktijkvoorbeelden in Londen, het Verenigd Koninkrijk en Queensland

Bijlage 2: Informatie met betrekking tot goede praktijkvoorbeelden in Londen, het Verenigd Koninkrijk en Queensland Bijlage 2: Informatie met betrekking tot goede praktijkvoorbeelden in Londen, het Verenigd Koninkrijk en Queensland 1. Londen In Londen kunnen gebruikers van een scootmobiel contact opnemen met een dienst

Nadere informatie

de Rol van Persoonlijkheid Eating: the Role of Personality

de Rol van Persoonlijkheid Eating: the Role of Personality De Relatie tussen Dagelijkse Stress en Emotioneel Eten: de Rol van Persoonlijkheid The Relationship between Daily Stress and Emotional Eating: the Role of Personality Arlette Nierich Open Universiteit

Nadere informatie

Handleiding Installatie ADS

Handleiding Installatie ADS Handleiding Installatie ADS Versie: 1.0 Versiedatum: 19-03-2014 Inleiding Deze handleiding helpt u met de installatie van Advantage Database Server. Zorg ervoor dat u bij de aanvang van de installatie

Nadere informatie

TOEGANG VOOR NL / ENTRANCE FOR DUTCH : https://www.stofs.co.uk/en/register/live/?regu lator=c&camp=24759

TOEGANG VOOR NL / ENTRANCE FOR DUTCH : https://www.stofs.co.uk/en/register/live/?regu lator=c&camp=24759 DISCLAIMER : 1. Het is een risicovolle belegging / It is an investment with risc. 2. Gebruik enkel geld dat u kan missen / Only invest money you can miss. 3. Gebruik de juiste procedure / Use the correct

Nadere informatie

Data Handling Ron van Lammeren - Wageningen UR

Data Handling Ron van Lammeren - Wageningen UR Data Handling 1 2010-2011 Ron van Lammeren - Wageningen UR Can I answer my scientific questions? Geo-data cycle Data handling / introduction classes of data handling data action models (ISAC) Queries (data

Nadere informatie

Sociale Cognitie bij Psychisch Gezonde Volwassenen

Sociale Cognitie bij Psychisch Gezonde Volwassenen Sociale Cognitie bij Psychisch Gezonde Volwassenen Onderzoek met het Virtuele Lab Social Cognition in Psychologically Healthy Adults Research with the Virtual Laboratory Anja I. Rebber Studentnummer: 838902147

Nadere informatie

LDA Topic Modeling. Informa5ekunde als hulpwetenschap. 9 maart 2015

LDA Topic Modeling. Informa5ekunde als hulpwetenschap. 9 maart 2015 LDA Topic Modeling Informa5ekunde als hulpwetenschap 9 maart 2015 LDA Voor de pauze: Wat is LDA? Wat kan je er mee? Hoe werkt het (Gibbs sampling)? Na de pauze Achterliggende concepten à Dirichlet distribu5e

Nadere informatie

De Relatie tussen Voorschoolse Vorming en de Ontwikkeling van. Kinderen

De Relatie tussen Voorschoolse Vorming en de Ontwikkeling van. Kinderen Voorschoolse vorming en de ontwikkeling van kinderen 1 De Relatie tussen Voorschoolse Vorming en de Ontwikkeling van Kinderen The Relationship between Early Child Care, Preschool Education and Child Development

Nadere informatie

Verschillen in het Gebruik van Geheugenstrategieën en Leerstijlen. Differences in the Use of Memory Strategies and Learning Styles

Verschillen in het Gebruik van Geheugenstrategieën en Leerstijlen. Differences in the Use of Memory Strategies and Learning Styles Verschillen in het Gebruik van Geheugenstrategieën en Leerstijlen tussen Leeftijdsgroepen Differences in the Use of Memory Strategies and Learning Styles between Age Groups Rik Hazeu Eerste begeleider:

Nadere informatie

succes. Door steeds opnieuw toernooien te blijven spelen evolueert de populatie. We kunnen dit doen onder ideale omstandigheden,

succes. Door steeds opnieuw toernooien te blijven spelen evolueert de populatie. We kunnen dit doen onder ideale omstandigheden, Inleiding Adaptieve Systemen deel 2, 25 juni 2014, 13.30-16.30, v. 1 Er is op vrijdag 27 juni nog een practicumsessie! De aanvullende toets is op 4 juli, 13-15 uur. Competitie en cooperatie 1. Bekijk de

Nadere informatie

DOELGROEP De WSD werd gevalideerd bij patiënten met een beroerte (Westergren et al. 1999).

DOELGROEP De WSD werd gevalideerd bij patiënten met een beroerte (Westergren et al. 1999). WESTERGREN S SCREENING FOR DYSPHAGIA (WSD) Westergren, A., Hallberg, I.R., & Ohlsson, O. (1999). Nursing assessment of Dysphagia among patients with stroke. Scandinavian journal of Caring Sciences, 13,

Nadere informatie

Evaluation of Measurement Uncertainty using Adaptive Monte Carlo Methods

Evaluation of Measurement Uncertainty using Adaptive Monte Carlo Methods Evaluation of Measurement Uncertainty using Adaptive Monte Carlo Methods Gerd Wübbeler, Peter M. Harris, Maurice G. Cox, Clemens Elster ) Physikalisch-Technische Bundesanstalt (PTB) ) National Physical

Nadere informatie

De causale Relatie tussen Intimiteit en Seksueel verlangen en de. modererende invloed van Sekse en Relatietevredenheid op deze relatie

De causale Relatie tussen Intimiteit en Seksueel verlangen en de. modererende invloed van Sekse en Relatietevredenheid op deze relatie Causale Relatie tussen intimiteit en seksueel verlangen 1 De causale Relatie tussen Intimiteit en Seksueel verlangen en de modererende invloed van Sekse en Relatietevredenheid op deze relatie The causal

Nadere informatie

Developing an adaptive, diagnostic test of. English writing skills

Developing an adaptive, diagnostic test of. English writing skills Developing an adaptive, diagnostic test of English writing skills Development of the DET Objectives Consultation IT Student model Consultation External committee Research Student models Psychometric Automatic

Nadere informatie

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22618 holds various files of this Leiden University dissertation Author: Schans, Martin van der Title: Blowup in the complex Ginzburg-Landau equation Issue

Nadere informatie

B1 Woordkennis: Spelling

B1 Woordkennis: Spelling B1 Woordkennis: Spelling Bestuderen Inleiding Op B1 niveau gaan we wat meer aandacht schenken aan spelling. Je mag niet meer zoveel fouten maken als op A1 en A2 niveau. We bespreken een aantal belangrijke

Nadere informatie

De Relatie Tussen Persoonskenmerken en Ervaren Lijden bij. Verslaafde Patiënten met PTSS

De Relatie Tussen Persoonskenmerken en Ervaren Lijden bij. Verslaafde Patiënten met PTSS Persoonskenmerken en ervaren lijden bij verslaving en PTSS 1 De Relatie Tussen Persoonskenmerken en Ervaren Lijden bij Verslaafde Patiënten met PTSS The Relationship between Personality Traits and Suffering

Nadere informatie

AE1103 Statics. 3 November h h. Answer sheets. Last name and initials:

AE1103 Statics. 3 November h h. Answer sheets. Last name and initials: Space above not to be filled in by the student AE1103 Statics 09.00h - 12.00h Answer sheets Last name and initials: Student no.: Only hand in the answer sheets! Other sheets will not be accepted Write

Nadere informatie

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Settings for the C100BRS4 MAC Address Spoofing with cable Internet. Settings for the C100BRS4 MAC Address Spoofing with cable Internet. General: Please use the latest firmware for the router. The firmware is available on http://www.conceptronic.net! Use Firmware version

Nadere informatie

Global TV Canada s Pulse 2011

Global TV Canada s Pulse 2011 Global TV Canada s Pulse 2011 Winnipeg Nobody s Unpredictable Methodology These are the findings of an Ipsos Reid poll conducted between August 26 to September 1, 2011 on behalf of Global Television. For

Nadere informatie

Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education. Published

Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education. Published Cambridge Assessment International Education Cambridge International General Certificate of Secondary Education DUTCH 055/02 Paper 2 Reading MARK SCHEME Maximum Mark: 45 Published This mark scheme is published

Nadere informatie

De Rol van Zelfregulatie, Motivatie en Eigen Effectiviteitsverwachting op het Volhouden

De Rol van Zelfregulatie, Motivatie en Eigen Effectiviteitsverwachting op het Volhouden De Rol van Zelfregulatie, Motivatie en Eigen Effectiviteitsverwachting op het Volhouden van Sporten en de Invloed van Egodepletie, Gewoonte en Geslacht The Role of Selfregulation, Motivation and Self-efficacy

Nadere informatie

1a. We werken het geval voor het tandenpoetsen uit. De concepten zijn (we gebruiken Engelse termen en afkortingen):

1a. We werken het geval voor het tandenpoetsen uit. De concepten zijn (we gebruiken Engelse termen en afkortingen): Uitwerking Huiswerkopgave Inleiding Modelleren Hoofdstuk 3 1a. We werken het geval voor het tandenpoetsen uit. De concepten zijn (we gebruiken Engelse termen en afkortingen): tube=[cap:{open,close},hand:{l,r,none}]

Nadere informatie

Invloed van het aantal kinderen op de seksdrive en relatievoorkeur

Invloed van het aantal kinderen op de seksdrive en relatievoorkeur Invloed van het aantal kinderen op de seksdrive en relatievoorkeur M. Zander MSc. Eerste begeleider: Tweede begeleider: dr. W. Waterink drs. J. Eshuis Oktober 2014 Faculteit Psychologie en Onderwijswetenschappen

Nadere informatie

The colour of a pixel in a bit map picture can be presented in different ways. For this assignment, we distinguish two categories:

The colour of a pixel in a bit map picture can be presented in different ways. For this assignment, we distinguish two categories: Bitmap conversion A bit map picture is exactly what the name makes one suspect: a sequence of bits (0 or 1) that together represent a digital photo. The picture consists of a matrix (rectangle grid) of

Nadere informatie