Studie av stabilitet - plasticitets - dilemmat i neuronnät

Relevanta dokument
2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit.

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap

Enlagersnät Flerlagersnät Generalisering. Artificiella Neuronnät

Artificiella Neuronnät

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap

729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap

ANN fk. Örjan Ekeberg. Framåtkopplade Nät. återkopplade nät. Olika arkitekturer. BackPropagation through Time. Kalman-Filter tekniker

Adaptiva Filter. Johan Haarala Signaler och System

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Signalanalys med snabb Fouriertransform

Stokastiska processer med diskret tid

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28

TAIU07 Matematiska beräkningar med Matlab

Laboration i Fourieranalys, TMA132 Signalanalys med snabb Fouriertransform

Laboration i Fourieranalys för F2, TM2, Kf2 2011/12 Signalanalys med snabb Fouriertransform (FFT)

En generell prediktiv kodare utnyttjar signalens utseende N steg tillbaka i tiden för kodningen, dvs vi kodar efter den betingade fördelningen

Polynomanpassningsprogram

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Finns det över huvud taget anledning att förvänta sig något speciellt? Finns det en generell fördelning som beskriver en mätning?

Eulercykel. Kinesiska brevbärarproblemet. Kinesiska brevbärarproblemet: Metod. Kinesiska brevbärarproblemet: Modell. Definition. Definition.

Linjär prediktion. Prediktiv kodning. Linjär prediktion. Prediktiv kodare och avkodare

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

Regression med Genetiska Algoritmer

LARS ULVELAND HOPFIELDNÄTVERK FÖR IGENKÄNNING AV DEGRADERADE BILDER OCH HANDSKRIVNA TECKEN

GeneTrader. Ett helautomatiserat tradingsystem

Ordinära differentialekvationer,

a = a a a a a a ± ± ± ±500

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

729G43 Artificiell intelligens / Maskininlärning 2. Marco Kuhlmann

Inlärning utan övervakning

Stokastiska processer med diskret tid

Föreläsning 11, Dimensionering av tidsdiskreta regulatorer

HKGBB0, Artificiell intelligens

Kurvanpassning. Kurvanpassning jfr lab. Kurvanpassning jfr lab

TMA226 datorlaboration

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Artificiell Intelligens Lektion 7

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

Finansiell statistik

Föreläsning 9, Bestämning av tidsdiksreta överföringsfunktioner

Regulator. G (s) Figur 1: Blockdiagram för ett typiskt reglersystem

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

TDDB96 Projekt: Object priming med visuell stimuli

Numerisk Analys, MMG410. Lecture 13. 1/58

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

Styr- och Reglerteknik för U3/EI2

f(x) = x 2 g(x) = x3 100 h(x) = x 4 x x 2 x 3 100

de var svåra att implementera och var väldigt ineffektiva.

Exempel ode45 parametrar Miniprojekt 1 Rapport. Problemlösning. Anastasia Kruchinina. Uppsala Universitet. Januari 2016

Sammanfattning (Nummedelen)

Linjärisering, Jacobimatris och Newtons metod.

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Adaptiva algoritmer och intelligenta maskiner, 2005 Hemtentamen

Grundläggande matematisk statistik

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

Numerisk Analys, MMG410. Lecture 12. 1/24

DIGITAL KOMMUNIKATION

Föreläsning 6: Nätverksoptimering

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Statistisk mönsterigenkänning

Modeller och simulering av språkprocessning

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

TANA17 Matematiska beräkningar med Matlab

Tentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering

Prov 1 2. Ellips 12 Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad a) i) Nollställen för polynomet 2x 2 3x 1:

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Korrelation kausalitet. ˆ Y =bx +a KAPITEL 6: LINEAR REGRESSION: PREDICTION

Linköpings universitet

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

Lösningar till SF1852 Optimeringslära för E, 16/1 08

1 Duala problem vid linjär optimering

EKG-klassificering. Andreas Bergkvist, Michael Sörnell,

1 LP-problem på standardform och Simplexmetoden

Fel- och störningsanalys

Reglerteknik AK. Tentamen 24 oktober 2016 kl 8-13

Funktionsstudier med derivata

NpMa2b vt Kravgränser

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

Prissättning av optioner

Fel- och störningsanalys

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

f(x) = x 2 g(x) = x3 100

Sidor i boken f(x) = a x 2 +b x+c

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University

Systemkonstruktion Z3 (Kurs nr: SSY-046)

Hemuppgift 1, SF1861 Optimeringslära, VT 2017

3 Man kan derivera i Matlab genom att approximera derivator med differenskvoter. Funktionen cosinus deriveras för x-värdena på följande sätt.

Bestäm med hjälp av en lämplig och välmotiverad approximation P (X > 50). (10 p)

Tentamen. Makroekonomi NA juni 2013 Skrivtid 4 timmar.

Stokastiska Processer och ARIMA. Patrik Zetterberg. 19 december 2012

Autokorrelation och Durbin-Watson testet. Patrik Zetterberg. 17 december 2012

Newtons metod. 1 Inledning. CTH/GU LABORATION 3 MVE /2014 Matematiska vetenskaper

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x).

Transkript:

Numerisk analys och datalogi Studie av stabilitet - plasticitets - dilemmat i neuronnät En jämförelse mellan Backpropagation och fuzzy ARTMAP vid prediktion av tidsserier av Ulf Gerhardsson TRITA-NA-E00XY

NADA Nada (Numerisk analys och datalogi) Department of Numerical Analysis KTH and Computer Science 100 44 Stockholm Royal Institute of Technology SE-100 44 Stockholm, SWEDEN Studie av stabilitet - plasticitets - dilemmat i neuronnät En jämförelse mellan Backpropagation och fuzzy ARTMAP vid prediktion av tidsserier av Ulf Gerhardsson TRITA-NA-E00XY Examensarbete i datalogi om 20 poäng vid Programmet för Computer Science and Engineering, Kungliga Tekniska Högskolan år 2001 Handledare på Nada var Anders Sandberg Examinator var Anders Lansner

Sammanfattning Detta arbete är en studie av stabilitet-plasticitets-dilemmat vid prediktering av tidsserier. Själva dilemmat definieras av att neuronnätets inlärning måste vara tillräckligt plastisk för att kunna lära sig nya mönster och samtidigt vara stabil för att inte glömma bort tidigare mönster. Syftet med arbetet är att undersöka hur bra fuzzy ARTMAP är på att prediktera samt att undersöka hur ART hanterar stabilitetplasticitets-dilemmat. Två neuronnät, Backpropagation och fuzzy ARTMAP jämfördes vid prediktion av tidsserier där träningsmängden skiljde sig från testmängden i olika avseenden. Resultaten visade att fuzzy ARTMAP predikterade tidsserier med små brusnivåer bättre och snabbare. När mer brus adderades till serierna, jämnades resultatet ut. Slutsatserna är att fuzzy ARTMAP i en brusig miljö, belastas av sin plastiska inlärning. Detta resulterar i en prediktion med stor standardavvikelse och en bättre hantering av bruset är nödvändig för att fuzzy ARTMAP skall vara tillämpbart i reella applikationer. A study of the Stability - Plasticity - dilemma in neural networks A comparison between Backpropagation and Fuzzy ARTMAP in prediction of time series Abstract This thesis studies the Stability-Plasticity-dilemma in time series prediction. The dilemma is defined as when the learning of the neural network need to be plastic to learn new patterns and at the same time remain stable to deal with more frequent and irrelevant patterns. The purpose of this work is to find out how well Fuzzy ARTMAP can predict time series and how ART handles the Stability-Plasticitydilemma. Two neural networks, Backpropagation and Fuzzy ARTMAP, were compared in time series prediction were the test set was significantly different from the training set in different aspects. The result showed that Fuzzy ARTMAP could predict time series with a low noise level better and faster. When more noise was added to a sinousoid function, the results evened out. The conclusions drawn are

that Fuzzy ARTMAP in a noisy environment, is suffering from its plastic learning which results in a volatile prediktion and a stronger control of handling the noise is nessesary before using Fuzzy ARTMAP in real applications. 4

Innehåll 1 Introduktion 7 1.1 Inledning...... 7 1.2 Bakgrund...... 8 1.3 Syfte... 9 1.4 Stabilitet-plasticitets-dilemmat................... 9 1.5 Avgränsningar.... 10 2 Backpropagation 11 2.1 Struktur... 11 2.2 Träning... 11 3 Adaptive Resonance Theory, (ART) 13 3.1 ART1... 14 3.2 FuzzyART... 15 3.3 ARTMAP... 17 3.4 FuzzyARTMAP... 18 4 Metod 21 4.1 Program... 21 4.2 Utvärdering..... 22 4.3 Valavtidsserier... 23 4.4 Prediktering av tidsserier... 26 5 Resultat 29 5.1 Träning och testning... 29 5.2 Sinusfunktionerna... 31 5.3 Definansiellatidsserierna... 32 5.4 Logränta... 35 6 Diskussion 37 7 Avslutning 39 Litteraturförteckning 41 5

A Backpropagation flödesschema 43 B Fuzzy ART algoritmen 45 C Tabeller och grafer 49 6

Kapitel 1 Introduktion 1.1 Inledning Detta arbete är en studie av stabilitet-plasticitets-dilemmat vid prediktering av tidsserier. Stabilitet-plasticitets-dilemmat handlar om inlärning, minne och förlust av minne i neuronnät. Dilemmat följer av den svåra balansen mellan stabil och plastisk inlärning där ofta återkommande mönster dominerar och belastar nätet samtidigt som nya och sällan förekommande mönster ska vara lättillgängliga. För att kunna prediktera mönster bra, lagras dessa med en snabb, stabil inlärning (träning). Stabil inlärning kan definieras som att det totala felet mellan prediktion och facit hela tiden minskas, eller att nya mönster bildar egna klasser. Plastisk inlärning definieras som att flertalet detaljer och egenskaper i mönstret memoreras. Tidsserier inom finanssektorn, kännetecknas av att olika dolda faktorer plötsligt ändrar utseendet på serien. För att kunna prediktera nästa tidssteg är en plastisk inlärning nödvändig eftersom nya signaler och statistik kan ha kommit fram och påverkar serien i en annan riktning. Samtidigt är det viktigt med information om tidseriens beteende på längre sikt eftersom skattesatser och räntor styr i det längre perspektivet. Detta gör den stabila inlärningen önskvärd. Adaptive Resonance Theory (ART) [3] är en familj algoritmer som skapar klasser av indata. Detta gör att ett mer sällan återkommande mönster kan skapa en egen klass som sedan är lätt tillgänglig för att minnas. Samtidigt kan återkommande mönster hanteras med hjälp av tidigare definerade klasser. Algoritmerna sägs enligt dess upphovsmän, Grossberg och Carpenter, kunna avhjälpa stabilitet-plasticitetsdilemmat. Om detta stämmer för tidsserier, skulle prediktion av dessa, med hjälp av ART, kunna förbättras. I synnerhet inom den finansiella sektorn. Backpropagation [19] är en annan algoritm där inlärning genomförs genom att minimera felet av prediktionen mot ett facit (övervakad inlärning). Detta resulterar i partiell minnesförlust där återkommande indata blir lätta att prediktera medan säl- 7

lan återkommande indata glöms bort. Algoritmen är länge använd för att prediktera tidsserier. För att förbättra prediktionen av tidsserier inom den financiella sektorn, har olika varianter av algoritmen presenterats [17]. Resultaten har dock skiftat och publicerade resultat har hittills aldrig varit riktigt tillfredsställande [11]. Målet med arbetet är att jämföra den speciella ART algoritmen, fuzzy ARTMAP och Backpropagation vid prediktion av tidsserier. Om fuzzy ARTMAP kan prediktera tidsserier bättre än Backpropagation, skulle fuzzy ARTMAP med fördel kunna användas inom finans sektorn där förutsägelse och prognoser av tidsserier till stor del används. 1.2 Bakgrund Ett neuronnät tränas under en tid på en viss datamängd och testas sedan på en tidigare icke känd datamängd genom att försöka prediktera utfallet. Det som neuronnätet lärt sig finns lagrat i neuronnätets struktur och beroende på strukturen lyckas olika algoritmer olika bra. Backpropagation genomför sin inlärning genom att minimera felet av prediktionen mot ett facit (övervakad inlärning). Detta resulterar i partiell minnesförlust där återkommande indata blir lätta att prediktera medan sällan återkommande indata glöms bort. Neuronnät används i de områden där det är svårt att beskriva verkligheten matematiskt eller där en snabb klassificering är nödvändig. För tidsserier är detta mycket användbart eftersom en god kurvanpassning kan göras. Vid kurvanpassning med polynom måste ett antagande om polynomgraden göras och detta orsakar många tester som är tidskrävande och ej speciellt tillförlitligt eftersom vidare kurvanpassning är låst till denna polynomgrad. Backpropagation gör inga antagande om polynomets gradtal men däremot måste en inställning av antal neuroner göras för att dels kunna prediktera den givna serien bra och dels generellt kunna prediktera andra icke kända serier med god precision. En för noggrann inlärning av träningsmängden ger sk överträning, vilket gör neuronnätet sämre på att prediktera nya data som inte liknar träningsmängden. Detta problem kan avhjälpas med diverse heuristiska metoder som ofta ligger utanför själva neuronnätsalgoritmen. Då dessa metoder använts, har ofta resultaten från prediktionerna blivit bättre [17]. Sedan Rumelhart m.fl. publicerade Backpropagationalgoritmen i slutet på 80-talet har man med olika framgång [24], [17] försökt att prediktera tidsserier. Framgången har till stor del berott på hur stort arbete som lagts på för- och efterbehandling av data t.ex. transformation, borttagning av trender, säsongsfaktorer och sällan återkommande händelser etc. [11]. Grossberg och Carpenter har med fuzzy ARTMAP [9] försökt att klassificera och prediktera olika saker, t.ex. trasiga reservdelar [3], ätliga musslor [5] och antal sjukhussängar [5]. De har i dessa fall lyckats mycket bra. Prediktering av tidsserier med fuzzy ARTMAP är däremot något som inte är lika bra dokumenterat. Något som tyder på att fuzzy ARTMAP skulle lyckas bättre än Backpropagation är att det 8

har presenterats flera artiklar [20], [8] där ART presterar mycket bättre än Backpropagation vad gäller klassificering av bilder. 1.3 Syfte Syftet med arbetet är undersöka om ART i form av fuzzy ARTMAP kan prediktera tidsserier bättre än Backpropagation. Ett annat syfte är att beskriva stabilitetplasticitets-dilemmat samt försöka ge klarhet i hur fuzzy ARTMAP fungerar. Lyckas fuzzy ARTMAP prediktera bättre än Backpropagation, ges möjligheten att använda fuzzy ARTMAP inom områden där prediktion av tidsserier är relevanta hjälpmedel t.ex. försäkringar, pension och finans. Fuzzy ARTMAP skulle då kunna vara ett hjälpmedel. 1.4 Stabilitet-plasticitets-dilemmat Stabilitet-plasticitets-dilemmat behandlar frågan: Hur lär sig ett neuronnät nya mönster utan att glömma gamla. Grossberg och Carpenter [3] definierade problemet som att ett system måste ha plastiskt beteende för att kunna lära sig nya mönster, samtidigt som systemet måste kunna förbli stabilt för att kunna hantera irrelevanta eller ofta upprepade mönster. Om ett neuronnät t.ex. tränas mycket på ett visst mönster blir det mönstret så dominerande att neuronnätet bara minns det inlärda mönstret oavsett vilket mönster man testar nätet på. Minnet, dvs strukturen och förmågan att minnas mönster hos ett neuronnät påverkar möjligheterna att prediktera mönster och tidsserier utanför träningsmängden. Ofta blir återkommande data dominanta och nya mer sällan förekommande mönster glöms eller blir svåråtkomliga. Eftersom stukturen i vissa nät är låst och objektfunktionen bygger på att minimera felet, kan minimum eller bästa prediktion för en datamängd vara dålig för en annan. Stabilitet-plasticitets-dilemmat kan också anspela på inlärningen [17]. En stabil inlärning hittar den globala minpunkten i energilandskapet utan att fastna i något lokalt minimum på grund av för liten träningshastighet. Plastisk inlärning kännetecknas av att ett nytt okänt mönster skapar en ny egen klass som inte glöms bort utan är lättillgänglig. Problemet är svårigheten att ha bägge dessa egenskaper (stabil- och plastisk-inlärning) i en algoritm och i en bra balans. När Carpenter och Grossberg [3] presenterade ART 1987, hävdade de att en användare av ART inte behövde ange antal gömda noder utan ART hade en sådan struktur så att stabilitets-plasticitet-dilemmat kunde avhjälpas genom att ART själv lärde sig underrummen efter hand. ART löser problemet med generaliseringen genom att själv välja hur många noder och grupper som behövs för att prediktera ett mönster genom att sätta en parameter som bestämmer nätets noggranhet. 9

1.5 Avgränsningar I detta examensarbete används två algoritmer fuzzy ARTMAP och Backpropagation som med sina olika strukturer gör att stabilitet-plasticitets-dilemmat berörs och hanteras olika bra och på olika sätt. Algoritmerna använder båda övervakad inlärning och Backpropagation fungerar som referens för testerna då algoritmen tidigare använts för prediktion av tidsserier. Algoritmerna har tränats och testats på olika tidsserier skapade av två olika sinusfunktioner, se ekvation 1.1 och 1.2. f 1 (x) = 2 + sin(x) (1.1) f 2 (x) = (sin(10x)+sin(20x)+sin(40x)+sin(50x)+sin(60x)+sin(70x)+10)/20 (1.2) där x = [0, 2]. Till dessa serier har sedan lagts ett normalfördelat brus i olika styrka från 2% till 8 %. Serierna består av 200 punkter som delas upp i två intervall: träningsdel och testdel. Träningsdelen har varierats mellan 60, 70 och 80 % av serien och testdelen har samtidigt varierats mellan 40, 30 och 20 % av serien. Detta görs för att se om vissa speciella mönster i serierna påverkar prestanda. Prediktion sker med ett steg i taget och jag använder mig av ett flytande fönster för att representera data, se avsnitt 4.4. För att kunna undersöka finansiella tidserier använder mig av 10 index tagna från Stockholmsbörsen under olika tidsintervall (se figur 4.4). För att undersöka om ett nytt beteende hos tidsserien kan hanteras av neuronnätet väljer jag serier där testdelen skiljer sig olika mycket från testdelen. Uppdelning av serierna sker på samma sätt som för f 1 och f 2. För närmare beskrivning av tidsserierna, se avsnitt 4.3. Prestation bedöms efter avkastning och fel i prediktionen där felet kvalifieras med två olika mått: kvadrat-rot-medel-fel (RMSE) och maximalt absolut fel (MAXAE). I min implementation använder jag mig av Backpropagation-nät med gradient descent som är modifierat med en sk momentum term som underlättar ändring av steget i minimeringsmetoden (se avsnitt 2). Meningen med detta arbete är inte att skapa en börsmaskin som generarer pengar automatiskt. Det är därför inga jämförelser gjorda med aktieanalytiker eller mäklare under samma perioder. Meningen är att se om fuzzy ARTMAP är bättre på att hantera tidsserier som ofta ändrar utseende och där Backpropagation fungerar som en referens. 10

Kapitel 2 Backpropagation Inom området neuronnät är Backpropagation-algoritmen välkänd. Sedan dess publisering 1986, har många varianter av algoritmen publicerats [15]. Backpropagationalgoritmen heter egentligen generaliserad delta regel där delta är felet mellan prediktion och facit som propagerar (fortplantas) bakåt genom nätet genom ett feed-forward-nätverk (figur 2.1). Nätverket har noder i olika lager som skiftar data framåt genom nätet via vikter och noder. I noderna sker uträkning av aktivitetsnivåer med hjälp av en specifik överföringsfunktion. Indata jämförs i utlagret med ett facit och felet forplantas bakåt genom nätet under det att vikterna mellan noderna uppdateras så att det totala felet minimeras. Ett flödesschema för algoritmen finns i appendix A. Nätverket tränas i tre faser: Frammatning av indata genom nätverket (feed-forward), beräkning av felet (backpropagation) och justering av vikter (update). Nedan ges en närmare beskrivning. 2.1 Struktur Ett feed-forward-nätverk består av lager med noder. En vanlig formation är: ett inlager, ett utlager och ett eller flera gömda lager, se figur 2.1. Varje lager består av noder som är kopplade till noder i lagret framför och bakom men inte inom det egna lagret. 2.2 Träning Frammatning av indata: Varje in-nod mottager en signal och distribuerar signalen till alla noder i lagret till höger (figur 2.1). Varje nod räknar ut sin viktade insignal z in j = v 0j + n i=1 x iv ij och sin aktiveringsnivå enligt z j = f(z in j )där f(z in j ) är en s.k. squashing funktion som returnerar ett värde i intervallet [0, 1]. En vanlig squashing funktion är 1/(1 + e x ). Detta värde (z j ) skickas till lagret ovanför (höger i figur 2.1). Sist beräknar varje utnod y k sin viktade insignal enligt 11

I 1 1 1 y 1 I 2 x 1 z 1.. Indata.... I q.. x i y k Facit z j........ y m I d x n z p Figur 2.1. Struktur hos feed-forward-nät y in k = w 0k + p j=1 z jw jk och beräknar sin nivå (y k ) = f(z in k ). Beräkning och bakåtmatning av felet: Under denna fas, jämförs utsignalen med målvärdet (t k ) och man räknar ut felet för mönstret hos den enskilda utnoden enligt δ k = (t k y k )f (y in k ). Felet distribueras sedan bakåt och beräknas för varje nod enligt δj in = m k=1 δ kw jk och δ j = δj in f (z in j ). Uppdatering av felet: Här uppdateras vikterna mellan gömda lager och utlagret w jk (ny) = w jk (gammal) + δw jk samt mellan olika gömda lager v ij (ny) = v ij (gammal) + δw ij (om flera). Träningen avbryts när felet mellan målvärden och tränings data har nått en godtagbar nivå. Felet kan beräknas på olika sätt. Vanligast är att man räknar ut roten ur summan av nodfelen i kvadrat (SSE), så även i detta arbete. Ett flödesschema av algoritmen ges i appendix A. 12

Kapitel 3 Adaptive Resonance Theory, (ART) ART kommer ursprungligen från Carpenter och Grossberg [3] som 1987 presenterade en artikel där de hävdade att på en biologisk riktig neuronnätalgoritm kunde prestera mycket goda resultat vid mönsterigenkänning och prediktering och som hade egenskaper vilka skulle kunna avhälpa stabilitet-plasitcitets-dilemmat. ART är neuronnät som grupperar mönsterrymden och ger s.k. vektormallar. Enkelt beskrivet använder ART oövervakad stabil kategoriinlärning i två stycken möjliga träningsmoder: snabb och långsam. I snabb träningsmod ändras noderna efter att ett träningsmönster visats och vid långsam träningsmod går ART igenom hela träningsmängden flera gånger under det att vikterna ändras. ART är rikare arkitektoriskt och dynamiskt vilket också gör algoritmen mer svårgenomtränglig. ART sägs med sin struktur kunna uppfylla ett bredare spektrum av uppgifter. Simuleringar har visat att ART i de flesta fall presterar myckett bättre än t.ex. Backpropagation när det gäller mönterigenkänning och dessutom sker träningen mycket snabbare [8], [9]. ART består av en hel familj av olika neuronnät som bygger på inlärningsmetoden adaptiv resonans. Adaptiv resonans handlar om att pröva olika mönster mot varandra. En smidighetsparameter (vigilance) bestämmer när matchning mellan två mönster ska ske. Vid detta tillfälle uppstår resonans och inställningar i lagren äger rum. I följande avsnitt ger jag en introducerande beskrivning av de ART-nätverk som ingår i detta arbete. Fokusering kommer att ske på fuzzy ARTMAP. Fuzzy ARTMAP förenklas ner till ARTMAP om endast binära mönster används. En formulering av algoritmen ges i appendix B. 13

3.1 ART1 ART1 är den ursprungliga algoritmen som Grossberg och Carpenter presenterade år 1987. Algoritmen kunde bara hantera binära mönster och lyckades mycket bra med att klassificera bilder [3]. I figur 3.1 visas hur ett ART1 nätverk är uppbyggt. + 7 Gain 2 + + F2 + Reset - + 7 Gain 1 Aktivitets reglering + F1 + - ρ + Vigilance faktor Indata Figur 3.1. Struktur i ett ART1-nätverk Variabler och parametrar De variabler som används är: Indata-vektor: I = (I 1,...,I M ), aktivitets-vektor för F 1 : x = (x 1,...,x M ), aktivitetsvektor för F 2 : y = (y 1,...,y N ), kategori-vektor: w j = (w j1,...,w jm ), viktmatris, s.k. adaptivt filter: w ij. De parametrar som påverkar dynamiken i nätet är: Smidighetsfaktor: ρ [0 1], smidighetsfaktor, bas: ρ bas [0 1], valparameter: α>0 och β [0 1]. Struktur ART innehåller tre olika lager, F 0 (in-lager), F 1 (matchnings-lager), F 2 (val-lager), där F 1 och F 2 innehåller noder medan F 0 endast normaliserar indata. ART innehåller vidare tre olika reset-funktioner, (Reset, Gain 1, Gain 2). F 1 och F 2 är sammankopplade med en viktmatris, s.k. adaptiva filter: upp-ner (F 2 F 1 ): w ij och ner-upp (F 1 F 2 ): w ji. F 2 representerar igenkänningskoder som är selektivt aktiverade av mönster från F 1, och kan snabbt nollställas med Gain 1 och 2. 14

3.2 Fuzzy ART I fuzzy ART involveras s.k. fuzzy logik i ART1. Fuzzy logik (fuzzy Logic) är en utvidgning av vanlig boolesk algebra, där man beskriver grader av sanning. Intervallet [0, 1] kan alltså delas upp i flera delar med hjälp av en linjär funktion som ger graderingen. För att kunna använda detta transformeras serien från det intervall som serien räcker över till tal i intervallet [0,1]. En av ändringarna som görs på ART1-algoritmen är att byta ut snitt-operatorn mot en MIN-operator [7]. Inlärning Nedan följer en beskrivning över hur en inlärningscykel fungerar. Cykeln har fyra faser och beskrivs var och en under figur 3.2-3.5. Figur 3.2. Bildning av ingångsmönster T med en viktad summa Fas 1, se figur 3.2: Ingångsmönstret I = (I 1,...,I M ) generar en aktiveringsmängd (index över tal i I som är större än 0) X över F 1. Mönster X = (x 1,...,x M ) avbildas och generar utgångssignal S via en squashingfunktion. Signalmönstret S transformeras till ingångsmönstret T genom ner-upp vikterna w ji med en viktad summa. T genererar sedan aktivitets vektor Y över F 2 genom tävlan mellan noderna. Tävlan mellan noderna i F 2 gör att endast en komponent i Y blir nollskilld (s.k. winner-take-all -operation). Denna nod definierar klassen av ingångsmönstret I. Aktivering av en F 2 -nod kan ses som att anta en hypotes om I. 15

Figur 3.3. Generering av prototypmönster V. Fas 2, se figur 3.3: Y genererar ett upp-ner signalmönster U genom en annan squashingfunktion som transformeras ner till ett prototypmönster V med en viktad summa via vikterna w ij.if 1 testas nu hypotesen Y (Matchning). Om V stämmer överens med I, min(i,w j) I ρ. Detta tillstånd kallas resonans. Under denna korta tid lär sig nätet dvs vikterna ställer in sig. Man säger att ART1 lär sig prototyper av vektorer mer än själva I. Figur 3.4. V stämmer inte och förkastas. Ny aktivitetsmängd X bildas. Fas 3, se figur 3.4: Om V inte stämmer med I vid F 1 så genereras en ny aktivitetsmängd X vid F 1 genom att enkelt välja nästa nod i ordningen. Den minskning av totala aktivitet som upptår när X omvandlas till X gör att aktiviteter i I som inte stämmer med V undertrycks. Om matchnings kriteriet faller ( min(i,w j) I <ρ), (mönster V stämmer inte tillräckligt bra med I), släpper A en reset-signal till F 2 16

som nollställer mönstret vid F 2. Figur 3.5. Upp-ner prototypen nollställs och X återinförs Fas 4, se figur 3.5: Efter att Y är hämmat, nollställs dess upp-ner prototyp och X återinförs i F 1, tidigare spår av tidigare nollställning gör att X aktiverar ett annat mönster Y vid F 2. Om upp-ner prototypen av Y inte stämmer med I fortsätter sökning av lämplig kod. Om I inte stämmer tillräckligt bra med något tidigare inlärt mönster (bestämms av α, β och ρ), väljs en icke engagerad nod i F 2 och inlärning av en ny klass initeras. 3.3 ARTMAP ARTMAP (Adaptiv Resonance Theory supervised Predictiv Mapping) [5] består av två ART1-moduler som länkas samman med ett associativt lärande nät (avbildningsfältet) och har en intern kontroll för lärandet. I figur 3.6 ser vi hur ARTMAP är uppbyggt. ARTMAP söker, efter mönster för att bilda mer noggranna predikteringar. Algoritmen har en dynamisk ändring av parameterar som gör att skillnader i liknande mönster blir upptäckta. Eftersom indata och facit matchas, fås till skillnad mot ART1, en övervakad träning (s.k. supervised learning). Resultatet blir att träningsmängden blir inlärd snabbt och exakt. Testmängden jämförs med träningsmängden och om inget mönster stämmer tillräckligt bra så skapas ytterligare avbildningar. Detta resulterar i att ARTMAP gör en så kallad överträning på träningsmängden eftersom indata och facit får vetskap om varandra under träning. Hur bra predikteringen av testmängden blir beror på basparameterarna. 17

Figur 3.6. Strukturen hos ARTMAP, (ur IEEE Communications Magazine, september 1992) 3.4 Fuzzy ARTMAP Fuzzy ARTMAP är ARTMAP där fuzzy Logic används. Detta gör att vissa modifieringar har införts. Strukturen på nätet är samma som ARTMAP. De modifieringar som gjorts är bl.a. en annan form av normalisering, s.k. Komplementkodning, som förhindrar tidigare överproduktion av klasser. Komplementkodningen är att komplementet till vektorn a: a c läggs direkt efter a vilket skapar en normalisering som ger en bättre information om den ursprungliga vektorn. I blir dubbelt så lång och utlager m.fl. definieras enligt nedan. Komplementkodning: ART a : I = A = (a, a c ), ART b : I = B = (b, b c ) och gör att information om skillnader i data bevaras bättre. Resten av variablerna får följande definition: För ART a låt x a (x a 1...xa 2Ma ) definiera F a 1 utdata och låt ya (y a 1...ya Na )definiera F a 2 utdata samt låt wa j (wa j1,wa j2,...,wa j,2ma ) definiera den j:te viktvektorn för ART a. För ART b definieras x b, y b och w b k (k:te viktvektorn för ART b) enligt följande: x b (x a 1...xb 2Mb ), yb (y b 1...yb Na ), wb k (wb k1,wb k2,...,wb k,2m b ). Aktivering av avbildningsfältet: Avbildningsfältet är aktivt så fort någon av ART a eller ART b är aktiv. Om kategori-nod J i F a 2 är aktiv så aktiverar vikter wab J F ab. Om nod K i F b 2 är aktiv så aktiveras nod K i F ab via direkt kopplingar mellan F b 2 och F ab.ombådeart a eller ART b är aktiva så blir F ab aktiv bara om ART a predikterar samma kategori som ART b via vikterna w ab J. F ab utdatavektor x ab lyder 18

under följande regel: y b w ab J, Om J:te F a 2 noden är aktiv och F b 2 är aktiv. x ab w ab = J, Om J:te F a 2 noden är aktiv och F b 2 är inaktiv. y b, Om F a 2 noden är inaktiv och F b (3.1) 2 är aktiv. 0 Om F a 2 noden är inaktiv och F b 2 är inaktiv. Matchning (Match tracking): Vid varje start av indata presentation sätts smidighets faktor ρ a till grundvärdet ρ a.om x ab <ρ ab y b (3.2) så ökas ρ a tills den är större än A w a J A 1, där A är indata till F a 1 i komplement kodning. Då är x a = A w a J <ρ a A (3.3) där J är index av aktiv F a 2 nod enligt (10). Då detta inträffar leder ART a sökningen antingen till aktivering av en annan F a 2 nod J med x a = A w a J ρ a A (3.4) och x ab = y b w ab J ρ ab y b, (3.5) eller om ingen sådan nod existerar så stängs F a 2 av för resten av indata presentationen. Träning av avbildningsfältet: Avbildningsfältets vikter w ab jk ändras under tiden enligt följande regel: Kopplingar mellan F b 2 och F ab är initialt satta till w ab jk (0) = 1. Under resonans med ART a, med kategori J aktiv, närmar sig w ab J avbildningsfältetsvektorn x ab. Vid snabb träning (β = 1), sätts w ab JK = 1 för resten av tiden så fort nod J har lärt sig att prediktera nod K. Det minsta värde (confidence) som ART a måste ha hos en kategori, aktiverad av a p, för att acceptera kategorin är ρ a. Lägre värden på ρ a ger större kategorier som leder till bredare generalisering. Vid en felprediktion mot F b 2 ökar ρ a tills en hypotesprövning börjar, där ρ a ökas genom matchning som offrar så lite generalisering som möjligt för att kunna prediktera rätt. Hypotesprövning ger en ny ART a kategori som fokuserar på en ny kategori av a p som bättre predikterar b p. 19

20

Kapitel 4 Metod Hur kan man nu se om fuzzy ARTMAP är bättre med avseende på just stabilitetplasticitets-dilemmat? Jag har använt ett fuzzy ARTMAP-nät (benämnes i fortsättningen AMN) och ett Backpropagation-nät (benämnes i fortsättningen BPN) och med dessa predikterat olika tidsserier. Simuleringarna gjorts flera gånger och ur detta har ett medelvärde beräknats. För att begränsa testerna så sätts parametrarna i AMN, α = 0.001 och β = 1. 4.1 Program Programmet jag har skrivit för att utvärdera neuronnäten är gjort i Java. Programmet ritar ut grafer på tidsserien och prediktionen av denna i ett gränssnitt där träningen styrs av knapptryckningar från användaren. I figur 4.1:sid 22, övre grafen, visas prediktionen på träningen och i nedre grafen visas prediktionen av testmängden. Hela tidsseriern kan delas in i olika stora delar. Parametrar ställs in i ett fönster nedanför. Träningen startas och stoppas av samma knapp och nollställning av nätverken är endast möjlig vid stoppad träning. I samma fönster ges information om Sum Square Error (SSE) på träningsmängden samt avkastning på testmängden när träningen stoppas. I ett parameterfönster ställer man in olika lager, träningsmod, andel i träningsmängden samt andra parametrar. Båda näten är nedladdade från internet och sedan integrerade i mitt program. Backpropagation-nätet är ursprungligen gjort av Jason Tiscione [23] och används i ett program för att känna igen siffror. Fuzzy ARTMAP nätet är programmerat av Relu Patrascu i studiesyfte [18]. 21

Figur 4.1. Skärmutskift av programmets gränsnitt 4.2 Utvärdering Eftersom fuzzy ARTMAP ska prediktera finasiella tidsserier arbetar jag utifrån ett ekonomiskt ramverk. För att kunna jämföra nätverken studerar jag avkastning och prediktionsfel. Jag predikterar data en dag framåt. Anledningen till detta är programmeringstekniska skäl samt att jag ville se hur fuzzy ARTMAP lyckas prediktera en dag i förväg. Avkastningen beräknas enligt kort/lång-strategi. Denna strategi fungerar enligt följande: Antag att vi kan investera i varje tidsserie. Det egna kapitalet (från början 1 kr) investeras i tidsserien om algoritmen tror att det går upp och säljs nästa dag. Om algoritmen predikterar att det nästa dag kommer gå ned, lånas det i tidsserien till ett belopp motsvarande eget kapital. Innehavet säljs nästa dag och lånet betalas tillbaka. Detta görs för att förhoppningsvis få avkastning i både upp- och nedgångar. Ingen hänsyn har tagits till antal affärer eller avgifter för handel. 22

För att kunna se hur nära prediktionerna kommer tidsserien kvalifieras algoritmerna efter RMSE (root mean square error) och MAXAE (max absolut error). RMSE och MAXAE definieras enligt ekvation 4.1 och ekvation 4.2. 1 N RMSE = N p=1 d p y p 2 d : prediktionen (4.1) y : facit. där n är antal index i testmängen. MAXAE = max i ( d p y p ) i = 1,...,n (4.2) 4.3 Val av tidsserier Eftersom ARTMAP, på grund av sin arkitektur, sägs kunna avhjälpa stabilitetplasticitets-dilemmat, så borde ARTMAP kunna prediktera bättre än BPN generellt på många olika tidsserier. Först studeras de två funktionerna, f 1 och f 2 definierade enligt ekvation 1.1 och 1.2. Funktionen f 2 valdes för att den har använts i tidigare arbete [16] och f 1 för att den är lätt att studera med brus. Funktionerna har fått brus adderat till sig på två olika sätt: jämnt normalfördelat brus på hela serien eller brus där amplituden på bruset har slumpats med olika faktorer på första och andra häflten av serien. Detta gör att träning kommer att ske på tidsserie med inget eller lite brus medan testningen sker på tidsserie med mer brus. 3 0.9 2.8 0.8 2.6 2.4 0.7 2.2 0.6 2 1.8 0.5 1.6 0.4 1.4 1.2 0.3 1 0 20 40 60 80 100 120 140 160 180 200 0.2 0 20 40 60 80 100 120 140 160 180 200 (a) Funktion f 1 (b) Funktion f 2 Figur 4.2. Funktionerna f 1 och f 2 utan brus. 23

0 20 40 60 80 100 120 140 160 180 200 3.5 0.9 3 0.8 0.7 2.5 0.6 2 0.5 1.5 0.4 0.3 1 0.2 0.5 0.1 0 20 40 60 80 100 120 140 160 180 200 (a) Funktion f 1 (b) Funktion f 2 Figur 4.3. Bilden visar funktionerna f 1 och f 2 med brus. Notera att mer brus är adderat i slutet på serien för att öka svårighetsgraden för predikteringen. Dessa serier defineras i fortsättningen som ojämnt brus. Bruset är normalfördelat med slumpad amplitud. Funktioner med jämnt brus har en normalfördelat brus utan slumpning av amplitud. För att undersöka Backpropagation och ARTMAP med avseende på stabilitetplasticitets-dilemmat, valdes avsiktligt tidsserier som hade olika mönster i början och slutet. Se figur 4.4. Lång trend, korta trender, längd på korta trender, standardavvikelse m.m. är olika egenskaper hos tidsserien. Dessa skiljer sig i början av serien jämfört med i slutet. Vissa har en stabil trend för att sedan bli mycket volatil (stor standardavvikelse), för andra är det tvärtom. De tidsserier jag valt karaktäriserar ett rörelsemönster där neuronnät måste, för att kunna prediktera bra, ha möjlighet att generalisera samt kunna anpassa sig till nya mönster. Tidsserie bank1 och tjanste2 har ett volatilt träningsmönster och testas på ett trendigt mönster medan de andra tidsserierna har träningen på stabil trend och tester på en volatil serie. Tidsserievalet gör att BPN borde ha sämre möjlighet att göra kurvpassing eftersom BPN inte har sett det volatila/trendiga mönstret tidigare. ARTMAP däremot skulle med sin dynamiska struktur kunna göra en bättre prediktion. 24

3000 bank1 2000 bank index, 990101 000601 1000 0 100 200 300 300 omx1 400 200 omx, 880101 900501 100 0 200 400 600 400 omx3 800 300 omx, 950101 960101 200 0 100 200 4000 handel1 300 2000 handel, 930101 950101 0 0 200 1000 tjanste1 400 600 800 500 tjänsteindex, 9201001 951101 0 0 200 400 600 800 4000 bank2 2000 bank index, 991101 010101 0 0 400 omx2 100 200 300 200 omx, 930101 950301 0 0 1000 omx4 200 400 600 500 omx, 960101 980101 0 0 100 200 300 2000 general1 400 500 1000 generalindex, 930101 950101 0 0 200 4000 tjanste2 400 600 800 2000 tjänsteindex, 980101 000101 0 0 200 400 600 Figur 4.4. Finansiella tidsserier av index från Stockholmsbörsen under olika intervall. Serierna är valda så att den senare hälften, skiljer sig mot den första hälften i standardavvikelse, trender m.m. I övre vänstra hörnet i varje graf står en beteckning som ska känneteckna den serien i detta arbete. 25

4.4 Prediktering av tidsserier För att kunna prediktera tidsserier som indata till ett neuronnät måste jag förbehandla indata. Detta involverar transformation av data samt val av tränings mönster. Förbehandling av data Två olika typer av data används för träning, slutkurs och logränta. Dessa data definieras enligt följande: slutkurs = C t t: index för dagens datum. logränta = log ( C t C t 1 C t 1 ) C t : dagen slutkurs C t 1 : gårdagens slutkurs Slutkurs ger absolutvärdet medan logränta ger förändringen av slutkursen. Slutkurs är det vanligaste träningsdatat. Logränta används för att se hur bra ARTMAP är på att hantera närliggande värden som ändå ger stora konsekvenser. Logränta gör även att en stationär tidsserie erhålls. Denna serie ska enligt Refenes [17] vara lättare att prediktera. Indata transformerars sedan till ett intervall [0, 1] [11] eftersom AMN och BPN kräver detta. Specifikt för Backpropagation Ett annat viktigt moment är att i BPN välja antalet neuroner i det gömda lagret [22]. Generaliseringen beror på denna. Om det är för få noder kan neuronnät inte kurvanpassa tillräckligt bra och viktiga egenskaper kan ej lagras. Har det för många noder kan det bli svårt att skilja på närliggande mönster och felprediktioner görs lätt. Flera inställningar har prövats och de som har givit bäst avkastning har valts. Specifikt för ART De inställningar som måste göras är få, men viktiga. Parameterarna α och β är hela tiden lika (0.001 resp 1). Valparameter α anger hur mycket matchningsfunktionen ska släppa för att en klass ska bli accepterad. Generaliseringen påverkas mycket lite av α. Såävenmedβ. Smidighetsfaktorerna ρ ab och ρ b sätts lika (0.999) för att få hög upplösning dvs många klasser. Ju lägre ρ är desto färre klasser skapas. Även basnivån för smidighetsfaktorn ρ bas sätts till 0.999. Träning Träningen sker med hjälp av ett sk flytande fönster, se figur 4.5. Fönstret som består av 2-10 indatavärden samt ett facit (här endast 1 indatavärde) som flyttas över hela träningsmängden ett index i taget, tills fönstret har nått slutet på datamängden. 26

Fönstret kan sägas flyta över träningmängden. En iteration av hela träningsmängden kallas en epok och upprepas flera gånger (upptill 200 gånger) tills prediktionsfelet är tillräckligt litet. Figur 4.5. Princip för flytande fönster 27

28

Kapitel 5 Resultat Resultaten visar att AMN i de flesta fall kan prediktera bättre än BPN när testmängden skiljer sig från träningsmängden. Utfallet är till viss del beroende av tidsseriens egenskaper och på vilket sätt som man tränar nätverket. Med funktion f 1 berodde utfallet på om man tränade med absolutvärde eller med ränta. AMN lyckades generellt bäst med prediktion och avkastning vid träning på absolutvärden (träningsmod: slutkurser) oberoende av tidsserie, se tabell 5.1, C.1. På de finansiella tidsserierna blev det svårare att se entydiga skillnader i prediktionsfelen. AMN lyckades dock ge bättre avkastning generellt (tabell C.5 och C.6). Avkastningen hos AMN var starkt beroende av in-lagret, vilket gjorde att samma inställningar inte kunde användas för träning på olika andelar av datamängden. Detta gjorde att testning och resultatmätning blev omfattande. 5.1 Träning och testning Träningen av BPN med slutkurs på en serie med 200 datapunkter tog cirka 60 sekunder (normalt träningsfall). Träningen avbröts när felet på testmängden hade nått ett minimum och sedan börjat stiga. Vid logränta tog träningen längre tid. Felet i träningsmängden tog mycket lång tid att minska (ca 1000 epok, 10 minuter) och minimum för felet i testmängden skiftade fram och tillbaka. Detta försvårade optimeringen av parametrarna. Parametrar för slutkurs är därför använda för logränta där optimering inte var möjlig. AMN predikterade ofta likadant om träningen avbröts efter 1 eller 10 sekunder. Eftersom β = 1 behövde jag bara visa träningsmängden för AMN under en epok, vilket gjorde att träningen för AMN tog kort tid. Hade optimalt inlager hittats, presterade AMN nästan samma avkastning vid varje prediktionstest. Att sänka ρ ab och ρ b gjorde bara att felet för träningsmängden och testmängden ökade. Ett litet inlager hos AMN (2-3 noder) gjorde att approximationen av tidsserien blev snabbare (kortare tid) än vid ett stort inlager. Ett litet inlager gjorde också att AMN hade svårare att prediktera rätt värde. Vid testerna var rollerna ombytta. AMN sökte efter inlärda mönster vilket tog lite tid (upptill 4 sek) medan BPN hade gjort sina inställningar under träningen och behövde bara 29

räkna ut prediktionen. Träningen med logränta blev svår när absolutvärdena var i intervallet [0,1] och när brusnivån var hög. En möjlig förklaring till detta skulle vara att en invertering av ett mycket litet tal blir mycket stort. Detta syns tydligt vid försök med funktion f 2, då stora prediktionsfel erhölls samt avkastningen blev dålig (tabell C). Prediktionen kördes i en matlab fil och presenterades i diagram enligt figur 5.1. 0.9 0.8 0.7 data bpn amn 0.6 0.5 0.4 0.3 0.2 0 20 40 60 80 100 120 140 (a) Träningsmängd 1 0.8 data bpn amn 0.6 0.4 0.2 0 0 10 20 30 40 50 60 70 80 90 (b) Testmängd Figur 5.1. Figuren visar resultatet av en enstaka körning på en tidsserie producerad av funktion f 2 där normalfördelat brus (2% på första delen, 6% på andra delen) har adderats till serien. Den övre figuren (a) visar träningmängden och prediktionerna med båda algoritmerna och (b) visar testmängden och dess prediktioner. Träningsmod är slutkurs och nätverken har tränat på 60% av serien. I (a) ser man bara BPN och och den ursprungliga serien. AMNs prediktion ligger precis ovanpå serien och kan endast urskiljas i slutet. Detta är anledningen till jag i fortsättningen endast visar testmängdens prediktioner då nätverken tränats på 60% av serien. Neuroninställningar var för BPN (in-vektor, in-lager och gömt lager): 3, 26, 13 och för AMN: (in-lager): 3. Avkastningen för BPN resp AMN blev -99% resp 127%. 30

5.2 Sinusfunktionerna Sinusfunktionerna, som hade adderats med brus i olika storlekar, visade att en ökning av bruset gav en försämring i avkastningen hos båda nätverken. Detta är naturligt eftersom mer slump kommer in i serien. Funktion f 1 med jämnt och ojämnt brus (tabell C.1 och C.2) gav BPN en bättre avkastning med logränta än med absolutvärde. Hos funktion f 2 adderat med jämnt brus, erhölls snabbt en försämring i avkastning och maxfel (MAXAE) då bruset ökades (tabell C.4). Med logränta är resultaten mer svårtolkade. Träningen blev mycket instabil för båda nätverken, BPN fastnade i lokala minima och prediktionen kunde skifta mellan mycket stora och mycket små värden. I värsta fall bildade prediktionen exponential-liknande kurvor (figur 5.2). Detta gjorde att approximationen av funktionen blev mycket dålig. För AMN var situationen liknande men den kunde lära sig träningsmängden bättre. AMN gav bäst avkastning men felen är i samma storleksordning för båda nätverken. 0.9 0.8 0.7 data bpn amn 0.6 0.5 0.4 0.3 0.2 0 10 20 30 40 50 60 70 80 90 (a) Träningsmod: slutkurs. Avkastningen för BPN resp AMN blev -56% resp 406%. 12 x 104 data 10 8 bpn amn 6 4 2 0 0 10 20 30 40 50 60 70 80 90 (b) Träningsmod: logränta. Avkastningen för BPN resp AMN blev 90% resp 18%. Figur 5.2. Funktion f 2, jämnt brus, η = 0.04. I (a) ser vi att AMNs prediktion svänger runt facit. AMNs plastiska inlärning ger algoritmen en snabbare respons på nya mönster vilket ofta gav en bättre avkastning. I (b) ser vi att instabilitet vid träning gör att prediktionerna inte lyckas speciellt bra att approximera testmängden. Neuroninställningar var för BPN (in-vektor, in-lager och gömt lager): 3, 16, 9 och för AMN: (in-lager): 2. 31

5.3 De finansiella tidsserierna Under testerna märkte jag att båda nätverken hade svårare att prediktera testmängden när träningsdelen till stor del var volatil (serie: bank1, tjanste2), se figur 5.3 och C.6 och tabellen nedan. AMN lyckades bättre i nästan varje test på dessa serier. De serier där träning gjordes på trendig del (omx1, omx2, omx3, omx4, handel1, general1, tjanste1) lyckades BPN nästan lika bra som AMN men det är ofta var det AMN som gav bäst avkastning. På vissa tidsserier blev avkastningen mycket bättre än för BPN, t.ex. bank1, bank2 (figur 5.3 och 5.5 (a)). I tidsserie bank2 ser vi att testdelen är mycket volatil. BPN hade märkbara problem att få avkastning över noll % på denna serie. En hög volatilitet var till fördel för AMN eftersom nätet var snabbare på att ändra riktning och svarade snabbare på en förändring i tidsserien. AMN lyckades inte alltid bäst vid träning på olika stor andel av datamängden. Ibland var AMN segrare i alla tre fallen men på vissa serier kunde BPN ibland ge bättre avkastning. Överlag var det AMN som gav bäst avkastning men prediktionsfelen var i samma storleksordning för båda näten. Sinusfunktionerna med jämnt brus då testmängden var hyfsat lik träningsmängden skulle kunnat vara till fördel för BPN. Men AMN presterade ofta bättre än BPN vid träning på absolutvärden (tabell 5.1). Detta gällde inte för de finansiella tidsserierna där resultatet mer vägde över åt AMN vid både slutkurs och logränta (tabell C.5, C.6). Det ska betonas att AMN inte lyckades approximera serien bättre än BPN vid logränta utan endast ger bättre avkastning. 3000 2800 data bpn amn 2600 2400 2200 2000 1800 0 50 100 150 Figur 5.3. Tidsserie: bank1, Träningsmod: slutkurs. Vi ser att AMNs prediktion svänger runt testmängden. Om man tittar på figur 4.4, bank1 ser vi att träningsmängden saknar upptrend och svänger runt en viss nivå. Detta får mönster får genomslag i testet hos AMN. Neuroninställningar var för BPN (invektor, inlager, gömt lager): 3, 18, 6 och för AMN: (inlager): 2. Avkastningen för BPN resp AMN blev -7.9% resp 21%. 32

BPN AMN bank1 Andel mod Vinst(%) RMSE MAXAE Vinst(%) RMSE MAXAE 60 slutkurs -9 158.7 64.90 20 516.54 122.7 70 - - -6 160.56 64.73 24 454.54 123.4 80 - - -7 155.57 58.07 18 164.37 68.51 60 lograte -34.8 2264.8 1331.2-7.2 2223.18 1284.0 70 - - -27.4 2040.8 1235.1 2.6 1950.59 1153.6 80 - - -24.2 1835.2 1150.8 2.1 1816.17 1182.6 bank2 60 slutkurs 1.8 158.3 53.8 11.9 147.52 53.22 70 - - -5.2 173.8 47.8 10.8 147.52 50.13 80 - - -23 161.9 58.0 15.8 144.56 54.07 60 lograte -3.6 7400.4 3664.1 27.8 9715.8 4989.3 70 - - -1.2 3396.6 1786.1 15 5220.87 2774.1 80 - - 3.9 2023.6 1071.9 6.5 1530.55 778.83 tjanste2 60 slutkurs 73.3 237.97 82.99 54.8 198.21 53.57 70 - - 84.4 256.08 88.94 95.5 221.8 55.13 80 - - 38.5 242.4 91.86 67.7 217.25 60.68 60 lograte -49.1 3359.9 1670.5 12.3 3182.2 1555.7 70 - - -48.7 3173.3 1562.1 16.8 2943.6 1475.8 80 - - -35.3 2700.5 1355.8 16.2 2479.3 1291.0 Tabell 5.1. Siffror med fetstil visar den algoritm som ger bästa avkastningen och de minsta felen. I tabellen ser vi att AMN nästan hela tiden ger bättre avkastning än BPN. 3000 2500 2000 data bpn amn 1500 1000 500 0 0 50 100 150 Figur 5.4. Tidsserie: bank1, Träningsmod: logränta. Både nätverken har svårt att göra prediktioner som approximerar serien. Neuroninställningar var för BPN (invektor, inlager, gömt lager): 3, 18, 6 och för AMN: (inlager): 2. Avkastningen för BPN resp AMN blev -38% resp -7.3%. 33

3100 3000 data bpn amn 2900 2800 2700 0 20 40 60 80 100 120 (a) Träningsmod: slutkurs. Avkastningen för BPN resp AMN blev -1.6% resp 11.9%. 14000 12000 10000 data bpn amn 8000 6000 4000 2000 0 20 40 60 80 100 120 (b) Träningsmod: logränta. Avkastningen för BPN resp AMN blev -3% resp 28%. Figur 5.5. Tidsserie: bank2. (a): Kraftiga svängningar gör att avkastningen blir låg men AMN är det nätverk som lyckas bäst. (b): Både nätverken har svårt att göra prediktioner som approximerar serien bra. Neuroninställningar var för BPN (invektor,inlager, gömt lager): 5, 5, 18 och för AMN: (inlager): 3. 34

5.4 Logränta De tester som gjordes på f 1 med logränta att det gick relativt bra att kurvanpassa med BPN men AMN hade stora problem att lyckas prediktera. Vid ökad brusnivå fick även BPN svårt att prediktera. På de finansiella tidsserierna samt f 2 blev träningen mycket instabil. AMN kunde dock lära sig träningsmängden bra men kunde ej approximera testmängden eller ge en bra avkastning. På f 2 fastnade BPN snabbt i ett lokalt minimum och kunde inte approximera träningsmängden. AMN kunde lära sig träningsmängden men prediktionen av testmängden hade liten korrelation med testmängden. BPN gjorde nästan hela tiden en försämring i avkastning på de finansiella tidsserierna då träning gjordes med logränta. 3.5 3 2.5 data bpn amn 2 1.5 1 0.5 0 10 20 30 40 50 60 70 80 90 (a) Träningsmod: slutkurs. Neuroninställningar: BPN (in-vektor, in-lager och gömt lager): 2, 26, 20 och för AMN: (in-lager): 2. Avkastning: BPN resp AMN: 1521% resp 1332%. 3.5 3 2.5 data bpn amn 2 1.5 1 0.5 0 10 20 30 40 50 60 70 80 90 (b) Träingsmod: logränta. Neuroninställningar: BPN (in-vektor, in-lager och gömt lager): 3, 18, 4 och för AMN: (in-lager): 3. Avkastning: BPN resp AMN: 1540% resp 591%. Figur 5.6. Funktion f 1, jämnt brus, η = 0.06. Figuren visar hur båda nätverken predikterar vid olika träningsmod. Vid jämnt brus har båda nätverken lätt att prediktera. 35

36

Kapitel 6 Diskussion Av resultaten kan man dra slutsatsen att fuzzy ARTMAP är bättre än Backpropagation på att prediktera stokastiska, icke periodiska tidsserier med absolutvärden som träningsdata. Vi kan också dra slutsatsen att fuzzy ARTMAP har förmåga att lära sig mönster snabbare än Backpropagation. I graferna (se C) kan vi se att prediktionerna för AMN hela tiden svänger kraftigt runt testmängden. Detta beror på fuzzy ART-algoritmens känslighet för brus [25] som kommer an på förmågan att välja nod. I träningsmod, logränta, ser vi att träning blev instabil både med BPN och AMN. AMN kunde emellanåt lära sig träningsmängden men hade vid prediktion av testmängden svårt att prestera bättre än träningsmod, slutkurs och kunde inte approximera funktionerna med brus. En annan slutsats blir att fuzzy ART med sin känslighet för brus, präglar fuzzy ARTMAP eftersom fuzzy ARTMAP består av två fuzzy ART-moduler. Fuzzy ARTMAP kan aldrig i sin orginalform [3] bli en bra funktionsapproximator när det förekommer brus i funktionen. Här lämpar sig Backpropagation bättre. Det visade sig också, som Swingler [22] redan observerat, att prediktionen alltid blev ett steg efter och aldrig kunde förekomma tidsserien. Detta är naturligt eftersom neuronnätet (BPN) gör en ickelinjär kurvpassning, och inte har mer framtidsseende än någon annan matematisk modell. Även inlärningsmetoden (flytande fönster) bidrar till att prediktionen blir efter. Vi ser att fuzzy ARTMAP är bättre på att prediktera de finansiella tidsserierna. Men är detta på grund av att ARTMAP kan avhjälpa stabilitet-plasticitets-dilemmat? Harrison och Mariott [16] hävdar i sin artikel, att fuzzy ARTMAP, vid brusiga förhållanden, leder till överinlärning och reducerar generaliseringen. Eftersom bruset (vid testmängden) associeras som ett nytt mönster skapas därför nya noder istället för att använda träningsmängden. Denna dynamiska möjlighet hos fuzzy ARTMAP har ej använts i programkoden för detta arbete utan ökningen av bruset i testmängden gjorde istället fuzzy ARTMAP mer volatil i sin prediktion. För att komma närmare det plastiska rörelsemönstret i testmängden (mönster som tidigare inte varit känt) och inte låta bruset vara det dominerande, skulle man kun- 37

na låta neuronnäten prediktera 5-10 dagar i förväg, istället för en dags prediktion som jag har gjort. Fuzzy ARTMAP är skapat för speciella uppgifter t.ex. bildigenkänning, mönsterigenkänning och kompression. Algoritmen har använts för att klassificera förvrängda bilder, tex trasiga inventarier ur flygplan [21]. I dessa bilder kunde delar saknas eller vara kraftigt deformerade. Fuzzy ARTMAP lyckades mycket bra med denna uppgift. ARTMAPs speciella tillämpnings område kan vara förklaringen till att prediktion och approximation av tidsserier inte går lika bra. 38

Kapitel 7 Avslutning I detta arbete studerades stabilitet-plasticitets-dilemmat genom att jämföra två olika neuronnätsalgoritmer. Målet var att undersöka om fuzzy ARTMAP var bättre än Backpropagation på att prediktera tidsserier som markant skiljde sig från de tidsserier som användes under träning. Resultaten visade fuzzy ARTMAP var bättre än Backpropagation för de flesta fall. Vid tester på funktioner med hög brusnivå lyckades fuzzy ARTMAP prediktera bättre endast med en knapp marginal. Backpropagation blev optimerad för de tidsserierna som jag använde och de optimala parametrarna är troligvis helt fel för andra tidsserier. En kontinuerlig och frekvent optimering av antalet neuroner är därför nödvändig för att fånga upp nya röresler i tidsserien. Fuzzy ARTMAPs fördelar, få inställningar och snabb träning, gör att algoritmen är lätt att optimera. Enda nackdelen är en hög bruskänslighet, som kommer av att fuzzy ARTMAP, i sin inlärning, är lite för plastiskt och således lär sig bruset i lite större utsträckning än vad som är önskvärt. Detta gör att prediktionen snabbt följer med i nya svängningar i serien men också att prediktionen svänger kraftigt. I fortsatt forskning, vid prediktion av tidsserier, borde man undersöka hur fuzzy ARTMAP lyckas med att prediktera flera tidssteg. Man skulle också behöva undersöka hur algoritmen lyckas prediktera tidsserier när träning sker på korrelerande faktorer dvs hur man predikterar ett index med ett annat index. Detta borde ge algoritmen en större möjlighet att dämpa plasticiteten och därmed prediktera bättre. Jag har i detta arbete visat att fuzzy ARTMAP vid prediktion av tidsserier inom givna avgränsningar är bättre och snabbare än Backpropagation. Arbetet ger en antydan till att fuzzy ARTMAP skulle kunna användas för predikterning av finansiella tidsserier men mer undersökningar och fler träningsmetoder måste undersökas för att en tillfredsställande avkastning ska kunna visas. Fuzzy ARTMAP är en bra algoritm på vägen mot lösning av stabilitet-plasticitets-dilemmat. Men fortfarande saknas en bra kontroll på den plastiska inlärningen, vilket gör att ART själv drabbas av dilemmat utan att riktigt få kontroll på det. 39