Neuronnätsbaserad agent
|
|
- Roger Magnusson
- för 8 år sedan
- Visningar:
Transkript
1 Torbjörn Bäckmark
2 Sammanfattning Jag har undersökt möjligheten att utveckla en agent som använder neurala nätverk för övervakning av börssystem. Jag har tittat på sambandet mellan köp- och säljvolymer och affärsvolymer. Genom att experimentera med en modell har jag funnit en struktur som kan prediktera utsignaler från ett ickelinjärt dynamiskt system. Genom att träna nätverket på data från en handelsdag och sedan simulera fel har jag visat hur en sådan agent skulle kunna användas för att påvisa avvikelser i börssystemet. Torbjörn Bäckmark
3 Förord Den här rapporten är resultatet av mitt examensarbete i optimeringslära och systemteori vid KTH. Jag har exjobbat på OM Technology och min handledare på företaget har varit Lars Wahlberg. Handledare och examinator vid institutionen har Ulf Jönsson varit. Jag vill tacka mina handledare för deras engagemang, idéer och synpunkter. Stockholm, oktober Torbjörn Bäckmark Torbjörn Bäckmark
4 Innehåll 1 INLEDNING BAKGRUND COMPUTER ASSOCIATES NEUGENTS IDÉ PROBLEMFORMULERING NEURALA NÄTVERK NERVSYSTEMET ARTIFICIELLA NEURALA NÄTVERK THRESHOLD LOGIC UNITS LOGISTISKA NODER KLASSIFICERING ÖVERVAKAD TRÄNING DELTAREGELN MULTILAGERNÄT BAKÅTPROPAGERANDE ALGORITMEN SYSTEMIDENTIFIKATION BÖRSSYSTEMET SNNS MODELL FÖR HANDEL I BÖRSSYSTEMET JORDANNÄT TRÄNING AV NÄTVERKET VALIDERING EXPERIMENT MED STRUKTUREN FÖRSÖK ATT BYGGA ETT PERFEKT NÄT HANDELSDATA KÖRNING PÅ TVÅ ORDERBÖCKER EN STÖRRE TRÄNINGSMÄNGD AV HANDELSDATA VALIDERING AV HINGEJORDANSTRUKTUREN ATT IMPLEMENTERA EN AGENT SAMPLING AV DATA INTEGRERAD AVVIKELSE EXPERIMENT MED FEL ANDRA MÖNSTER SLUTSATSER...48 KÄLLFÖRTECKNING...49 Torbjörn Bäckmark
5 1 Inledning Den här rapporten är resultatet av ett examensarbete som har utförts på OM Technology. Syftet med arbetet har varit att undersöka möjligheten att utveckla en agent som använder neurala nätverk för övervakning av börssystem. 1.1 Bakgrund Under de senaste decennierna har handeln på börserna ökat kraftigt. Nya finansiella instrument och tjänster har utvecklats och det ställs allt högre krav på handelssystemen. OM startade sin första elektroniska handelsplats i Sverige för femton år sedan. Sedan dess har de vuxit kraftigt och är numera ett internationellt verksamt företag som utvecklar och driver elektroniska marknadsplatser för finansiella instrument världen över. OM Technology är det affärsområde inom företaget som utvecklar och underhåller programvaran för dessa elektroniska marknadsplatser. I arbetet med att ta fram nya system med ny funktionalitet, och på grund av de kvalitets- och säkerhetskrav som finns, krävs omfattande testning och övervakning av systemen. Under detta arbete görs bland annat allt mer tidskrävande simuleringar av handeln där man är intresserad av att så snabbt som möjligt upptäcka fel. Det är i det här sammanhanget en neuronnätsbaserad agent 1 skulle vara ett intressant verktyg. 1.2 Computer Associates Neugents Computer Associates International har utvecklat en agent, baserad på neurala nätverk, som de kallar Unicenter TNG Neugents. Deras agent tränas först på några veckors data från det system som den ska övervaka. Sedan, i produktion, hämtar den in data periodvis summerat i en vektor och jämför tillståndet med tidigare inhämtade profiler. Med hjälp av parallell mönstermatchning och algoritmer för att modellera data jämförs sedan profilerna för att identifiera avvikelser och beräkna sannolikheten för att en avvikelse ska leda till ett kritiskt fel (Computer Associates 2001, s. 6). 1 En agent är ett program som används för att övervaka system Torbjörn Bäckmark
6 Fördelen med den här typen av agent är att den kan lära sig att observera ett kritiskt tillstånd. Ett sådant tillstånd ger sedan upphov till att ett alarm utlöses. Dessutom tar agenten till sig förändringar över tiden. Vanligt för agenter är annars att de har ett bibliotek med händelser och att de alarmerar när gränsvärden överskrids. Ett fel kan ofta utlösa en kaskad av alarm och en del möda får läggas ner på hur man ska undvika att utlösa falska alarm, var gränserna ska sättas osv. Typiskt att övervaka är t ex utrymme på hårddiskar, minne, utnyttjande av processorkraft m.m. 1.3 Idé Förhoppningen är att med hjälp av neurala nätverk kunna identifiera samband mellan in- och utsignaler till ett börssystem. Figur 1. Vi söker ett neuralt nätverk, NN, som kan prediktera utsignalen y Om man finner ett neuralt nätverk som på ett bra sätt kan fånga upp ett sådant samband kan man utifrån det konstruera en agent som kan prediktera systemets utsignaler. Om prediktionen inte längre ligger nära det verkliga systemets utsignal befarar man att det har inträffat ett fel i systemet och agenten utlöser ett alarm. Figuren är en schematisk bild av idén. Vi har börssystemet, SAXESS, och observerar vid varje tidpunkt insignaler u och utsignaler y från systemet. Sedan har vi ett neuralt nätverk, NN, med justerbara parametrar θ. Som insignal till nätverket används en regressor ϕ, som kan bestå av insignalerna från den nuvarande och tidigare tidpunkter och eventuellt även utsignaler från tidigare tidpunkter. Med en bra struktur på nätet och parametrar optimerade utifrån tidigare observationer av sambandet mellan regressor och utsignal önskar vi att prediktionen y^ ska vara så god att stora avvikelser ε vittnar om fel i systemet. Torbjörn Bäckmark
7 1.4 Problemformulering En förutsättning för att kunna övervaka systemet är att man hittar lämpliga in- och utsignaler. Naturligtvis måste det finnas ett samband mellan in- och utsignalerna för att det överhuvudtaget ska vara möjligt att prediktera utsignaler. För att övervakningen ska vara meningsfull måste signalerna naturligtvis väljas så att den typ av fel som vi önskar upptäcka yttrar sig i detta samband mellan signalerna. Formen på regressorn måste bestämmas. Det vill säga man måste avgöra vilka signaler som ska fungera som insignal till det neurala nätverket. Strukturen på nätverket måste väljas utifrån de signaler och den typ av regressor som man har valt att använda. Vidare måste en lämplig metod användas för att optimera nätverkets parametrar. Torbjörn Bäckmark
8 2 Neurala nätverk Ett neuralt nätverk är en struktur med justerbara parametrar. Termen kommer ifrån parallellen man kan göra till hur nervsystemet fungerar. 2.1 Nervsystemet Nervsystemet är uppbyggt av nervceller, neuroner, som består av en cellkärna, en axon, och dendriter. Sina egenskaper får neuronen tack vare de elektrokemiska processer som sker på dess yta. Neuronen har en axon, men kan ha många dendriter. Dendriterna är ofta rikt förgrenade. Figur 2. En nervcell Det är axonen som sänder signaler till andra neuroner via dess nervterminal, här frisätts neurotransmittorer ut i synapsen vilket är kopplingen mellan axonen och dendriterna. Dendriterna tar in signalerna till cellkärnan. Varje axon är i förbindelse med många dendriter. För att neuronen ska sända en impuls krävs inkommande signaler som överstiger en viss aktiveringspotential. Och när neuronen har skickat en impuls behöver den en viss tid för att återhämta sig. Impulsen kan ses som en våg som vandrar. I detta nätverk av dendriter kan man tänka sig att det hela tiden förekommer små signaler, ett brus. När sedan något signifikant inträffar kommer det att komma kraftiga signaler med tillräcklig styrka för att aktivera neuronen som i sin tur medverkar till att aktivera andra neuroner så att signalen vandrar vidare. Torbjörn Bäckmark
9 2.2 Artificiella neurala nätverk Det finns många relativt enkla problem som vi ständigt löser vilka bygger på att vi använder oss av våra tidigare erfarenheter som sedan går att generalisera till nya liknande situationer. Dessutom är vi duktiga på att bortse från små störningar. Ett exempel är att vi kan känna igen någon som vi inte har sett på länge trots att han eller hon faktiskt ser annorlunda ut. Den här typen av problem är mycket svåra för datorer att hantera. Teorin för de artificiella neurala nätverken har kommit till som en del av det område som kallas Artificiell Intelligens, AI. AI behandlar metoder för att lösa just den här typen av problem. Det artificiella neurala nätverket kan framställas som noder sammankopplade med länkar. Teorin i sig är naturligtvis abstrakt. Men vi kan föreställa oss matematiska funktioner som noder. Funktionsvärdet blir nodens utsignal och det viktas sedan eventuellt ihop med andra funktionsvärden för att avbildas med ytterligare funktioner. Dessa vikter, länkarna, är justerbara parametrar. x 1 x i w 1 w i y x n w Figur 3. Nod i artificiellt neuralt nätverk 2.3 Threshold Logic Units Det enklaste sättet att bygga ett neuronnät är genom att använda s k Threshold Logic Units (TLU) som noder. TLU;n är binär och har som utdata, y, antingen 0 eller 1. Indata är en vektor x. Till de n elementen i x-vektorn associeras motsvarande vikter w. Och aktiveringen a ges av a = w*x. Aktivering sker om a överstiger ett tröskelvärde θ. 1 y y = 1 om a θ 0 om a < θ θ a Figur 4. Stegfunktionen Torbjörn Bäckmark
10 2.4 Logistiska noder Oftast ges utdata av en sigmoidfunktion i stället för steget i TLU:n. Vi har fortfarande för neuronen att aktiveringen ges av: a = w*x Men nu får vi utdata istället som: y = σ(a) = ρ avgör formen på sigmoiden och kan ofta vara 1. Figur 5. Sigmoidfunktionen För sigmoidfunktionen gäller att när a = θ så är y = 0, Klassificering Det mest typiska användningsområdet för neurala nätverk är att klassificera objekt i linjärt separabla klasser. Om vi tänker oss indatavärden som rumskoordinater befinner vi oss i ett mönsterrum. En tänkbar indatavektor utgör en punkt i rummet. Det kritiska villkoret för huruvida neuronen ska aktiveras utgörs av w*x = θ detta definierar en beslutslinje i det 2-dimensionella fallet, eller ett hyperplan, en så kallad beslutsyta i flera dimensioner. Alla mönster på ena sidan av ytan klassificeras som 1, på andra sidan klassificeras alla mönster som 0. Alla vektorer som helt ligger i denna yta är ortogonala mot w. För att förenkla representationen gör man följande: Vänsterledet i det senare ledet utgör det man kallar den utökade viktvektorn w. Tröskelvärdet kan alltså ses som en extra vikt som drivs av ett indata ständigt bundet till 1. Negativiteten i tröskelvärdet gör att det ibland kallas bias. Det neurala nätverket, bestående av en TLU-nod, definierar alltså en beslutsyta. Denna avgränsning i mönsterrummet bestäms till fullo av viktvektorn w. Och den kan användas för att klassificera två linjärt separabla klasser. Med flera noder kan vi avgränsa flera klasser. Torbjörn Bäckmark
11 2.6 Övervakad träning För att träna vår enkla nod använder vi oss av en träningsmängd bestående av par (v,t). Där v alltså är indatavektorer och t är det för detta indata önskade svaret. För varje v undersöker vi utdata y. Om noden misslyckas i klassificeringen måste vi justera (vrida på) viktvektorn. Om vi t ex önskade målet t = 1 men fick utdata y = 0, så var alltså w*v negativ (vektorerna pekar ifrån varandra) när den borde ha varit positiv. Detta kan vi avhjälpa genom att lägga till en del av v till w så att vektorerna pekar mer åt samma håll. Ändringen påverkar beslutsytan och förhoppningsvis får vi med även den här punkten i mönsterrummet på den sida av beslutsytan vi önskar. Vi vill inte ändra för mycket för risken att förstöra tidigare träning. Det här ger upphov till följande träningsregel: w' = w + α (t y) v w' är den justerade viktvektorn t=1 w t=1 w v v w αv w*v<0 y=0 w *v>0 y=1 Figur 6. Korrektion av viktvektorn När utdata är korrekt fås (t-y) = 0, och vi gör ingen förändring av vikterna. Det här kallas perseptronträningsregeln. Och det finns ett teorem som säger att om två klasser av vektorer X och Y är linjärt separabla, så kommer en algoritm som använder denna träningsregel att definiera en TLU vars beslutsyta separerar X och Y (Gurney 1995 s. 43 ). 2.7 Deltaregeln Betrakta fortfarande ett nätverk bestående av endast en nod, t ex en logistisk nod med sigmoidfunktionen som aktiveringsfunktion. Nätverkets uppförande karaktäriseras av viktvektorn w, så att någon funktion E, som beskriver avvikelsen från det önskade gentemot det faktiska utfallet kan tänkas som en funktion av vikterna: E = E(w 1, w 2,., w n+1 ) Torbjörn Bäckmark
12 Vi vill justera vikterna för att minska felet, α är en parameter som vi väljer: Definiera E som medelkvadratfelet över alla träningsmönster e p = (t p y p ) 2 e p är felet för ett visst träningsmönster p, t p är målvärde och y p är utdata, kvadreringen för att ge symmetriska fel. Det här ger medelkvadratfelet: För den logistiska noden gäller att y = σ(a) där aktiveringen a = w*x och därför får vi när vi deriverar Och träningsregeln som vi använder för att justera viktvektorn: Felet beror egentligen av alla mönster. Det gör även derivatorna. Men vi använder ett mönster p, där x p i är den i:te komponenten av det mönstret, beräknar den partiella derivatan och använder den som ett estimat av den verkliga gradienten. Detta sätt att uppdatera vikterna skiljer sig från den mycket mer beräkningsintensiva batchträningen där den sanna gradienten beräknas m a p hela träningsmängden. Torbjörn Bäckmark
13 2.8 Multilagernät Betrakta ett nät med noder i flera lager. Typiskt består det av ett indatalager, ett eller flera lager med gömda noder och sedan ett utdatalager. I utdatalagret får vi nätets svar, y, på en indatavektor som presenteras vid indatalagret. Precis som för den enkla noden använder vi för den övervakade träningen träningsmönster, v med sina respektive målvärdesvektorer, t, för att träna nätet. Idén är fortfarande den samma, vi vill använda en gradientdescentmetod på felet E som en funktion av vikterna. Men nu måste vi ta hänsyn till vikterna från flera lager. Vid utdatalagret får vi uppdateringen av vikterna på samma sätt som för den enkla noden. x. x ji. w ji j y j p t j p x Figur 7. Uppdatering av utdatanoder Indexet j indikerar en viss utdatanod, ji indikerar den i:te länken till noden j, och p är ett visst mönster. Problemet är nu att bestämma gradienterna för de gömda noderna. Vi måste fundera på hur mycket skuld det gömda lagret har till felet i utdata. Vi försöker generalisera ovanstående resultat så att vi kan använda det även för det gömda lagret. Två av termerna, indata och sigmoidfunktionens derivata måste vara samma. De beror bara av nätets struktur. Den kvarvarande termen, (t p j - y p j), är däremot specifik för utdatalagret och behöver modifieras för att kunna gälla det gömda lagret. Den här termen kallar vi δ j, för noden j. Hur den ser ut för de gömda noderna vet vi inte ännu. x. x ki. w ki k y~ Träningsregeln för de gömda noderna blir: x Figur 8. Uppdatering vid det gömda lagret Och det återstår för oss att bestämma δ k. y~ är utsignal från den gömda noden och fungerar som insignal för följande lager i nätet. Torbjörn Bäckmark
14 Vi tittar på länken mellan den gömda noden k och utdatanoden j. Effekten på det totala felet som denna gömda nod har ges av hur mycket den kan påverka utdatanoden j, och via den, hur mycket utdata av nod j påverkas av felet. k w jk j Figur 9. Den gömda noden k påverkar utdatanoden j via vikten w jk Inflytandet som k har på j ges av vikten w jk och δ j beskriver hur j bidrar till felet. δ j w jk fångar upp samspelet mellan dessa faktorer. Eftersom noden k bidrar till flera utdatanoder måste vi summera dessa produkter över alla j, och får följande samband för δ k : w jk j k I k Figur 10. Den gömda noden k påverkar utdatanoderna I k där I k är mängden med noder som tar indata från nod k. Man får en allmän träningsregel för noder: där δ k : för utdatanoder ges av: och för gömda noder: Lägg märke till att sigmoidfunktionens lutning nu är inbakad i δ-termen. Det är det vanligaste sättet att beskriva det här kompakt. I den tidigare framställningen var sigmoidfunktionens lutning en term för sig. Torbjörn Bäckmark
15 2.9 Bakåtpropagerande algoritmen Det här är standardalgoritmen för att träna neurala nätverk. Den finns implementerad i t ex SNNS. initiera vikterna repetera för varje träningsmönster: 1. Presentera mönstret vid indatalagret 2. Låt de gömda noderna evaluera sina utdata från mönstret 3. Låt utdata noderna evaluera sina utdata från resultatet i 2 4. Applicera måldatamönstret vid utdatalagret 5. Beräkna δ k för utdatanoderna 6. Uppdatera vikterna för varje utdatanod med gradient descent (Δw) 7. Beräkna δ k för de gömda noderna 8. Uppdatera vikterna för varje gömd nod med gradient descent slut på loopen tills felet är tillräckligt litet Ett steg i den yttre loopen är vad man brukar kalla för en epok. Under en epok tränas nätet en gång på varje träningsmönster. Villkoret, att vi fortsätter tills felet är tillräckligt litet ersätts i praktiken i SNNS av att vi väljer hur många epoker vi vill träna nätet. Sedan kan vi visuellt avgöra om vi är nöjda eller om vi vill fortsätta träningen ett antal epoker till. Algoritmen ger en lokal minimering av felet som funktion av vikterna. Vi kan inte veta att den lösning som vi finner är ett globalt minimum, men det finns olika sätt att undvika att hamna i alltför dåliga lokala minimipunkter. Den metod som jag använder är att aktivera en funktion, jog, i programmet som skakar på vikterna. Inför varje epok slumpas små tal som läggs till vikterna. Detta gör att vi ramlar ur de lösningar som är alltför dåliga. Använder man inte den här funktionen får man mycket sämre resultat vid träning. Torbjörn Bäckmark
16 2.10 Systemidentifikation Ett annat område där neurala nätverk kan användas är för systemidentifikation. Vi har ett dynamiskt system, i diskret tid, med insignal u och utsignal y som vi kan observera. u y Figur 11. Ett dynamiskt system Vi letar efter ett samband mellan tidigare gjorda observationer och framtida utsignaler så att vi kan prediktera en utsignal y^. För detta använder vi en regressor, ϕ(t), som består av gjorda observationer och föreslår en modell, g(ϕ(t),θ), med justerbara parametrar, θ. Prediktionen ges av där θ är alla parametrarna [α k,β k ] för k = 1 till n. Detta är en basfunktionsutveckling i baserna g k. Och om vi väljer g k så att σ(x) är sigmoidfunktionen så har vi ett neuralt nätverk med ett gömt lager. Vi söker de parametrar som minimerar felen enligt vårt kriterium, V, Z = {(y(t), ϕ(t)) : t = 1,, N} där Z är den datamängd som vi tränar nätverket på, bestående av N gjorda observationer av sambandet mellan regressorn ϕ(t) och utsignalen y. Vi estimerar parametrarna genom att använda bakåtpropagerande algoritmen. Torbjörn Bäckmark
17 3 Börssystemet SAXESS är OM Technology's handelssystem för aktier, obligationer, derivat och andra finansiella instrument. Systemet består av en börsmotor, en systemdatabas och förbindelsepunkter för externa applikationer som matar systemet med order. Alla order och andra meddelanden som uppdaterar systemets data eller tillstånd följer en speciell slinga i systemet. Varje meddelande får ett sekvensnummer så att de får en väldefinierad inbördes ordning. Detta för att förhindra problem med varierande propageringstider i systemet. Alla meddelanden passerar börsmotorn som innehåller all logik, handelsreglerna. Ut från börsmotorn kommer meddelanden som loggas till en fil. Dessa filer bevaras även i en databas. Torbjörn Bäckmark
18 4 SNNS Jag använder en programvara, Stuttgart Neural Network Simulator, version 4.2. Programmet är en simulator för neurala nätverk som distribueras som "Free Software". Den har tagits fram vid Universitetet i Stuttgart och går att ladda ner från Internet. Programmet visar nätverken grafiskt. Det finns verktyg för att bygga nätverk och det går att i efterhand lägga till och ta bort noder och länkar. För att göra simuleringar behöver man datamängder att träna på och dessa tar man fram som textfiler av en speciell struktur. När man tränar nätverken kan man i en graf se hur felen utvecklar sig i realtid. I en annan figur får man en grafisk representation av vikterna. När sedan träningen är klar ser man vikterna och nodernas aktivering i den grafiska framställningen av nätverket. Man kan logga det man gör i en logfil, som man sedan kan gå tillbaka till för att se t ex hur träningen har fortlöpt. Resultatet av träningen och validering får man i form av en resultatfil. Även detta är en textfil som innehåller datamängdens insignaler, målvärden, samt nätets approximationer. För att ta fram filerna för datamängderna och för att visualisera resultaten krävs någon form av hantering av data och filer. Detta har jag gjort i Matlab. Torbjörn Bäckmark
19 5 Modell för handel i börssystemet För att experimentera med neurala nätverk har jag gjort en modell för handel i börssystemet. Den är ett ickelinjärt dynamiskt system. Tanken är att jag ska känna till de bakomliggande sambanden i den datamängd som jag sedan tar fram. Då går det att på ett effektivare sätt undersöka effekten av olika förändringar, och sökandet efter en bra struktur blir enklare. Som med alla modeller är det meningen att den ska vara en förenkling av verkligheten. Men att den fångar något av det verkliga problemets karaktär. Som insignaler väljer jag volymen lagda köprespektive säljorder. Utsignalen är volymen affärer. x 1k z -1 x 1k+1 x 1k + u 1k + u 1k - u 2k min(x 1k +u 1k, x 2k +u 2k ) y k x 2k +u 2k + - x 2k z -1 x 2k+1 Figur 12. En modell för handel i börssystemet x 1k = volymen lagda köporder x 2k = volymen lagda säljorder y k = antalet affärer u 1k = köporder som läggs vid tidpunkten u 2k = säljorder som läggs vid tidpunkten För volymen av lagda köp respektive säljorder gäller då att x 1k+1 = x 1k + u 1k y k x 2k+1 = x 2k + u 2k y k Torbjörn Bäckmark
20 Låt: x k = [x 1k, x 2k ] T u k = [u 1k, u 2k ] T φ k (x k, u k ) = [-min(x 1k +u 1k, x 2k +u 2k ), -min(x 1k +u 1k, x 2k +u 2k ) ] T Då har vi att: x k+1 = x k + φ t (x k, u k ) + u k = f(x k, u k ) y k = min(x 1k +u 1k, x 2k +u 2k ) = g(x k, u k ) I verkligheten är det så att handeln sker i olika orderböcker, en för varje värdepapper. Det finns handelsregler som definierar hur handeln ska fungera. Dessa regler kan vara olika för olika marknader, dessutom förändras de under dagen. När börsen öppnar och stänger sker detta enligt ett speciellt förfarande där orderboken befinner sig i olika tillstånd, med specifika regler för respektive tillstånd. Under den största delen av dagen sker dock handeln kontinuerligt. Köp och säljorder läggs i orderböckerna och matchas kontinuerligt. För enkelhetens skull betraktar jag ena sidan av min modell. Vid tidpunkten k kommer det in ett antal köporder u 1k. De läggs ihop med de order som redan fanns i orderboken x 1k. I orderboken har vi alltså x 1k +u 1k. Rutan i mitten motsvarar handelsreglerna. I min modell är regeln sådan att order från köp och säljsidan kommer att matchas, och bli affärer y k, tills det inte finns något kvar på en av sidorna. Det som finns kvar i orderboken till nästa tidpunkt är då x 1k +u 1k -y k. Jag har tagit fram datamängder i Matlab där jag slumpar insignaler mellan noll och ett. Sedan beräknas utsignalerna enligt modellen. Ett problem med att slumpa insignaler till modellen på detta sätt är att data får en speciell karaktär. Ifall den större insignalen kommer på den sida där det finns ett orderdjup sedan tidigare så kommer orderdjupet att öka med skillnaden mellan storleken på insignalerna. I det andra fallet, om den större signalen kommer på sidan utan orderdjup kommer den att gå igenom förutsatt att djupet på den andra sidan är stort nog att matcha den. I så fall minskar orderdjupet på den andra sidan med skillnaden mellan storleken på insignalerna. Detta leder till att orderdjupet ökar eller minskar på den ena eller den andra sidan. I fallet med slumpade data blir det hela en ren slumpvandring. I längden kommer detta leda till att vi får ett allt större orderdjup på någon av sidorna. Det förhåller sig på samma sätt som för två spelare som singlar slant. Har spelarna begränsad förmögenhet leder spelet i längden till att den ene spelaren blir ruinerad. I en sådan slumpad datamängd kommer alltså utsignalen att vara som en av insignalerna i långa sekvenser. T ex i en fil som jag genererade på tiotusen data fanns det sådana sekvenser som var mer än tusen data långa. Detta gör att nätet lätt finner en bra lösning i att ställa in sig nära en av insignalerna, den bästa. Torbjörn Bäckmark
21 Order läggs förmodligen i det vidare perspektivet slumpmässigt och normalfördelat. Men det finns nog även handelsmässiga mekanismer som strävar efter jämvikt och som gör att det inte hela tiden är order av den ena eller den andra typen som läggs och omedelbart går igenom. I verkligheten är det ju dessutom så att det finns orderdjup på båda sidorna i orderböckerna. Handel sker till ett visst pris, senast betalt, som uppkommer momentant när köp- och säljkurserna överensstämmer. Köpkursen är det pris som är det högsta för tillfället bland order på köpsidan i orderboken. Säljkursen, som alltså är högre, är det pris som är det lägsta för tillfället bland order på säljsidan i orderboken. Normalt är det en liten skillnad mellan dessa kurser, men mellanrummet, den så kallade splitten, kan variera. Man kan notera att det alltså går att lägga order, även stora volymer, som aldrig går igenom. T ex en stor köporder till ett mycket lågt pris. Jag har infört en mekanism för att få en mera intressant datamängd och undvika att utsignalen följer en av insignalerna i för långa sekvenser. När orderdjupet blir 5 på någon sida kommer en [1 0]-insignal som minskar orderdjupet. Detta förhindrar slumpvandring för långt ute på endera sidan i orderboken. På så sätt genererar jag en testdatamängd i Matlab, data. Torbjörn Bäckmark
22 6 Jordannät Michael Jordan har tagit fram en återkopplad struktur som kan tränas på sekvenser. Jordan använder sitt nät för att modellera koartikulation i tal. När vi talar associeras i tiden närliggande fonem och det är till och med så att vi i förväg förbereder oss för att forma fonem, så kallad framåtkoartikulation. Även bakåtkoartikulation förekommer, det vill säga att det krävs en viss tid för systemet att återgå efter det att vi har format ett fonem. Det här innebär begränsningar i hur vi kan framställa vårt tal. Talet kommer att vara parallellt i den meningen att det antal av de tillgängliga frihetsgrader som för tillfället inte används för att forma ett visst fonem används till att förbereda eller följa upp andra fonem. Och detta krävs för att vi ska få den dynamik som behövs för att tala obehindrat. För att kunna modellera detta behövs en struktur som är kapabel till parallella prestationer. Jordan beskriver sin struktur i termer av plan, tillstånd och aktioner. Vid varje ögonblick väljs en aktion utifrån det plan och det tillstånd vi befinner oss i. Sedan uppdateras tillståndet så att nästa aktion kan väljas (Jordan 1986 s. 535). Jag använder ett Jordannät bestående av två indatanoder, sju gömda noder, en utdatanod och två tillståndsnoder. Tillståndsnoderna låter jag uppdateras med respektive indata minus utdata till nästa steg, då dess aktivering tillsammans med det nya indata presenteras för det gömda lagret. Figur 13. Jordannätet Torbjörn Bäckmark
23 För den här beskrivningen betraktar jag först vikterna som en del av strukturen, dvs fixerade för ett ögonblick. Nätet kan då beskrivas på följande vis: y k = g(x k, u k ) x k+1 = f(x k, u k ) där y k är utdata, x k tillståndet och u k insignalen x k+1 är tillståndet för nästa tidpunkt Det här är ett ickelinjärt dynamiskt system i diskret tid. Med identitetsfunktionen som aktiveringsfunktion för utdatanoden och med logistiska noder i det gömda lagret, dvs med sigmoidfunktionen som aktiveringsfunktion, har vi att (låt x' vara den sammansatta vektorn av x och u): Nu tittar vi även på vikterna, θ är alla parametrar [α k,β k ], där k är 1 till n. β i 0 är biasen som förknippas med noden i. sigmoidfunktionen Mitt nät har sju gömda noder. x' har fyra element och varje viktas, dessutom förknippas varje gömd nod med en bias β 0. För varje gömd nod gäller alltså att: Det är fem stycken parametrar, β, för varje gömd nod. Sedan har vi sju stycken parametrar, α, en för varje länk från det gömda lagret. Det är alltså totalt 42 parametrar som vi har att ställa in. Tillståndsnoderna uppdateras enligt där e 2 är vektorn [1 1] T Torbjörn Bäckmark
24 6.1 Träning av nätverket Här nedan är en bild från en körning med motsvarande nät i SNNS, på de datamängder som jag tog fram enligt modellen. Figur 14. Träning av jordannätet i SNNS Jag tränar nätet 2000 epoker. Medelkvadratfelet blir så litet som 0,19 promille för träningsmängden och 0,22 promille för valideringsmängden. Nedan har jag plottat resultatet. Figur 15. Träningsmängdens resultat Figuren visar träningsmängdens målvärden (+) och prediktion (o) förbundna med respektive kurva, den ljusare för målvärden, den mörkare för prediktioner. Punkterna motsvarar insignalerna, dvs inkommande volymer köp respektive säljorder vid tidpunkten. Kurvorna överlappar varandra i hög grad. Det är ett bra resultat. Torbjörn Bäckmark
25 6.3 Validering När man använder neurala nätverk i praktiken så är det vanligen så att man har en datamängd som härrör från någon slags observationer. För att det ska vara en meningsfull datamängd att undersöka så måste man tro att det finns något slags samband mellan insignaler och utsignaler. Normalt delar man upp data i två mängder. En träningsmängd och en valideringsmängd. Vanligt är att använda 70 % av data för att träna och att man sedan kontrollerar sitt resultat på de återstående 30 %, valideringsmängden. En viktig frågeställning vid träningen av neurala nätverk är huruvida nätverket generaliserar. Vid träningen presenteras träningsmängden för nätverket. Därefter optimeras parametrarna så att utsignalen så bra som möjligt stämmer överens med målvärdena. Det som vi verkligen vill uppnå är att så bra som möjligt fånga det bakomliggande sambandet för träningsdatamängden i vårt nätverk. Detta görs inte alltid av det nätverk som bäst stämmer överens med data i sin träningsmängd. Idén är att det neurala nätverket ska göra bra prediktioner även på data som det inte tränat på, valideringsmängden. Om inte detta uppnås är nätverket meningslöst. Vid valideringen använder vi alltså nätverket, som det är från träningen på träningsmängden, och kontrollerar hur väl det predikterar målfunktionsvärden från valideringsmängden. Om detta lyckas väl tyder det på att nätet har fångat upp det bakomliggande sambandet. Under träningen är det vanligt att man gör valideringar med jämna mellanrum för att se hur det utvecklar sig. I ett av fönstren i simuleringarna med SNNS ser man hur felen utvecklar sig för träningsmängden och valideringsmängden under träningen. Det kan visa sig efter ett tag att felen för valideringsmängden börjar öka trots att felen för träningsmängden fortsätter att minska. Det tyder i så fall på ett fenomen som kallas överträning. Nätverket har då för mycket anpassat sig för punkterna i träningsmängden, på ett sätt som inte är representativt för det bakomliggande sambandet. Jag har gjort en valideringsmängd, på samma sätt som jag gjorde träningsdatamängden. Med hjälp av den kan jag alltså kontrollera att nätverket verkligen har generaliserat. Torbjörn Bäckmark
26 Figur 16. Valideringsmängdens resultat Resultatet av valideringen. Man ser att även det här resultatet är mycket bra. Möjligen något sämre t ex i början. Vi ser i figuren att målvärdet i sekvenser följer en av insignalerna. Vad är det som händer i början av valideringsmängden? För att få insikt i hur pass komplicerade sambanden ändå är tittar vi närmare på de första tidpunkterna. Vad är det som händer? tidpunkten 1 Från början är tillståndet [0 0], då orderdjupen är 0. Insignalen [0.569, 0.297], mörk resp. ljus punkt vid första tidpunkten i övre figuren. Minimum är 0.297, vilket alltså borde gå igenom och bli affärer, detta är målvärdet (+). Nätets approximation är (o). Detta gör att tillståndet inför nästa tidpunkt blir [ , ] = [0.281, 0.009]. Orderdjupet enligt modellen är [ , 0] = [0.272, 0] tidpunkten 2 Insignalen [0.228, 0.457] och tillstånden [0.281, 0.009] går igenom nätverket. Utsignalen, nätets approximation blir (o). Tillståndet inför nästa tidpunkt blir [ , ] = [0.106, 0.062] Enligt modellen har vi det totala orderdjupet, tillståndet från föregående tidsteg plus insignalen, [ , 0.457] = [0.500, 0.457] Minimum av detta är vilket alltså är målvärdet (+) för den andra tidpunkten. Och orderdjupet till nästa tillstånd blir [ , ] = [0.043, 0] Torbjörn Bäckmark
27 Här är approximationen något fel. Detta är ett exempel där tillståndet uppenbart har stor betydelse. Utsignalen ska vara lika med den större insignalen, eftersom orderdjupet byggts upp på andra sidan sedan tillståndet innan. tidpunkten 3 Insignalen [0.287, 0.886] och tillstånden [0.106, 0.062] går igenom nätverket. Utsignalen, nätets approximation blir (o). Tillståndet inför nästa tidpunkt blir [ , ] = [-0.039, 0.516] Enligt modellen är det totala orderdjupet [ , 0.886] = [0.330, 0.886] Minimum av detta är vilket är målvärdet (+) för den tredje tidpunkten. Och orderdjupet till nästa tidpunkt blir [ , ] = [0, 0.556] Vid den tredje tidpunkten har vi ett målvärde som inte är lika med någon av insignalerna. De här tre tidpunkterna visar på svårigheter med att identifiera modellen utifrån datamängden. Här i början har vi orderdjup nära noll och på olika sidor i orderböckerna. Vi har gjort en övergång från orderdjup på vänster till orderdjup på höger sida, med för de tre första tidpunkterna [0.272, 0], [0.043, 0], [0, 0.556]. Oftast kommer orderdjupet att vara större på en av sidorna och utsignalen kommer då att följa den andra sidans insignal. För att förhindra att få alltför långa sådana sekvenser har jag alltså konstruerat datamängderna så att det läggs [1 0]-order när orderdjupet överstiger fem på någon sida. Detta kan man förövrigt se exempel på i figurerna för valideringsmängden vid tidpunkterna 9981 och Där alltså målvärdet är 1 som den största insignalen, och ej 0, vilket tyder på orderdjup. Torbjörn Bäckmark
28 6.4 Experiment med strukturen För att verifiera betydelsen av strukturen så experimenterar jag med att skära ner på nätet och verifiera resultatet. Jag har gjort tre olika körningar, först med den fullständiga strukturen, sedan utan återkopplingen till tillståndsnoden och helt utan tillståndsnoder. Det är den senaste strukturen nätet i figuren har. Figur 17. Experiment med strukturen Resultatet är som man väntar sig. Vi ser hur felen utvecklar sig i det lilla fönstret uppe till höger. För de tre olika träningsomgångarna visas felen för träningsmängden (den mörkare kurvan) och motsvarande fel för valideringsmängden (den ljusare kurvan). För den fullständiga strukturen är felen nära noll. Utan återkoppling till tillstånden har vi ett stegs minne, felen är ungefär 0.01 respektive 0.02 för valideringsmängden. Och helt utan tillståndsnoder är felen nära 0.04 för både tränings och valideringsmängden. Torbjörn Bäckmark
29 Figur 18. Resultat med olika strukturer I figuren ovan ser vi resultatet, av valideringen, från körningarna med olika strukturer. I den översta för nätet helt utan tillståndsnoder. I figuren i mitten utan återkoppling till tillståndsnoden. Och i den understa med den fullständiga strukturen. Det här är de första hundra data i datamängden. Det är alltså en liten del av de data jag har i valideringsmängden. Felen är störst i den översta. Rent visuellt tycks den dock vara i klass med den mellersta. Jag tycker mig kunna notera att spridningen är något mindre, approximationen av utsignalerna verkar hålla sig närmre 0.5 i den övre figuren än i den i mitten, som tar ut svängarna lite mer. Och det mellersta resultatet är alltså bättre än det övre, sett till hela valideringsmängden. Den fullständiga strukturen är betydligt bättre än de andra två. Torbjörn Bäckmark
30 6.5 Försök att bygga ett perfekt nät För att konstruera det perfekta nätet behövs en hingefunktion. ϕ(x) x Figur 19. Hingefunktionen För hingefunktionen, ϕ(x), gäller att ϕ(x) = x för x större än 0 ϕ(x) = 0 för x mindre än 0 Minimumfunktionen kan nämligen skrivas om med en hingefunktion. min(x,y) = x - ϕ(x-y) Och på så sätt går det att bygga en perfekt struktur. Figur 20. Hingejordanstrukturen Torbjörn Bäckmark
31 Hingefunktionen finns inte som standardalternativ i SNNS. Det går däremot att få fram en motsvarighet genom att kombinera en identisk aktiveringsfunktion med en clip0_1 utdatafunktion. Sedan får man skala ner indata till noden och skala upp utdata så att man inte slår i begränsningen 1 vid utdatafunktionen. identitet I(x) 1 clip0_1 x x Figur 21. Identidets- och clip0_1-funktionen Jag gör en validering för att kontrollera strukturen. Figur 22. Validering av hingejordanstrukturen Figuren ovan visar resultatet av valideringen av den perfekta strukturen. Mycket riktigt får vi ett perfekt resultat. Torbjörn Bäckmark
32 7 Handelsdata Jag har en fil med riktiga handelsdata från en dag. Den består av en tabell med volymer av köp- (bid) och säljorder (ask) respektive antalet affärer som går igenom (trades). Det anges en tid för varje händelse, samt ett nummer som anger vilken orderbok det berör. Tiden räknas i nanosekunder från och med början av den såkallade Epoken, 1:a jan 1970, men i den här filen är den omskalad så att tiden för den första händelsen är noll. tid nr bid ask trades Figur 23. Handelsdata Under den här dagen händer det saker i ungefär 3000 orderböcker, med nummer mellan 42 och Det är stor skillnad i hur pass tung handeln är i de olika orderböckerna. I vissa sker det väldigt mycket, medan andra endast har ett fåtal händelser under en hel dag. Totalt består filen av rader. Till att börja med har jag bearbetat filen så att det som händer vid samma tidpunkt summeras ihop. Sedan har jag valt ut ett par orderböcker. Sorterat ut de händelser som berör just dessa. Så här ser t ex data ut för orderbok nr 45. För den orderboken har vi 586 rader med data. tid nr bid ask trades *1.0e *1.0e *1.0e *1.0e *1.0e *1.0e *1.0e Figur 24. Handelsdata från orderbok nr 45 Torbjörn Bäckmark
33 Sedan summerar jag ihop data i tiominutersintervall. Det ger 73 intervall över dagen. För orderbok 45 ser data ut på följande vis. I tabellen nedan ser vi raderna 10 till 16. Tiden är den sista tidpunkten i intervallet. I översta raden har vi 6*1.0e+012, vilket är 6000 sekunder efter den första tidpunkten i filen. Det vill säga efter 100 minuter. På nästa rad följer det som händer, under nästa tiominutersintervall, fram till 110 minuter in från tiden 0. tid nr bid ask trades *1.0e *1.0e *1.0e *1.0e *1.0e *1.0e *1.0e Figur 25. Handelsdata från orderbok nr 45 i tiominutersintervall 7.1 Körning på två orderböcker Som insignaler till det neurala nätverket använder jag köp- respektive säljordervolymerna. Målvärdet är volym affärer. Jag använder ett jordannät, med tillståndsnoder. Figur 26. Körningar på två orderböcker Här är en körning på två orderböcker, nr 101 och nr 200. Jag tränar nätverket på den ena orderboken och använder den andra för att validera resultatet. Det visar sig i felkurvan för valideringsmängden, när jag tränar på endast en orderbok, att det är svårt att träna nätet med fullständigt minne. Felet för valideringsmängden tenderar att skena iväg. Valideringen verkar t o m bli bäst i det fall jag låter återkopplingen från tillståndsnoderna till sig själva vara noll. Då har vi alltså bara minne från föregående tidssteg. Resultatet varierar ändå rätt så kraftigt mellan olika körningar. Torbjörn Bäckmark
34 När det fungerar väl så får vi följande resultat. Figur 27. En körning på orderbok nr 101 och nr 200 Figur 28. Resultatet av körningen på två orderböcker Man ser att nätets approximation av antalet affärer fungerar ganska bra även för den andra orderboken, den som jag inte tränade med. Punkterna representerar insignalerna för den andra orderboken. Observera att orderböckerna är individuellt skalade. Orderbok 200 vars utsignaler ligger överst i figuren är i själva verket tio gånger mindre till beloppet än motsvarande signaler för orderbok 101. Torbjörn Bäckmark
35 7.2 En större träningsmängd av handelsdata Figur 29. Fördelningen av orderboksnr Figur 30. Volymen affärer över dagen För att få en större datamängd att träna på väljer jag ut lämpliga orderböcker. Jag har tittat på antalet händelser, valt ut orderböcker där det finns åtminstone ungefär 500 händelser över en dag. Jag har sedan plottat affärsvolymerna över dagen som i figuren ovan för orderbok 81. Det är vanligt att volymen är spridd i ett intervall, och att det sedan är någon eller några tidpunkter med mycket högre volymer, ofta på eftermiddagen. Jag har även tittat på att volymen inte är noll för allt för många tidpunkter för respektive orderbok. Sedan har jag skalat om varje orderbok med 10000, eller för att få data med de flesta punkterna mellan 0 och 1. Maxvärdena har dock varit upp till 6, ungefär. För orderbok 81 valde jag och de flesta punkterna kommer alltså här att ligga vid med några punkter upp mot 1 på eftermiddagen. Jag har bearbetat ett antal orderböcker på detta sätt och har valt ut 20 st. för att träna nätverket på. 14 stycken, 70 % använder jag till en träningsmängd och resterande 30 % dvs 6 stycken till en valideringsmängd. I orderböckerna är det nu 73 stycken tiominutersintervall per dag. Figur 31. Körning på handelsdata Torbjörn Bäckmark
36 Ett problem med att hantera data på det här sättet är att data från olika orderböcker följer på varandra. För det första innebär det problem med tillståndet i övergångarna. En annan sak är att orderböckerna är omskalade individuellt. Jag plottar utsignalerna från valideringen: Figur 32. Valideringsmängdens resultat Vid valideringen visar det sig att tillståndsnoderna får allt större värden. Efter knappt hundra data blir det gömda lagrets aktiveringsfunktioner mättade och nätet ger 0 som ständig utsignalsapproximation. Problemet med växande värden på tillståndsnoderna kan reduceras genom att låta återkopplingen läcka lite. Vi hade för jordannät att: Låt uppdateringen istället vara På så sätt undviker vi att återkoppla ett och får ett läckande minne. Nätverkets beteende borde bli stabilare. Torbjörn Bäckmark
37 Jag gör en ny körning med återkopplingen 0.9. Detta motsvaras av att ställa återkopplingarna från tillståndsnoderna till sig själva samt från indata och utdatanoderna till tillståndsnoderna till 0.9. Figur 33. Körning på handelsdata med återkopplingen 0,9 Plotten av utsignalerna för valideringsmängden: Figur 34. Valideringsmängdens resultat I den grova plotten överst ser vi att approximationen fungerar grovt sett. Men att det finns avvikelser. I andra figuren tittar vi närmare på data som motsvarar den fjärde orderboken. Och i den tredje figuren ser vi data från den sjätte orderboken. Vi ser att vi har en relativt bra följsamhet, men att det finns stora avvikelser. T ex vid 378 data. Torbjörn Bäckmark
38 Är det kanske så att fel uppstår i tillståndsnoderna vid övergångarna mellan olika orderböcker i valideringsmängden? Jag undersöker detta. Figur 35. Tillståndsnodernas värde Figuren visar tillståndsnodernas utveckling över tiden för den validering jag har gjort. I figuren finns två orderböcker med. Den första tar slut efter 73 data, den andra efter 146. Positivt i det här fallet är att tillståndsnodernas värde är nära noll vid båda dessa tidpunkter. Det här visar på att det trots allt kan fungera att träna på orderböckerna på detta sätt. Torbjörn Bäckmark
39 7.3 Validering av hingejordanstrukturen Jag provar att validera den hingejordanstruktur, som är ekvivalent med modellen som jag konstruerat, med riktiga handelsdata. Figur 36. Validering av hingejordanstrukturen med riktiga handelsdata Det ser relativt bra ut ändå. Det visar sig efter ett tag att den ena tillståndsnoden får ett relativt högt värde, ungefär 30, efter hela datamängden. Så nätets utsignal kommer att vara lika med en av insignalerna. T ex kring 870 följer nätets utsignal den första insignalen, köpordervolymen för det tiominutersintervallet. Vid 877 är den insignalen och alltså nätets approximation 9.6, målvärdet är 0. Det här visar på att modellen inte överensstämmer med börssystemet till fullo, vilket man inte heller hade förväntat sig. Däremot ser vi en viss följsamhet som ändå vittnar om att modellen liknar de samband som finns i börssystemet. Torbjörn Bäckmark
40 8 Att implementera en agent Vi vill övervaka systemet i realtid. Det är möjligt med ett jordannät, eftersom det behandlar en tidpunkt i taget. Man kan tänkas träna upp strukturen på data från hela handelsdagar för en specifik orderbok. 8.1 Sampling av data Vid handelsdagens början nollställer man tillståndsnoderna. Sedan samlas data in från systemet under ett tidsintervall, t ex tio minuter, och summeras ihop för att fungera som en datapost som valideras med nätet. En viktig frågeställning blir när agenten ska signalera. Den får inte vara för känslig eftersom avvikelser förekommer. Man kan tänka sig att vi mäter avvikelsen gentemot systemets utsignal vid valideringen. Detta ger upphov till punkter på en kurva. Vi vill släppa igenom eventuella naturliga avvikelser men reagera på fel i systemet. Jag tittar på avvikelserna i den validering som jag gjort på handelsdata. Figur 37. Validering på handelsdata Det här är samma data som i den tidigare figuren. Data från en orderbok som särskiljts från min valideringsfil. Torbjörn Bäckmark
41 Så tittar vi på avvikelsen, de riktiga utdatavärdena minus nätets prediktion från handelsdatafilen. Figur 38. Prediktionens avvikelse Vi ser att det förekommer relativt stora avvikelser, men att de är relativt jämt fördelade kring nollstrecket. Frågan är när man ska låta agenten signalera? Man kan låta agenten integrera ett värde över några tidpunkter, säg de sex senaste. På så sätt kommer normala avvikelser i hög grad att ta ut varandra eftersom de bör vara jämt fördelade kring nollstrecket. Detta integrerade värde kan man låta agenten visa i drift samt låta den alarmera när värdet överstiger en viss gräns. Det integrerade värdet är alltså ett mått på hur mycket systemets utsignal har skilt sig från agentens prediktion under det aktuella tidsintervallet. Valet av samplingsintervall blir betydelsefullt här. Det bör väljas litet för att få agenten att signalera snabbt på avvikelser. Samtidigt måste samplingsintervallet vara stort nog för att få med tillräckligt många händelser från den aktuella orderboken. Man kan tänka sig att använda olika samplingsintervaller för olika orderböcker utifrån respektive volymer affärer i orderböckerna. Vid dagens slut kan man låta nätet tränas någon epok på den gångna dagens data. På så vis kan strukturen även komma att förändras över tiden. Torbjörn Bäckmark
42 8.2 Integrerad avvikelse Jag går tillbaka till de två största orderböckerna. I dessa har det skett tillräckligt med handel för att använda samplingsintervall på fem minuter. Jag tar fram datamängder för de båda orderböckerna med data summerat i femminutersintervall. Jag tränar jordanstrukturen på orderbok nr 101 och validerar på nr 200. Som tidigare använder jag återkopplingen 0,9. I den övre figuren ser vi resultatet av valideringen, målvärde (+) och nätets prediktion (o). I den mellersta figuren ser vi avvikelsen, dvs målvärdet minus nätets prediktion. Och i den undre figuren ser vi absolutvärdet av det integrerade värdet över de sex senaste tidpunkterna. I det här fallet är alltså värdet i den undre figuren för varje tidpunkt ett mått på hur mycket avvikelse vi har haft från prediktionen under de sex senaste tidpunkterna, dvs den senaste halvtimmen. Och avvikelserna som vi får här skulle alltså vara normala. Antag att vi låter gränsvärdet för det integrerade värdet i det här fallet vara 2. Detta motsvarar avvikelser som i snitt är 0.33 för varje tidpunkt. Med den skala på signalerna som jag har i det här fallet motsvarar det i stort 10 % av signalen när den är som störst. I området kring 100, på eftermiddagen, har vi affärsvolymer på ungefär affärer per fem minuter. Jag har skalat ner volymerna med Torbjörn Bäckmark
43 8.3 Experiment med fel Jag går in i datamängden och simulerar ett fel. Antag att vi under en halvtimme från och med tidpunkten 100 får en nedgång i antalet affärer som går igenom med 20 %. Jag simulerar detta genom att gå in och ändra systemets utsignal för hand till 80 % av det riktiga värdet. Hur ser det ut? Den övre figuren visar signalerna, målvärde (+) och nätets prediktion (o). För tidpunkterna är målvärdet reducerat med 20 % jämfört med de värden som fanns i den riktiga valideringsfilen. I den mellersta figuren ser vi att avvikelserna i detta intervall inte längre är balanserade kring nollstrecket. Och i den undre figuren ser vi det integrerade värdet. De signaler som ligger över 2 är markerade, de motsvarar att agenten alarmerar. I det här fallet skulle agenten alarmera redan efter fem minuter. Torbjörn Bäckmark
ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap
ARTIFICIELLA NEURALA NÄT MARCO KUHLMANN Institutionen för datavetenskap Example Alt Bar Fri Hun Pat Price Rain Res Type Est WillWait 1 Yes No No Yes Some $$$ No Yes French 0 10 Yes 2 Yes No No Yes Full
Linköpings universitet
Översikt Kognitionsvetenskaplig introduktionskurs Föreläsning 4 Informationsbearbetningsmodeller Vad är kognitionsvetenskap? Kort bakgrund/historik Representation och bearbetning av information Vetenskapliga
729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap
729G43 Artificiell intelligens (2016) Maskininlärning 2 Marco Kuhlmann Institutionen för datavetenskap Förra gången: Gradientsökning tangentens lutning i punkt θ steglängdsfaktor Översikt Introduktion
729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann
729G43 Artificiell intelligens / 2015 Maskininlärning 3 Marco Kuhlmann Förra gången: Perceptroninlärning Beslutsregel predicerat y-värde Exempel: AND Välj parametrar θ 0, θ 1, θ 2 sådana att perceptronen
729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap
729G43 Artificiell intelligens (2016) Maskininlärning 3 Marco Kuhlmann Institutionen för datavetenskap Modell med vektornotation parametervektor särdragsvektor Perceptron kombinerar linjär regression med
2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit.
2D1432 Artificiella Neuronnät och andra lärande system Lösningsförslag till Tentamen 2003-03-06 Inga hjälpmedel. Uppgift 1 Vilka av följande påståenden är sanna? Korrigera de som är fel. 1. Potentialen
729G43 Artificiell intelligens / Maskininlärning 2. Marco Kuhlmann
729G43 Artificiell intelligens / 2015 Maskininlärning 2 Marco Kuhlmann Förra gången: Linjär regression Gradientsökning Vandra ner i felets dal. Steg 0: Börja med ett godtyckligt värde för θ. Steg 1: Räkna
Enlagersnät Flerlagersnät Generalisering. Artificiella Neuronnät
Artificiella Neuronnät 1 Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund 2 Begränsningar Träning av enlagersnät 3 Möjliga avbildningar Backprop algoritmen Praktiska problem
Artificiella Neuronnät
Artificiella Neuronnät 2 3 4 2 (ANN) Inspirerade av hur nervsystemet fungerar Parallell bearbetning Vi begränsar oss här till en typ av ANN: Framåtkopplade nät med lagerstruktur 3 4 Fungerar i princip
Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar
LUNDS TEKNISKA HÖGSKOLA MATEMATIKCENTRUM MATEMATISK STATISTIK DATORLABORATION 4 MATEMATISK STATISTIK, FÖR I/PI, FMS 121/2, HT-3 Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar
ANN fk. Örjan Ekeberg. Framåtkopplade Nät. återkopplade nät. Olika arkitekturer. BackPropagation through Time. Kalman-Filter tekniker
Hantering av Tid Återkopplade Återkopplade Återkopplade t Återkopplade Återkopplade Temporala signaler är svåra Gör om temporal signal till spatial t 1 t 2 t 3 t 4 Återkopplade t Enklaste formen Neuronal
1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05
1(15) Bilaga 1 2(15) Neuronnätslaboration Räknare Denna laboration riktar sig till gymnasieelever som går en teknisk utbildning och som helst har läst digitalteknik samt någon form av styrteknik eller
Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...
OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Artificiell Intelligens Lektion 7
Laboration 6 Artificiell Intelligens Lektion 7 Neurala nätverk (Lab 6) Probabilistiska resonemang Vad? Mönsterigenkänning Lära ett neuralt nätverk att känna igen siffror Varför? Få ökad förståelse för
HKGBB0, Artificiell intelligens
HKGBB0, Artificiell intelligens Kortfattade lösningsförslag till tentan 3 november 2005 Arne Jönsson 1. Vad karaktäriserar dagens AI-forskning jämfört med den AI-forskning som bedrevs perioden 1960-1985.
LARS ULVELAND HOPFIELDNÄTVERK FÖR IGENKÄNNING AV DEGRADERADE BILDER OCH HANDSKRIVNA TECKEN
LARS ULVELAD HOPFIELDÄTVERK FÖR IGEKÄIG AV DEGRADERADE BILDER OCH HADSKRIVA TECKE E PROJEKTRAPPORT FÖR PROJEKTKURSE I BILDAALYS HT 02 Teori för Hopfieldnätverk Hopfieldmodellen är en typ av neuronnät,
de var svåra att implementera och var väldigt ineffektiva.
OBS! För flervalsfrågorna gäller att flera alternativ eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad. Totalt kan
Optimering med bivillkor
Optimering med bivillkor Vi ska nu titta på problemet att hitta max och min av en funktionen f(x, y), men inte över alla möjliga (x, y) utan bara för de par som uppfyller ett visst bivillkor g(x, y) =
Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén,
Sub-symbolisk kognition & Konnektionism Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén, mats.andren@liu.se 1 Konnektionism Neutrala nät baseras på en (förenklad) modell av hur hjärnan fungerar.
REGLERTEKNIK Laboration 5
6 SAMPLADE SYSTEM 6. Sampling av signaler När man använder en dator som regulator, kan man endast behandla signaler i diskreta tidpunkter. T.ex. mäts systemets utsignal i tidpunkter med visst mellanrum,
LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M
TANA21+22/ 5 juli 2016 LAB 1. FELANALYS 1 Inledning I laborationerna används matrishanteringsprogrammet MATLAB. som genomgående använder dubbel precision vid beräkningarna. 1.1 Innehåll Du ska 1. bestämma
MVE465. Innehållsförteckning
Lösningar på övningsuppgifter Detta dokument innehåller mina renskrivna lösningar på övningsuppgifter i kursen Linjär algebra och analys fortsättning (). Jag kan inte lova att samtliga lösningar är välformulerade
där x < ξ < 0. Eftersom ξ < 0 är högerledet alltid mindre än Lektion 4, Envariabelanalys den 30 september 1999 r(1 + 0) r 1 = r.
Lektion 4, Envariabelanals den 30 september 1999 där 0 < ξ 0 är högerledet alltid större än 2.6.2 Åskådliggör medelvärdessatsen genom att finna en punkt i det öppna intervallet (1, 2) där
G(s) = 5s + 1 s(10s + 1)
Projektuppgift 1: Integratoruppvridning I kursen behandlas ett antal olika typer av olinjäriteter som är mer eller mindre vanligt förekommande i reglersystem. En olinjäritet som dock alltid förekommer
x +y +z = 2 2x +y = 3 y +2z = 1 x = 1 + t y = 1 2t z = t 3x 2 + 3y 2 y = 0 y = x2 y 2.
Lösningar till tentamen i Inledande matematik för M/TD, TMV155/175 Tid: 2006-10-27, kl 08.30-12.30 Hjälpmedel: Inga Betygsgränser, ev bonuspoäng inräknad: 20-29 p. ger betyget 3, 30-39 p. ger betyget 4
SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen DEL A. r cos t + (r cos t) 2 + (r sin t) 2) rdrdt.
1. Beräkna integralen medelpunkt i origo. SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen 218-3-14 D DEL A (x + x 2 + y 2 ) dx dy där D är en cirkelskiva med radie a och Lösningsförslag.
Numerisk lösning till den tidsberoende Schrödingerekvationen.
Numerisk lösning till den tidsberoende Schrödingerekvationen. Det är enbart i de enklaste fallen t ex när potentialen är sträckvis konstant som vi kan lösa Schrödingerekvationen analytiskt. I andra fall
Tentamen i Digitalteknik, EITF65
Elektro- och informationsteknik Tentamen i Digitalteknik, EITF65 3 januari 2018, kl. 14-19 Skriv anonymkod och identifierare, eller personnummer, på alla papper. Börja en ny uppgift på ett nytt papper.
Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University
Neurala nätverk och språk Henli807!1 Neurala nätverk och språkigenkänning Henrik Linnarsson Linköping University Neurala nätverk och språk Henli807!2 RNN, LSTM och språkigenkänning Inledning Idag är språkigenkänning
Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan
MAI/Linköpings universitet Fredrik Berntsson Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan 8.00-12.00 Redovisning Lös först uppgifterna i Matlab.
Experimentella metoder, FK3001. Datorövning: Finn ett samband
Experimentella metoder, FK3001 Datorövning: Finn ett samband 1 Inledning Den här övningen går ut på att belysa hur man kan utnyttja dimensionsanalys tillsammans med mätningar för att bestämma fysikaliska
Checklista för funktionsundersökning
Linköpings universitet Matematiska institutionen TATA41 Envariabelanalys 1 Hans Lundmark 2015-02-10 Checklista för funktionsundersökning 1. Vad är definitionsmängden D f? 2. Har funktionen några uppenbara
6 Derivata och grafer
6 Derivata och grafer 6.1 Dagens Teori När vi plottar funktionen f(x) = x + 1x 99x 8 med hjälp av dosan kan man få olika resultat beroende på vilka intervall man valt. 00000 100000-00 -100 100 00-100000
Pepins Group AB (publ) HANDELSREGLER FÖR PEPINS MARKET
Pepins Group AB (publ) HANDELSREGLER FÖR PEPINS MARKET Fastställda mars 2019 1. Inledning Pepins Market är primärt en lista för handel i bolag som finansierats via Pepins Group AB s plattform för crowdfunding
Funktionsstudier med derivata
Funktionsstudier med derivata Derivatan ett kraftfullt verktyg för att studera och tolka funktioner Det här avsnittet handlar om att man kan använda derivatan till att bestämma en funktions egenskaper
TATA42: Föreläsning 7 Differentialekvationer av första ordningen och integralekvationer
TATA42: Föreläsning 7 Differentialekvationer av första ordningen och integralekvationer Johan Thim 0 januari 207 Introduktion En differentialekvation (DE) i en variabel är en ekvation som innehåller både
= 0. Båda skärningsvinklarna är således π/2 (ortogonala riktningsvektorer).
Institutionen för Matematik, KTH Torbjörn Kolsrud SF163, ifferential- och integralkalkyl II, del 2, flervariabel, för F1. Tentamen torsdag 19 augusti 21, 14. - 19. Inga hjälpmedel är tillåtna. Svar och
En vanlig uppgift är att bestämma max resp min för en trigonometrisk funktion och de x- värden för vilka dessa antas.
Max och min för trigonometriska funktioner En vanlig uppgift är att bestämma max resp min för en trigonometrisk funktion och de x- värden för vilka dessa antas. Ta t.ex y = 12 sin(3x-90) När man ska studera
8.3 Variabeltransformationer Frånkoppling. Betrakta ett 2x2-system, som beskrivs med modellen (8.3.1)
8.3 Variabeltransformationer Betrakta ett 2x2-system, som beskrivs med modellen y () s G () s G () s u () s 1 11 12 1 y2() s = G21() s G22() s u2() s (8.3.1) Figuren till höger visar ett blockschema över
x sin(x 2 )dx I 1 = x arctan xdx I 2 = x (x + 1)(x 2 2x + 1) dx
TM-Matematik Mikael Forsberg XXX-XXX DistansAnalys Envariabelanalys Distans ma034a ot-nummer 3 Skrivtid: 09:00-4:00. Inga hjälpmedel. Lösningarna skall vara fullständiga och lätta att följa. Börja varje
Envariabelanalys 5B1147 MATLAB-laboration Derivator
Envariabelanalys 5B1147 MATLAB-laboration Derivator Sanna Eskelinen eskelinen.sanna@gmail.com Sonja Hiltunen sonya@gmail.com Handledare: Karim Dao Uppgift 15 Problem: Beräkna numeriskt derivatan till arctan
Sammanfattning av föreläsning 4. Modellbygge & Simulering, TSRT62. Föreläsning 5. Identifiering av olinjära modeller
Sammanfattning av föreläsning 4 Modellbygge & Simulering, TSRT62 Föreläsning 5. Identifiering av olinjära modeller Reglerteknik, ISY, Linköpings Universitet Linjära parametriserade modeller: ARX, ARMAX,
Pepins Group AB (publ) HANDELSREGLER FÖR. ALTERNATIVA LISTAN Samt för vissa bolag på Interna Listan
Pepins Group AB (publ) HANDELSREGLER FÖR ALTERNATIVA LISTAN Samt för vissa bolag på Interna Listan Fastställda i oktober 2016 1. Inledning Detta dokument beskriver hur handeln på Alternativa Listan (Alternativa)
Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning
Matematik, KTH Bengt Ek november 207 Material till kursen SF679, Diskret matematik: Lite om kedjebråk 0 Inledning Talet π (kvoten mellan en cirkels omkrets och dess diameter) är inte ett rationellt tal
4 Fler deriveringsregler
4 Fler deriveringsregler 4. Dagens Teori Derivatan av potensfunktioner. Potensfunktioner med heltalsexponenter, som du redan kan derivera, kallas polynomfunktioner, som till exempel: f(x) = 2x4 x3 + 2x
TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.
TANA09 Föreläsning 8 Kubiska splines Approximerande Splines s s s s 4 B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor. x x x x 4 x 5 Exempel Parametriska Kurvor. Ritprogram. Beziér kurvor.
Pepins Group AB (publ) HANDELSREGLER FÖR PEPINS MARKET
Pepins Group AB (publ) HANDELSREGLER FÖR PEPINS MARKET Fastställda mars 2019 1. Inledning Pepins Market är primärt en lista för handel i bolag som finansierats via Pepins Group AB s plattform för crowdfunding
TDDB96 Projekt: Object priming med visuell stimuli
TDDB96 Projekt: Object priming med visuell stimuli Daniel Johansson danjo133@student.liu.se Rickard Jonsson ricjo400@student.liu.se 1. Sammanfattning Vad vi ville komma fram till i denna studie var huruvida
f(x + h) f(x) h f(x) f(x h) h
NUMPROG, D för M, vt 008 Föreläsning N: Numerisk derivering och integrering Inledning: numerisk lösning av analytiska problem Skillnader mellan matematisk analys och numeriska metoder. Grundläggande begrepp
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?
När vi nu lärt oss olika sätt att karaktärisera en fördelning av mätvärden, kan vi börja fundera över vad vi förväntar oss t ex för fördelningen av mätdata när vi mätte längden av en parkeringsficka. Finns
MVE051/MSG Föreläsning 14
MVE051/MSG810 2016 Föreläsning 14 Petter Mostad Chalmers December 14, 2016 Beroende och oberoende variabler Hittills i kursen har vi tittat på modeller där alla observationer representeras av stokastiska
f(x) = x 2 g(x) = x3 100 h(x) = x 4 x x 2 x 3 100
8 Skissa grafer 8.1 Dagens Teori När vi nu ska lära oss att skissa kurvor är det bra att ha en känsla för vad som händer med kurvan när vi sätter in stora tal. Inledningsvis är det ju polynom vi ska studera.
Weibullanalys. Maximum-likelihoodskattning
1 Weibullanalys Jan Enger Matematisk statistik KTH Weibull-fördelningen är en mycket viktig fördelning inom tillförlitlighetsanalysen. Den används ofta för att modellera mekaniska komponenters livslängder.
Vektorer, matriser, nätverk - några elementa
Vektorer, matriser, nätverk - några elementa Innehåll: Vektorer Radvektorer och kolumnvektorer Operationer med vektorer Input- och outputvektorer i neurala nätverk Utvikning om kompetitiva nät Matriser
Lösningar och kommentarer till uppgifter i 2.2
Lösningar och kommentarer till uppgifter i 2.2 2202 Beräkna Detta ger f(3 + h) f(3) då f(x) x 2 (3 + h) 2 3 2 h 2 + 6h 6 + h 6 h 0 Vi har därmed bestämt riktningskoefficienten (k-värdet) för tangenten
f(x) = x 2 g(x) = x3 100
När vi nu ska lära oss att skissa kurvor är det bra att ha en känsla för vad som händer med kurvan när vi sätter in stora tal. Inledningsvis är det ju polynom vi ska studera. Här ska vi se vad som händer
Matematik 3c Kap 2 Förändringshastighet och derivator
Matematik 3c Kap 2 Förändringshastighet och derivator Inledning Konkretisering av ämnesplan (länk) http://www.ioprog.se/public_html/ämnesplan_matematik/struktur_äm nesplan_matematik/struktur_ämnesplan_matematik.html
5B1134 Matematik och modeller Lösningsförslag till tentamen den 13 januari T = 1 ab sin γ. b sin β = , 956 0, 695 0, 891
KTH Matematik 5B1134 Matematik modeller Lösningsförslag till tentamen den 13 januari 6 1. a) Bestäm sidlängderna i en triangel med vinklarna 44, 63 73 om arean av triangeln är 64 cm. Ange svaren som närmevärden
MAA7 Derivatan. 2. Funktionens egenskaper. 2.1 Repetition av grundbegerepp
MAA7 Derivatan 2. Funktionens egenskaper 2.1 Repetition av grundbegerepp - Det finns vissa begrepp som återkommer i nästan alla kurser i matematik. Några av dessa är definitionsmängd, värdemängd, största
Vi ska titta närmare på några potensfunktioner och skaffa oss en idé om hur deras kurvor ser ut. Vi har tidigare sett grafen till f(x) = 1 x.
Vi ska titta närmare på några potensfunktioner och skaffa oss en idé om hur deras kurvor ser ut. Vi har tidigare sett grafen till f(x) = x 8 6 4 2-3 -2-2 3-2 -4-6 -8 Figur : Vi konstaterar följande: Då
Flervariabelanalys E2, Vecka 3 Ht08
Flervariabelanalys E2, Vecka 3 Ht8 Omfattning och innehåll 2.7 Gradienter och riktningsderivator. 2.8 Implicita funktioner 2.9 Taylorserier och approximationer 3. Extremvärden 3.2 Extremvärden under bivillkor
Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar
LUNDS TEKNISKA HÖGSKOLA MATEMATIKCENTRUM MATEMATISK STATISTIK DATORLABORATION 4 MATEMATISK STATISTIK, AK FÖR I, FMS 120, HT-00 Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar
y y 1 = k(x x 1 ) f(x) = 3 x
Räta linjen på olika former Här ska vi bara påpeka att förutom k-form, den som vi är mest vana vid y = k y + m finns också allmän form: ax + by + c = 0 där a och b är konstanter, som inte någon står för
Kan du det här? o o. o o o o. Derivera potensfunktioner, exponentialfunktioner och summor av funktioner. Använda dig av derivatan i problemlösning.
Kan du det här? o o o o o o Vad innebär det att x går mot noll? Vad händer då x går mot oändligheten? Vad betyder sekant, tangent och ändringskvot och vad har dessa begrepp med derivatan att göra? Derivera
Inledning. Kapitel 1. 1.1 Bakgrund. 1.2 Syfte
Sammanfattning Vi har i kursen Modelleringsprojekt TNM085 valt att simulera ett geléobjekt i form av en kub. Denna består av masspunkter som är sammankopplade med tre olika typer av fjädrar med olika parametrar.
FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum
Johan Helsing, 11 oktober 2018 FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum Inlämningsuppgift 3 Sista dag för inlämning: onsdag den 5 december. Syfte: att träna på att hitta lösningar
LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664
LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664 Tillämpad envariabelanalys med numeriska metoder för CFATE1 den 1 mars 214 kl 8.-1. 1. Bestäm värdemängden till funktionen f(x) = 2 arctan x + ln (1 + x 2 ), där
Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4
Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa
5B1146 med Matlab. Laborationsr. Laborationsgrupp: Sebastian Johnson Erik Lundberg, Ann-Sofi Åhn ( endst tal1-3
1 Revision 4 2006-12-16 2. SIDFÖRTECKNING 5B1146 med Matlab Laborationsr Laborationsgrupp: Sebastian Johnson, Ann-Sofi Åhn ( endst tal1-3 Titel Sida 1. Uppgift 1.8.1....3 2. Uppgift 1.8.2....6 3. Uppgift
Prissättning av optioner
TDB,projektpresentation Niklas Burvall Hua Dong Mikael Laaksonen Peter Malmqvist Daniel Nibon Sammanfattning Optioner är en typ av finansiella derivat. Detta dokument behandlar prissättningen av dessa
TANA17 Matematiska beräkningar med Matlab
TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall
1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =
Kursen bedöms med betyg,, 5 eller underkänd, där 5 är högsta betyg. För godkänt betyg krävs minst poäng från uppgifterna -7. Var och en av dessa sju uppgifter kan ge maximalt poäng. För var och en av uppgifterna
f(x, y) = ln(x 2 + y 2 ) f(x, y, z) = (x 2 + yz, y 2 x ln x) 3. Beräkna en vektor som är tangent med skärningskurvan till de två cylindrarna
ATM-Matematik Mikael Forsberg 734-41 3 31 För studenter i Flervariabelanalys Flervariabelanalys mk1b 13 8 Skrivtid: 9:-14:. Hjälpmedel är formelbladen från insidan av Pärmen i Adams Calculus, dessa formler
Kan vi beskriva ett system utan någon fysikalisk kännedom om systemet?
Kan vi beskriva ett system utan någon fysikalisk kännedom om systemet? 1 Om svaret på frågan är ja så öppnar sig möjligheten att skapa en generell verktygslåda som fungerar för analys och manipulering
Oändligtdimensionella vektorrum
Oändligtdimensionella vektorrum Vi har i den här kursen huvudsakligen studerat ändligtdimensionella vektorrum. Dessa är mycket användbara objekt och matriskalkyl ger en bra metod att undersöka dom med.
Signalanalys med snabb Fouriertransform
Laboration i Fourieranalys, MVE030 Signalanalys med snabb Fouriertransform Den här laborationen har två syften: dels att visa lite på hur den snabba Fouriertransformen fungerar, och lite om vad man bör
Inlärning utan övervakning
Översikt Biologiska mekanismer bakom inlärning Inlärning utan övervakning Inlärning utan övervakning Hebbiansk modellinlärning Självorganisering Arbetsfördelning mellan noder i ett lager som utvecklas
STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.
MATEMATISKA INSTITUTIONEN Tillämpad statistisk analys, GN STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB 2011-03-24 DATORLABORATION 1: TIDSSERIER. I Tarfala har man under en lång följd av
Kognitiv Modellering
Kognitiv Modellering Mårten Szymanowski 20 januari 2004 Innehåll 1 Kognitiv Modellering 2 1.1 Varför?................................ 2 2 Grundläggande psykologiska fenomen 3 2.1 Stimulusgeneralisering........................
TAIU07 Matematiska beräkningar med Matlab
TAIU07 Matematiska beräkningar med Matlab Laboration 3. Linjär algebra Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion 2 En Komet Kometer rör sig enligt ellipsformade
SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A
SF166 Flervariabelanalys Lösningsförslag till tentamen 16-8-18 DEL A 1 Låt D vara det område ovanför x-axeln i xy-planet som begränsas av cirkeln x + y = 1 samt linjerna y = x oc y = x Beräkna x-koordinaten
Övervakningssystem. -skillnader i bilder. Uppsala Universitet Signaler och System ht Lärare: Mathias Johansson
Uppsala Universitet Signaler och System ht 02 2002-12-07 Övervakningssystem -skillnader i bilder Lärare: Mathias Johansson Gruppen: Jakob Brundin Gustav Björcke Henrik Nilsson 1 Sammanfattning Syftet med
LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning
TANA18/20 mars 2015 LAB 3. INTERPOLATION 1 Inledning Vi ska studera problemet att interpolera givna data med ett polynom och att interpolera med kubiska splinefunktioner, s(x), som är styckvisa polynom.
Optimala vinkeln av bortklippt cirkelsektor fo r maximal volym pa glasstrut
Optimala vinkeln av bortklippt cirkelsektor fo r maximal volym pa glasstrut Frågeställning Av en cirkulär pappersskiva kan en cirkelsektor med en viss vinkel klippas bort. Med den resterande sektorn går
A B C D E F A B C D E F (3) Svar: Tabellen ger grafen:
1. Russel & Norvig menar att man kan utveckla AI-system som antingen tänker som en människa, handlar som en människa, tänker rationellt eller handlar rationellt. Förklara och exemplifiera dessa fyra synsätt.
Kundhandledning för EBIS. E-space Business Intelligence System. Version
Kundhandledning för EBIS E-space Business Intelligence System Version 1 10-10-06 E-space Communication AB 2010 Innehåll 1. Introduktion 3 2. Filerna har olika egenskaper 4 2.1. Analys i kundzonen. 4 2.2.
SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen DEL A
SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen 16-8-18 DEL A 1. Låt D vara det område ovanför x-axeln i xy-planet som begränsas av cirkeln x + y = 1 samt linjerna y = x och y =
SELF- ORGANIZING MAPS
LINKÖPINGS UNIVERSITET Kognitionsvetenskapliga Programmet Examinator: Arne Jönsson SELF- ORGANIZING MAPS - Ett fördjupningsarbete inom Artificiell Intelligens Fack 52 katwa676@student.liu.se Sammanfattning
SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A. e 50k = k = ln 1 2. k = ln = ln 2
SF625 Envariabelanalys Lösningsförslag till tentamen 23--24 DEL A. Den :a januari 26 låstes kg av ett visst radioaktivt ämne in i en källare. Ämnet sönderfaller i en takt som är direkt proportionell mot
För teknologer inskrivna H06 eller tidigare. Skriv GAMMAL på omslaget till din anomyna tentamen så att jag kan sortera ut de gamla teknologerna.
Matematik Chalmers Tentamen i TMV225 Inledande matematik M, 2009 01 17, f V Telefon: Christoffer Cromvik, 0762 721860 Inga hjälpmedel. Kalkylator ej tillåten. Varje uppgift är värd 10 poäng, totalt 50
Isometrier och ortogonala matriser
Isometrier och ortogonala matriser (Delvis resultat som kunde kommit tidigare i kursen) För att slippa parenteser, betecknas linära avbildningar med A och bilden av x under en lin avbildn med Ax i stället
Fel- och störningsanalys
Fel- och störningsanalys 1 Terminologi Antag att x är ett exakt värde och x är en approximation av x. Vi kallar då absoluta felet i x = x x, relativa felet i x = x x x. Ofta känner vi inte felet precis
Modeller och simulering av språkprocessning
Modeller och simulering av språkprocessning Seriell processmodell + parallell processmodell Parallell modell med 2-vägsförbindelser Artificiellt neuralt nätverk (ANN) Interaktiv aktiverings-modell (IAM)
Monte Carlo-metoder. Bild från Monte Carlo
Monte Carlo-metoder 0 Målen för föreläsningen På datorn Bild från Monte Carlo http://en.wikipedia.org/wiki/file:real_monte_carlo_casino.jpg 1 Begrepp En stokastisk metod ger olika resultat vid upprepning
Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.
TANA09 Föreläsning 8 Approximerande Splines B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor. Exempel Parametriska Kurvor. Ritprogram. Beziér kurvor. Design av kurvor och ytor. Tillämpning
x ( f u 2y + f v 2x) xy = 24 och C = f
Institutionen för Matematik, KTH Torbjörn Kolsrud SF160, Differential- och integralkalkyl II, del 2, flervariabel, för F1. Tentamen onsdag 0 maj 2012, 8.00-1.00 Förslag till lösningar 1. Bestäm tangentplanet
Interpolation Modellfunktioner som satisfierar givna punkter
Interpolation Modellfunktioner som satisfierar givna punkter Några tillämpningar Animering rörelser, t.ex. i tecknad film Bilder färger resizing Grafik Diskret representation -> kontinuerlig 2 Interpolation
Pepins Group AB (publ) HANDELSREGLER FÖR PEPINS MARKET
Pepins Group AB (publ) HANDELSREGLER FÖR PEPINS MARKET Fastställda i oktober 2016 1. Inledning Pepins Market är en lista för handel i bolag som finansierats via Pepins Group AB s plattform för crowdfunding.