Förutsäga data för lastbilstrafik med maskininlärning

Storlek: px
Starta visningen från sidan:

Download "Förutsäga data för lastbilstrafik med maskininlärning"

Transkript

1 EXAMENSARBETE INOM DATALOGI OCH DATATEKNIK, AVANCERAD NIVÅ, 30 HP STOCKHOLM, SVERIGE 2017 Förutsäga data för lastbilstrafik med maskininlärning ERIC HÖRBERG KTH SKOLAN FÖR DATAVETENSKAP OCH KOMMUNIKATION

2 Förutsäga data för lastbilstrafik med maskininlärning Examensarbete ERIC HÖRBERG Examensarbete vid NADA - 6 December 2016 Handledare: Jeanette Hällgren Kotaleski Examinator: Erik Fransén

3

4 Referat Artificiella neuronnätverk används idag frekvent för att försöka se mönster i stora mängder data. Ser man mönster kan man till viss del se framtiden, och hur väl det fungerar på lastbilstrafik undersöks i den här rapporten. Historisk data om lastbilstrafik används med ett framåtkopplat artificiellt neuronnätverk för att skapa prognoser för lastbilars ankomster till en logistisk plats. Med ett program som skapats för att testa vilka paramterar som ger bäst resultat för det artificiella neuronnätverket så undersöks vilken datastruktur och vilken typ av prognos som ger det bästa resultatet. De två typer av prognoser som testas är tiden till nästa lastbils ankomst samt intensiteten av lastbilarnas ankomster nästa timme. De bästa prognoserna skapades när intensiteten av lastbilar för nästa timme förutspåddes, och prognoserna visade sig då vara bättre än de prognoser nuvarande statistiska metoder kan ge.

5 Abstract Predicting data for truck tra c with machine learning Artificial neural networks are used frequently today in order to find patterns in large amounts of data. If one can see the patterns one can to some extent see the future, and how well this works for truck tra c is researched in this report. Historical data about truck tra c is used with a feed-forward artificial neural network to create forecasts for arrivals of trucks to a logistic location. With a program that was created to test what data structure and what parameters give the best results for the artificial neural network it is researched what type of forecast gives the best result. The two forecasts that are tested are the time to the next trucks arrival and the intensity of truck arrivals the next hour. The best forecasts were created when the intensity of trucks for the next hour were predicted, and the forecasts were shown to be better than the forecasts present statistical methods can give.

6 Innehåll 1 Introduktion Problembeskrivning Prediktioner med ANN Rapportens mål LUP Technologies AB Rapportens struktur Bakgrund Lastbilstrafik ANNs historia Framåtkopplade nätverk - en typ av ANN Metod ANNs struktur Motivation för ANNs struktur Programmet runt ANN Datans initiala struktur Verifiering av metod Verifiering av resultat Cross-validation Statistik Genomsnitt Bearbetning av indata Avstånd mellan lastbilsankomster Antal lastbilsankomster per timme Resultat Parametrar för ANN Diskussion Avslutande ord Litteraturförteckning 37

7

8 Kapitel 1 Introduktion Att gissa in i framtiden är sällan en enkel uppgift, men att lyckas innebär ofta stor potential. Denna rapport beskriver vad artificiella neuronnätverk (ANN) är, hur ANN är uppbyggda samt hur ANN klarar av att förutspå framtiden och ge prognoser för lastbilar. Människan kan också gissa in i framtiden, vi kan t.ex. gissa vem som kommer att vinna en fotbollsmatch och vad motståndaren har för hand i poker. Vissa är så pass bra på att gissa in i framtiden att de kan livnära sig på det. Med mer data kan människan göra bättre gissningar, och det är här ANN har ett övertag. Mängden data ANN kan ta hänsyn till är enormt mycket större än den mängd människan kan ta till sig. En människa kan känna till ungefär hur det brukar gå för ett fotbollslag och vad som oftast är statistiskt korrekt när man spelar poker, men ANN kan ha alla fotbollsmatcher som någonsin har spelats i sitt minne, och alla pokerhänder mellan alla spelare någonsin. Detta övertag är vad som gör att ANN ibland lyckas bättre än sin skapare med att gissa in i framtiden. 1.1 Problembeskrivning Svenska industrier som använder sig av lastbilstransporter har idag ett stort problem. De vet inte när lastbilarna kommer att anlända till deras plats, och de har ingen att fråga. Problemet kommer från att logistikkedjan är fragmenterad, och att information inte delas fritt mellan parterna. De flesta lastbilar är idag utrustade med GPS, men detta är inte information som finns tillgänglig för industrierna. Intensiteten av lastbilar kan variera kraftigt och plötsligt på ett industriområde. Då industrierna inte vet hur trafiken varierar måste de överdimensionera sin kapacitet för att kunna hantera dessa svägningar. Om industrin med större säkerhet kunde förutse när dessa pikar i lastbilsintensitet skulle inträ a skulle de kunna spara tid och pengar. 1

9 KAPITEL 1. INTRODUKTION 1.2 Prediktioner med ANN ANN har använts inom många olika områden för att ge prediktioner givet att man har historiska data. Det har använts både inom finans, medicin och väder. Ett mycket bra citat om varför ANN används i dessa typer av situationer återfinns i rapporten Forecasting with artificial neural networks: The state of the art : ANNs are data-driven self-adaptive methods in that there are few a priori assumptions about the models for problems under study. They learn from examples and capture subtle functional relationships among the data even if the underlying relationsships are unknown or hard to describe. This ANNs are well suited for problems whose solutions require knowledge that is di cult to specify but for which there are enough data or observations. [19] Denna beskrivning passar in på prediktioner av lastbilsdata. Mycket data finns tillgängligt, men det är inte tydligt vilka mönster som finns i datan. Vidare har rapporten Electric Load Forecasting Using An Artificial Neural Network angripit ett liknande problem med ANN, och använder även där historiska data som input till sytemet: As is the case with time series approach, the ANN traces previous load patterns and predicts(i.e. extrapolates) a load pattern using recent load data. [21] 1.3 Rapportens mål Denna rapport undersöker till vilken grad maskininlärning kan förutse lastbilstrafik till en logistisk plats, givet data om den platsens historiska lastbilstrafik. Vilken logistisk plats datan gäller tas inte upp i rapporten då det är konfidentiellt. Däremot så gäller datan endast ett flöde på denna logistiska plats, utlastningen. Den data som används är de tidpunkter då lastbilar åker in innanför grindarna på området. Rapportens mål är att besvara följande tre frågor: Man kan ge prognoser på lastbilstrafik både i tid till kommande lastbil samt intensitet under kommande tidsenhet. Vilken typ av prognos ger bäst resultat? ANN har flera parametrar som måste konfigureras. Vilka värden på parametrarna ger bäst resultat? Det går även att uppskatta lastbilstrafik med statistiska metoder. Är det bästa resultatet ANN kan producera bättre än de statistiska metodernas resultat? 1.4 LUP Technologies AB Exjobbet utfördes på företaget LUP Technologies AB och är en del av företagets produktutveckling. Företaget LUP Technologies AB jobbar med att göra transporter säkrare och e ektivare. Deras främsta produkt är LUPNUMBER, som är ett 2

10 1.5. RAPPORTENS STRUKTUR sätt för industrier att nå ut till lastbilschau örer med säkerhetsinformation och leveransinformation. Satsningen på ANN kommer från insikter som företagets nära kontakt med marknade har lett till. Dessa insikter innefattar kostnaderna som krävs för att slotbokning ska vara användbart, samt den allmänna uppfattningen om att det verkar finnas ett mönster i när lastbilar anländer till en logistisk plats. 1.5 Rapportens struktur Rapporten kommer först gå igenom bakgrunden till problemet tydligare och förklara de algoritmer som användes. Sen kommer rapporten förklara metoden som användes, hur dess resultat verifierades samt hur datan omstrukturerades för att uppnå resultaten. Slutligen kommer rapporten lista resultaten och diskutera dem. 3

11

12 Kapitel 2 Bakgrund 2.1 Lastbilstrafik Lastbilstrafik är en bransch som är lätt att glömma bort. När man tänker på stora företag i Sverige är ett namn som kommer upp IKEA. Om man jämför IKEAs årliga omsättning i Sverige så är det inte ens i närheten av hur mycket svensk åkerinäring omsätter. IKEA omsätter årligen över 20 miljarder i Sverige, men Sveriges åkerinäring omsätter över 150 miljarder årligen [1, 2]. Ett enkelt sätt att inse storleken på lastbilsindustrin är att se runt sig där man sitter. Allt man ser kring sig inomhus, inte bara alla saker utan alla väggar, det där innanför, alla kläder och all mat har åkt lastbil. Volymerna är enorma. Lastbilstrafiken har idag dock ett stort problem, och det är kommunikationen. Om en industri vill ha en lastbilsleverans så hör de av sig till en speditör såsom DHL, DSV, DB Schenker, etc. och beställer leveransen. Speditören ger sen arbetsuppgiften till ett åkeri, som i sin tur ger arbetsuppgiften till en lastbilschau ör. Denna kedja är för lång för att någon väsentlig information utöver lastnummer och adress ska nå från industri hela vägen till lastbilschau ören. Det stora problemet här är att det blir mycket svårt för industrin att förutse när leveransen kommer till deras plats. Den enda kontakten de har är speditören, som omöjligen kan ge relevanta uppskattningar på när en lastbil kommer. Därför är just nu många industrier intresserade av att implementera slotbokning på sitt industriområde. Slotbokning innebär att varje lastbil får en tid tilldelad (eller vald, beroende på implementation) som de förväntas komma vid. Vad som händer om lastbilen inte kommer vid denna tid varierar mellan ingenting, och att de inte får komma in. Om en industri visste när leveranser skulle komma till deras plats hade de haft möjlighet att bli mycket e ektivare, både vad gäller bemanning och planering. Besparingspotentialen går inte att förutsäga exakt, men då marknaden är så enorm bara i Sverige och då lösningen är applicerbar globalt så handlar det om mycket stora mängder pengar. Det finns dock flera problem med slotbokning, och det är mycket arbete för att få 5

13 KAPITEL 2. BAKGRUND det att fungera bra. Ett av problemen är att det är lastbilschau ören som själv vet bäst när hen kommer kunna anlända till industrin. I nuvarande implementationer av slotbokning så är det dock inte lastbilschau ören som säger när hen kommer att anlända. Beroende på implementation så är det antingen speditörerna eller åkerierna som säger en tid, eller industrin som kräver en tid som sen följs så gott den kan av speditörer, åkerier och lastbilschau örer. Om det inte är lastbilschau ören själv som säger när hen kommer att anlända så är risken stor att tiden inte kommer att stämma. Vidare, om det är lastbilschau ören som bokar tiden så är risken att lastbilschau ören gör det inte särskilt hög såvida inte lastbilschau ören tjänar något på att göra det. För att lastbilschau ören ska tjäna något på att boka en tid så måste det finnas en separat grind för bokade tider, annars hamnar lastbilschau ören i samma kö som de som inte bokade tid. Då finns ingen poäng med att boka en tid för lastbilschau ören. För de industrier som inte redan har möjlighet att ha flera infarter, en kö för bokade och en kö för obokade, så kan det vara enorma kostnader associerade med att bygga en ny infart. Men, det finns ett annat sätt att lösa problemet. Det man egentligen vill veta är som sagt när lastbilarna kommer. Slotbokning är bara en lösning på problemet, en annan är att använda sig av ANN. 2.2 ANNs historia ANN har funnits sedan Det är givetvis svårt att peka ut en vetenskaplig rapport som var den första på området, men det är också svårt att börja längre bak än Warren McCulloch och Walter Pitts rapport, som släpptes Rapporten föreslår en modell för hur neuroner skulle kunna fungera, och modellerar dem som elektroniska kretsar [3]. Nästa rapport som bör nämnas är den Donald Hebb skrev 1949, The Organization of Behavior. I denna rapport läggs en av grundstenarna för ANN. Rapporten föreslår att när två neuroner aktiveras samtidigt så stärks kopplingen emellan dem. Denna teori står kvar även idag som den populäraste teorin för hur det går till när människan (lite generaliserat) lär sig [4]. Under 50-talet blev datorer tilltäckligt kraftfulla för att simulera ANN. Tidigare misslyckade försök hade gjorts, men 1959 skapade Marcian Ho och Bernard Widrow MADALINE, och det var första gången som ANN applicerats på reella problem. Med hjälp av ANN kunde Marcian Ho och Bernard Widrow förutspå framtiden i form av att förutspå bit-trafik på en telefonlinje [5]. ANN fortsatte att utvecklas under 70- och 80-talet, men det är först de senaste åren som ANN verkligen blivit populärt så visade Watsson, en artificiell intelligens av IBM som byggde på många algoritmer men bl.a. ANN, toppen av isberget av ANNs potential när den vann på Jeopardy [6]. Idag har ANN lyckats inom områden man tidigare trott varit utom dess räckhåll. Googles AlphaGo besegrade en professionell go-spelare på spelet go, vilket är 6

14 2.3. FRAMÅTKOPPLADE NÄTVERK - EN TYP AV ANN häpnandsväckande då spelet go är för komplext för att alla möjliga drag ska kunna genomsökas, på det sätt som schack kan genomsökas med dagens datorer. Spelet kräver ett kreativt tänkade för att spela på professionell nivå [7]. 2.3 Framåtkopplade nätverk - en typ av ANN Det finns olika typer av ANN. Den typ av ANN som användes för uppgiften är kallas för framåtkopplade nätverk. Framöver kommer ANN att åsyfta framåtkopplade artificiella neuronnätverk. ANN består av tre distinkta delar. Input, nätverk, output. Input är den data som används, output är de svar som förväntas och nätverket är där själva algoritmen arbetar. Signalen från input skickas in i nätverket, som sen producerar en ny modifierad signal som skickas till output. Att visa den absolut enklast möjliga formen av ANN är en bra startpunkt för att förstå dem. Följande exempel kommer simplifieras på många sätt, men kommer att ge en god grund för att beskriva ANN. Vi kommer använda oss av denna input och output, då det är ett mönster som är lätt att förstå: Output är det dubbla av input. Input Output Tabell 1. Ett enkelt exempel på input och output till ANN Den enklaste formen av ANN har endast en neuron i sitt nätverk. Alla neuroner har en överföringsfunktion, f(x), och vi kommer använda oss av den enklaste typen av överföringsfunktion: f(x) =x. När signalen 1 tas emot av denna neuron kommer den att skickas igenom sin överföringsfunktion: f(1) = 1, och signalen 1 skickas då till output. Alla kopplingar mellan neuroner har en vikt som kan stärka eller försvaga signalen, precis som Hebb beskrev. Vikten emellan vår input och vår neuron betecknas som v. Signalen går alltså från input till vår neuron genom denna synaps med en vikt som signalen multipliceras med. Dessa tillsammans skapar neuronens fulla överföringsfunktion, f(x) =vx Synapser initeras oftast med en slumpmässig vikt. Vi säger att denna slumpmässiga vikt i vårt fall är v =3.71. Låt oss se vad output blir för första input-signalen: 7

15 KAPITEL 2. BAKGRUND f(1) = 3.71 ú 1=3.71 Vår simpla version av ANN ger svaret 3.71 på det första input-värdet. Detta värde jämförs nu med önskad output för det värdet, 2. Värdet som ANN producerade var för högt, och nätverket justerar sina vikter efter denna feedback. Vi säger att vår synaps har uppdaterat sin vikt och att det nya värdet på synapsens vikt är Neuronen får nu sitt nästa värde, 2. Låt oss se vad det resulterar i för output. f(2) = 1.73 ú 2=3.46 Detta värde är för lågt, enligt tabellen ska värdet bli 4. Nätverket infomeras om detta varpå alla vikter uppdateras. På detta sätt kan neuronernas vikt konvergera mot det rätta värdet, vilket i vårt fall är 2. f(3) = 2 ú 3=6 Detta simplifierade som sagt många steg i hur ett neuronnätverk lär sig, men det skapar ett överskådligt exempel på strukturen i ANN. Nu finns ett utrymme för att förklara strukturen mer korrekt. Vi börjar med överföringsfunktionen. De två vanligaste överföringsfunktionerna är f(x) = 1 e x 1+e och f(x) =arctan(x). x Som figur 1 visar är funktionerna mycket lika varandra: Figur 1. Två vanliga överföringsfunktioner för ANN Dessa funktioners syfte är att omvandla värden till mer relativa värden. Efter överföringsfunktionen blir skillnaden mellan 0 och 1 mycket större än skillnaden mellan 20 och 21. Detta är önskvärt, då skillnaden mellan 0 och 1 i de flesta fall faktiskt är större än skillanden mellan 20 och 21 i maskininlärningsproblem: arctan(1) arctan(0) = fi

16 2.3. FRAMÅTKOPPLADE NÄTVERK - EN TYP AV ANN arctan(21) arctan(20) Det finns givetvis många andra överföringsfunktioner [9, 10]. ANN kan även ha flera input, t.ex. om neuronnätverket har två tal in och ett tal ut. Varje input har en egen synaps med en egen vikt. ANN kan också ha flera lager av neuroner, och varje lager av neuroner kan ha olika antal neuroner. I ANN med flera lager skickas input till ett lager av neuroner, som inte skickar sina svar direkt till output utan till ännu ett lager av neuroner. Neuroner i samma lager har inga synapser sinsemellan, men alla neuroner i ett lager har synapser till alla neuroner i nästa lager. I exemplet med neuronnätverket som slog en världsmästaren i spelet go användes många lager. Exakt hur många anges inte på deras hemsida, inget mer än ett rykte att det var 13 lager finns tillgängligt [8]. Dessa är alltså de variabler man kan ändra på i strukturen av ANN: Antal input, antal output, överföringsfunktionen, antal lager samt antal neuroner för varje lager. 9

17

18 Kapitel 3 Metod I detta avsnitt kommer strukturen för den version av ANN som användes för att undersöka frågan förklaras mer i detalj och matematiskt. Vidare kommer det förklaras hur inställningarna som producerade slutresultaten beräknades. Vilken input och output som användes kommer också att visas. Framöver kommer ANN att åsyfta det framåtkopplade artificiella neuronnätverk som användes för att undersöka frågan. ANNs struktur följer helt den som beskrivs i en laboration från kursen Artificiella neuronnät och andra lärande system som hålls vid KTH, instruktionerna finns tillgängliga på kth.se/social/files/54c27097f e16f94d/delta.pdf (hämtat 6:e december 2016). Strukturen kommer oavsett att förklaras i denna rapport. 3.1 ANNs struktur Precis som i laborationen har ANN ett dolt lager av neuroner. Samma överföringsfunktion som i laborationen används också, f(x) = 1 e x 1+e. I laborationen är denna x skriven på en alternativ form: 1 e x 1+e x = 2 1+e x 1 Även en symmetriskt representation av datan har valts, såsom i laborationen. Med detta menas att signaler i ANN varierar mellan 1 och 1. Dettaheltenkelt för att det föll sig enklare rent programmeringsmässigt, det ger ingen skillnad på resultatet. Laborationen har också valt att låta bias-termen bli en del av inputmängden istället för att skötas separat. Detta implementerades också, även här för att det är enklare rent programmeringsmässigt. Laborationens struktur för framåt- och bakåt-pass följs även det. Framåtpasset, alltså när signalen tar sig igenom ANN, är precis som det beskrevs i tidigare exempel. Input skickas till det dolda lagret av neuroner och multipliceras med samtliga vikter i de synapser signalen passerar. Låt input i beskriva signalens styrka från 11

19 KAPITEL 3. METOD input-nod i, låt dold j beskriva den resulterande signalstyrkan in i dold neuron nr j, samt låt vikt j,i vara vikten för synapsen mellan input nod i och dold nod j: dold j = ÿ i vikt j,i,input i Detta sätt att multiplicera nummer är precis vad som händer vid matrismultiplikation. Låt matrisen V vara vikterna för de synapser som kopplar ihop input-lagret av neuroner och det dolda lagret av neuroner, och låt I beskriva input-vektorn. Då blir vektorn med signaler in till det dolda lagret av neuroner helt enkelt VI. För att beskriva signalen ut ur det dolda lagret behövs nu bara överföringsfunktionen. Överföringsfunktionen är sen tidigare benämnd som f(x). Låt D beskriva vektorn av signaler ut ur det dolda lagret, som då blir: D = f(vi) Exakt samma logik kan nu användas för att få signalvektorn från neuronnätverkets output, då samma metod används här. Låt O vara signalen ut ur outputneuronerna, och låt matrisen W vara vikterna för de synapser som kopplar ihop det dolda lagret av neuroner och output-neuronerna: O = f(wd) När alla signaler i nätverket hanterats av ANN så ska felet beräknas. Denna process omnämns i laborationen som bakåtpasset och kallas ofta backprop". Det ena steget är att ta output-vektorns värde minus vektorn med förväntade värden, eller svaren. Låt S beteckna vektorn med de förväntade output-värdena. Denna di erans blir då O S. För att få felet på signalen så multiplicerar vi detta med överföringsfunktionens derivata av indatan till output-lagret. Låt felet på signalen från output-noderna betäcknas med O ú, och låt beteckna elementvis multiplikation. O ú =(O S) f Õ (WD) Detta värde används sedan för att beräkna felet på signalen från de dolda noderna. Låt detta fel betecknas som D ú : D ú =(V T O ú ) f Õ (VI) Nu har vi felet både för utsignaler från de dolda neuronerna och från outputneuronerna, D ú och O ú respektive. Dessa används för att beräkna den viktuppdatering som ska genomföras på synapserna. Låt vara hur stor del av viktuppdateringen som ska genomföras, låt V beteckna den önskade viktuppdateringen för viktmatrisen V samt låt W beteckna den önskade viktuppdateringen för viktmatrisen W : V = D ú I T 12

20 3.2. MOTIVATION FÖR ANNS STRUKTUR W = O ú D T ANN har även en tröghet,, inprogrammerad. Dess e ekt är att viktjusteringen även beror på den förra viktjusteringen, vilket undviker plötsliga svängningar. Med denna tröghet har algoritmen en chans att undvika att fastna i lokala minimum. Låt V f samt W f vara vikternas föregående ändringar: V f = V f (1 )D ú I T W f = W f (1 )O ú D T V = V f W = W f Ovan har alltså beskrivits hur signalerna tar sig igenom neuronnätverket, hur felet beräknas samt hur detta fel används för att uppdatera vikterna med en tröghet för att undvika att fastna i lokala minimum. 3.2 Motivation för ANNs struktur Denna typ av maskininlärningsalgoritm, alltså ett framåtkopplat artificiellt neuronnätverk med back-propagation för viktjustering, har valts då det även i andra liknande fall använts för att ge prediktioner. Den tydligaste liknelsen är att förutspå aktiemarknaden. När prognoser för aktiemarknaden skapas används historisk data för aktiemarknaden, rapportens mål är skapa prognoser för lastbilstrafiken och använda historisk data för lastbilstrafiken. Det finns två anledningar till att ANN används för att förutspå aktiemarknaden. Det är dessa anledningar som är orsaken till att ANN använts för denna rapport. Först och främst så är ANN en underkategori av supervised learning. Både när aktiemarknaden och lastbilstrafiken ska förutspås så är målet att skapa en funktion mellan en input-mängd och en output-mängd. All datas innebörd är tydligt definierad, så supervised learning passar bättre än unsupervised learning. Vidare är back-propagation känt för att ge goda resultat, men ta lång tid att träna. När träningen väl är klar kan svar snabbt hämtas från neuronnätverket då alla vikter är beräknade. I båda fallen är det irrelevant att träningen tar lång tid, och då är den största av back-propagations svagheter borta. [12, 13, 14] 3.3 Programmet runt ANN Att testa vilka värden som ger bäst resultat för artificiella neuronnätverk är en stor del av arbetet. I början av projektet utfördes detta arbete manuellt, och bestod mest av ett gissningsarbete och försök att se trender. Det blev ganska snart uppenbart att den manuella delen både var ett stort tidsslöseri och en risk att missa viktiga datapunkter. 13

21 KAPITEL 3. METOD Därför skrevs ytterliggare ett program som kommunicerade med ANN. Programmet itererade igenom tidigare valda värden på samtliga parametrar och sparade hela tiden det bästa resultatet. Efter att ha itererat igenom samtliga parametrar returnerade programmet de bästa parametrarna. Programmet innebar en stor tidsbesparing och var slutligen det som gav en insikt om vilka parametrar som egentligen var de bästa, oberoende av mänskliga gissningar och slump. I den uppsättning som slutligen användes fanns sex parametrar att justera: 1. Antalet neuroner i det dolda lagret. 2. Antalet epoker, alltså hur många gånger ANN går igenom datan innan ANN stannar. 3. -värdet, grafens tröghet som beskrivet tidigare. 4. -värdet, hur stor del av den uträknade viktändringen som används. 5. En undre felgräns. Föregående epoks fel jämförs med nuvarande epoks fel och om förbättringen är mindre än den undre felgränsen 400 epoker i rad så stannar algoritmen. 6. Antalet repetitioner, hur många gånger algoritmen körs med varje uppsättning ovanstående värden. Denna variabel existerar då ANN initieras med slump, hur bra den slutliga gissningen blir varierar därför lite även om alla parametrar är desamma. 3.4 Datans initiala struktur Varifrån datan som används i rapportens experiment kommer är konfidentiellt, men inte hur datan ser ut. Den kan sammanfattningsvis beskrivas enligt tabell 2. Typ av transport Lastningen börjar Lastningen slutar Lastbil :43: :12:31 Lastbil :21: :41:41 Båt :41: :01:27 Lastbil :51: :28:51 Båt :01: :31:13... Tabell 2. En generalisering av den initiala datastrukturen Denna data omstrukturerades för att vara bättre lämpad för rapportens experiment. Alla lastbilsrader sparades och slutlastning togs bort. Givet tabell 2 skulle detta resultera i tabell 3. Datan strukturerades om på detta sätt för att ta bort allt förutom det informationsbärande. Det enda informationsbärande är när lastbilar anländer. 14

22 3.5. VERIFIERING AV METOD Lastbilar anländer :43: :21: :51:41. Tabell 3. Den informationsbärande delen av den intiala datan Under experimenten användes två datamängder. Den ena är en fabrikerad datamängd tillverkad av trigonometriska funktioner. Denna datamängd används för att verifiera metoden. Den andra datamängden bygger på den faktiska datan. Båda dessa datamängder är uppdelade i träningsdata och testdata. Detta för att resultaten sen ska kunna verifieras med cross-validation. 3.5 Verifiering av metod För att försäkra sig om att koden producerade de resultat som förväntades så genererades först trigonometrisk data som input. Trigonometriska data valdes av två anledningar: Dels för att lastbilstrafik iallafall på något sätt är periodisk, till den här platsen kom det t.ex. inga lastbilar på natten. Den andra anledningen är att den trigonometriska datan är mycket simpel, vilket gjorde att det var enkelt att få en överblick och en insyn i hur ANN betedde sig i den här nya miljön. Det var helt enkelt ett sätt att säkerställa kodens funktionalitet samt förfina den. Detta avsnitt förklarar dels arbetet som ledde fram till hur datan omstrukturerades för att kunna tolkas som input/output värden, och dels hur den trigonometriska datan användes för att verifiera metoden. Alla tidsserier kommer att representeras grafiskt. Både den faktiska tidsserien och ANNs gissning kommer att visas. Input-vektor Output-värde [t(x-20), t(x-19), t(x-18),..., t(x-1)] t(x) [t(x-19), t(x-18), t(x-17),..., t(x)] t(x+1) [t(x-18), t(x-17), t(x-16),..., t(x+1)] t(x+2) [t(x-17), t(x-16), t(x-15),..., t(x+2)] t(x+3) [t(x-16), t(x-15), t(x-14),..., t(x+3)] t(x+4).... Tabell 4. Hur grafisk data kan representeras som input och output Den första tanken var att ANN skulle få de senaste lastbilarna och vilken tid de anlände till platsen, och från det gissa tiden på när nästa lastbil skulle an- 15

23 KAPITEL 3. METOD lända. Detta innebar att input och output skulle genereras enligt tabell 4, där t(x) är den trigonometriska funktion som användes. Denna metod att göra om en tidsserie/graf till input/output för ett artificiellt neuronnätverk har också använts för att förutse glukos-nivåer hos patienter [15] samt för att förutspå vädret givet data från solpaneler [16]. Resultatet blev till en början inte särskilt bra, och dessutom var processen långsam. Figur 2. Den första gissningen på en trigonometrisk funktion. Figur 2 visar bland de bättre fallen, men gemensamt var trenden för ANNs gissning att börja dra iväg uppåt under testdatan istället för att gissa korrekt. En tanke var att index, alltså x-värdet, hade kunnat hjälpa som input. Det visade sig att det inte tillförde någonting i detta fall. Vad som däremot gjorde stor skillnad var att skala om värdena. ANN hanterar signalvärden mellan -1 och 1, och 16

24 3.5. VERIFIERING AV METOD att skala upp värdena så att de rörde sig i hela detta spann och inte bara i en liten del gjorde enorm skillnad: Figur 3. Det förbättrade resultatet då värden skalats om till ett större spann. Innan texten fortsätter skall noteras att programmet för att rita upp graferna här förbättrats sen förra bilden. Nu visas också fel per x-värde nere till höger. Fel per x-värde innebär helt enkelt ANNs gissning för det x-värdet minus den faktiska tidsseriens värde vid det x-värdet. Nere till vänster är det genomsnittliga felet, på x- axeln visas epokerna och på y-axeln visas det genomsnittliga felet i ANNs gissning. I programmet så ritas detta upp i realtid, och felet i gissningen initieras med 1:or eller 0:or. Därav det plötsliga hoppet upp till 1 i denna graf, som orsakas av att bilden togs vid den 200:ade epoken och att alla värden i fel-vektorn efter det fortfarande har sina initierade värden, nämligen 1. Bilden togs här då antalet epoker som nu, efter att värdena skalats om, krävdes för att ANN skulle konvergera minskade så kraftigt att felet knappt ändrades alls i senare epoker. Ett problem som nu försökte åtgärdas var att topparna i ANNs gissning inte var så höga som de borde vara. Teorin var att inputvektorns längd, som vid det här laget var att bara se 8 datapunkter bakåt, inte innefattade tidigare toppar. Detta betydde att det inte fanns någon större skillnad på de olika topparna för ANN, och att ANN nu bara lärde sig att röra sig som en våg. Denna teori ledde till en lång rad av problem som alla i slutändan visade sig vara meningslösa att försöka lösa. Resultatet blev inte omedelbart bättre av att introducera en större inputvektor, en längre historia, och algoritmen blev mycket långsammare med ett större antal inputnoder. Med ett för lågt -värde så tog sig inte ANN hela vägen till lösningen, se figur 4, 17

25 KAPITEL 3. METOD Figur 4. Fler input-noder användes, här är -värdet för litet. Figur 5. Fler input-noder användes, här är -värdet för stort. och med ett för högt -värde så skakade grafen fram och tillbaka runt rätt svar, se figur 5. Programmet som letade variabler lyckades inte hitta ett mellanting. Ett försök gjordes att skapa ett dynamiskt -värde som anpassade sig beroende 18

26 3.5. VERIFIERING AV METOD Figur 6. Dynamiska -värden ledde till katastrofala resultat. Figur 7. Den ej intuitiva slutsatsen att färre input-noder gav ett bättre resultat visad som graf. på hur stort felet var. När felet var större skulle -värdet bli större, och när felet var mindre skulle -värdet bli mindre. Detta lyckades aldrig, -värdet stabiliserades inte och graferna blev minst sagt katastrofala, se figur 6. 19

27 KAPITEL 3. METOD Här avslutades den trigonometriska delen av experimenten med en oanad slutsats: Att ha ett mindre antal inputnoder, en kortare historia, visade sig inte bara fungera bäst utan också förvånansvärt bra. De slutliga parametrarna var datapunkter, för träning och för test, 25 dolda neuroner, =0.9 och = Med dessa inställningar gick felet ner under 10% på bara 1000 epoker, presenterat grafisk i figur Verifiering av resultat Verifieringen av de resultat algoritmen producerar sker på fyra olika sätt. Alla syftar till att säkerställa att de resultat som algoritmen uppnår är av värde Cross-validation Den data som används är uppdelad i träningsdata och testdata. Träningsdatan är det som algoritmen använder för att hitta de bästa parametrarna och justera vikterna i ANN. Testdatan är det algoritmen använder för att få sina resultat, där parametrarna och vikterna appliceras. Alla resultat är hämtade från algoritmens prestationer på testdatan Statistik Alla resultat jämförs med det statistiska genomsnittet för samma prediktion. Detta för att ge en bild av hur bra uppskattningarna är, men också för att se om metoden är användbar. Om de statistiska gissningarna ger ett bättre resultat finns inget värde i metoden Genomsnitt Då vikterna i ANN initeras med slumpmässiga värden så behöver paramterarna inte vara de bästa trots att de efter en viss körning gav goda värden. Därför kallar den yttre algoritmen ANN flera gånger för varje uppsättning av värden och presenterar genomsnittet på felet från alla körningar som sitt resultat. 3.7 Bearbetning av indata Nu fanns en metod för att, givet en graf, förutspå hur den skulle röra sig. Nu var utmaningen att ändra om lastbilsdatan så att den kunde beskrivas som en graf. Den metodik som användes när glukosnivåer och vädret estimerades [15, 16] går inte att applicera rakt av, då dessa fall hade ett värde till varje tidpunkt. I detta fall är värdet på varje tidpunkt 1, 1 lastbil. Det intressanta för lastbilsdatan är intervallet emellan de olika tidstämplarna, intensiteten av lastbilar. Därför behövdes denna datamängd omstruktureras på något sätt för att ANN ska kunna analysera den. 20

28 3.7. BEARBETNING AV INDATA Först undersöktes resultaten då avståndet mellan lastbilsankomster fick representera datamängden, sen undersöktes när antal lastbilar per timme fick representera datamängden Avstånd mellan lastbilsankomster Den första teorin var att helt enkelt låta avstånden mellan lastbilarnas ankomster i sekunder bli datapunkterna. Detta gav en mycket oregelbunden graf då antalet sekunder mellan den sista lastbilen en dag och den första nästa dag, framförallt över helger, var mycket högt. Detta löstes genom att ta bort alla tidsavstånd som var längre än 8 timmar, vilket skulle motsvaras av att ANN vet öppettiderna på platsen. Resultaten blev inte särskilt bra, men en märklig upptäckt gjordes. Figur 8. Algoritmens första försök på lasbilsdatan. Algoritmen gav sitt bästa svar när antal dolda neuroner var det minsta antal som programmet som testade värden till ANN undersökte, 5 stycken. Detta antogs bara vara ett resultat av att datarepresentationen var dålig, och att uppenbara mönster därför uklassade mer komplicerade mönster i den tidsbegränsning som fanns. Från vad som fanns att läsa verkade det dock som att detta inte var något ovanligt, utan faktiskt vad man kunde förvänta sig. Antalet dolda neuroner är sällan högre än antalet input- och output-noder tillsammans [11]. Detta sågs först som ett tecken på att inputmängden måste vara för liten. Inputmängden ökades därför till 30, och efter en lång beräkning på flera timmar av programmet som testade värden så visade det sig att resultatet inte förbättrats alls. 21

29 KAPITEL 3. METOD Figur 9. Med bara en historisk punkt så gissar ANN på genomsnittet hela vägen, och får ett bättre resultat. Figur 10. Fem-minutersintervall på datan istället för sekund-intervall gjorde resultaten bättre men fortfarande alldeles för dåliga. Det ännu mer ointuitiva och illabådande som sen upptäcktes var att resultaten blev bättre om endast en input-nod användes. Det var lätt att se varför på grafen 22

30 3.7. BEARBETNING AV INDATA som genererades, se figur 9. ANN gissade nu helt enkelt på genomsnittet. Detta var det bästa ANN kunde producera. Faktum var att om ANN helt ignorerades och ett genomsnitt användes som gissning, så var det en bättre gissning. Här, när resultaten var som allra sämst och hoppet var som allra lägst, så började experiment göras som så småningom skulle leda i helt rätt riktning. Det första antagandet var att det måste vara alldeles för mycket brus och oregelbundenheter i datan. Det testades att istället beskriva avståndet mellan lastbilar i minuter, och sen i fem-minutersintervall, för att försöka ta bort lite brus. Med femminutersintervall så kom ANN ner på samma fel-nivå som genomsnittsgissningen gav på , se figur 10. Detta var såklart fortfarande mycket dåligt. Vid det här laget så togs några steg tillbaka och tankarna fick gå helt utanför lådan. Problemet granskades inte längre som hur det skulle formuleras för att ANN skulle lösa problemet, utan hur det skulle formuleras för att en människa skulle kunna lösa problemet Antal lastbilsankomster per timme Detta nya perspektiv gav den första av två vinnande insikter. Istället för att ANN skulle gissa tid till nästa lastbil så skrevs datan om till att representera lastbilar per timme. Denna omstrukturering syftade till att minska bruset i datan samt göra datans mönster mer uppenbara. Efter omstruktureringen såg nu datan istället ut på följande sätt: Timme Antal lastbilar Tabell 5. Omstruktureringen av datan till lastbilar per timme istället för tidsintervall Denna nya representation gjorde en dramatisk skillnad och nu började si rorna att röra sig i rätt riktning då ANN konsekvent var mycket bättre än en genomsnittsgissning, med ett fel på mot genomsnittsgissningen , se figur 11. Att genomsnittsgissningen nu fick ett annat värde var helt enkelt för att datan var strukturerad helt annorlunda. 23

31 KAPITEL 3. METOD Figur 11. Omstruktureringen av datan till lastbil per timme gjorde stor skillnad Figur 12. Med bara 180 träningspunkter gissade nu algoritmen ändå bra Nu när denna omstrukturering av datan genomförts och visat sig fungera bättre så testades att inte längre ta bort timmarna som motsvarade helger och kvällar. Detta visade sig ge ännu bättre resultat, och dessutom så kunde Ann lära sig med 24

32 3.7. BEARBETNING AV INDATA Figur 13. Resultaten blev långsamt bättre med den nya represetnationen av data extremt få punkter. I figur 12 så används bara 180 punkter för träning och de över resterande punkterna gissades av ANN. Dag Timme Antal lastbilar Tabell 6. Datan omstrukturerades till att bara innehålla timme och dag Med fler punkter i träningsmängden och när programmet som letar värden fick köra klart, så blev de bästa parametrarna: 20 dolda neuroner, ett -värde på 0.9, ett -värde på och ett fel på mot genomsnittets , se figur 13. Återigen så ändrades datan, så genomsnittsgissningen fick ännu ett nytt värde. För att försöka göra resultatet ännu bättre gjordes nu två experiment. Båda experimenten hade i åtanke att försöka göra problemet lättare att lösa för en män- 25

33 KAPITEL 3. METOD Figur 14. ANNs gissning givet endast dag och timme Figur 15. ANNs gissning inzoomad niska genom att förbättra representationen. Det första var att bara använda timme och dag som input. Resultatet blev mycket intressant. 26

34 3.7. BEARBETNING AV INDATA Figur 16. Helger representeras nu som -1, vardagar som 1, ANNs gissning är inzoomad ANN gör ett samband mellan dag, uttryckt som en si ra mellan 0 och 6, och timme mot antal lastbilar så gott det går. Det blir färre lastbilar ju senare i veckan det är, då dag 5 och 6 alltid innebär 0 lastbilar, därav den större perioden som syns i grafen. Det blir också fler lastbilar ju lägre timmen är, då det på denna plats kommer fler lastbilar på förmiddagen än på eftermiddagen. Detta skapar den mindre perioden vi ser, de två perioderna tillsammans är vad som skapar de upprepade nedåtpekande sågarna vi kan se i figur 15. Nu uppstod långsamt den andra insikten om hur datan egentligen skulle struktureras. ANN hade tidigare setts som en svart låda som skulle se något mönster som ingen annan såg. Fokus byttes nu till att det skulle göras lätt för ANN. Indatan skrevs om så att helger representerades av -1 och vardagar av 1. Detta gav resultatet vi kan se i figur 16. Nu ändrades också så att timmar inte längre representerades av timslag, utan bara angav om platsen var öppen eller stängd, med värden 1 och -1 respektive. När ANN nu också fick tillgång till historisk data så syns tydligt i figur 17 att ANN anpassar sig efter dagarna. Den andra insikten som nu uppenbarade sig klart och tydligt var vad den här typen av maskininlärning egentligen handlar om. Det är inte en fråga om att ANN ska hitta ett mönster som människan inte ser. Det handlar snarare om att göra mönstret så tydligt som möjligt, och sen låta ANN arbeta med sina fördelar, nämligen att ANN klarar av att ta in en mycket större mängd data och analysera den mycket snabbare än människor. Denna insikt var det som gjorde att det statistiska genomsnittet togs med som 27

35 KAPITEL 3. METOD Figur 17. Med historisk data och tydligare information om när platsen är öppen och stängd syns tydligt hur ANN förstår vad som är dagar och förstår när det borde komma många lastbilar. ANNs graf är även här inzoomad input, enligt tankegången att det skulle göras så lätt som möjligt för ANN. Det statistiska genomsnittet beräknades givet dag och timme. Det beskrev alltså Hur många lastbilar kommer i genomsnitt på tisdagar klockan 15:00?. När det statistiska genomsnittet var en del av representationen så lossnade allt. Det gav inte bara ANN en bra utgångspunkt för sina gissningar, det förklarade också när det var öppet respektive stängt eftersom det statistiska genomsnittet är -1 när det är stängt. Efter alla dessa experiment så fastställdes den slutliga metoden: Lastbilsfrekvens strukturerades per timme, och det statistiska genomsnitten skulle tas med som input. Nu var det bara en fråga om att se vilka värden på de olika parametrarna och vilken historia som skulle användas för att skapa det bästa resultatet, och därmed svara på den slutliga frågan: Kan ANN förutse lastbilstrafik bättre än det statiska genomsnittet? 28

36 Kapitel 4 Resultat Med datarepresentationen lastbilsfrekvens per timme appliceras nu vår metod för att se om den presterar bättre än de statistiska metoderna. Det första som testades var att, precis som i experimenteten på egengenererad data, inte ha någon historia alls utan bara det statistiska genomsnittet. Med historia så menas mängden historisk data i varje datapunkt i inputvektorn som ANN hanterar. Med datarepresentation lastbilsfrekvens per timme så är historian antal timmar av lastbilsfrekvens innan den timmen som ska gissas. Grafen i figur 18 blev ointressant, då det statistiska genomsnittet självklart redan var en bra gissning. Alla vikter i ANN sattes till 1 så att input var samma sak som output, nämligen det statistiska genomsnittet. Figur 18. Utan historia men med statistisk data som input så gissar ANN precis på vad input var 29

37 KAPITEL 4. RESULTAT Vad som sen visade sig stämma för de trigonometriska funktionerna, att längre historik inte nödväntigtvis var bra, visade sig vara nyckeln till de slutliga resultaten. Att ha med mer än en historisk punkt gjorde bara resultaten sämre, det bästa var att bara ha nuvarande timme som input, tillsammans med det statistiska genomsnittet. Input formulerades nu istället till att bli antal lastbilar som kom vid timme t 1 samt antal lastbilar som i genomsnitt kommer vid den timme som ska gissas, t. Här inträ ade något märkligt. Av ett misstag så användes istället genomsnittligt antal lastbilar förra timmen, t 1, som input. När detta korrigerades så visade det sig att resultatet helt oförklarligt blev sämre. Förvånansvärt nog så var den bästa inputen att ha både antal lastbilar och statistisk genomsnitt vid tidpunkt t 1. Slutlig input och output såg alltså ut på följande sätt, där s(t) beskriver det statistiskt genomsnittliga antalet lastbilar vid tidpunkt t och där l(t) beskriver antal lastbilar som anlände vid tidpunkt t: Input1 Input2 Output s(t 1) l(t 1) l(t) Tabell 7. Den slutliga input och output som användes Ett sista problem var att ANN aldrig gissade på 0 lastbilar under helgerna, utan strax över, vilket syns i figur 19. Detta åtgärdades genom att bara dela all input och output på 2 så att värdena inte var lika extrema, vilket löste problemet, se figur 20. Figur 19. Det syns att ANNs graf inte kommer ner helt till -1 och därför får onödiga fel på helger och kvällar. 30

38 Figur 20. Efter att ha skalat om datan så tar sig ANNs graf ner hela vägen till Detta syns som tydligast i grafen fel/värde, då den har som ett streck i sig som går längs med 0, vilket visar alla de kvällar och helger där ANN gissar rätt. 31

39 KAPITEL 4. RESULTAT 4.1 Parametrar för ANN Figur 21. Den slutliga jämförelsen mellan de två graferna. Antal dolda neuroner Alpha-värde Eta-värde Fel Statistisk fel Tabell 8. De slutliga värdena som användes Antal dolda neuroner Antal epoker Alpha-värde [1, 2, 3, 4, 5, 7, 9, 12, 15] 5000 [0.5, 0.6, 0.7, 0.8, 0.9] Eta-värde Undre felgräns Repetitioner [10 6, 10 5, 10 4, 10 3, 10 2 ] 5ú Tabell 9. Data för algoritmen som letade rätt på de bästa värdena De frågor som rapporten från början ställde var vilken typ av prognos som gav bäst resultat, vilka paramterar på ANN som var bäst för denna typ av prognos samt om resultatet blev bättre än en statistisk gissning. Den prognos som gav bäst resultat var när lastbilstrafiken uttycktes som en intensitet. Som vi ser i tabell 8 är felet som algoritmen producerar c:a 14% mer korrekt än den statistiska gissningen som ger ett fel på Som figur 21 visa så anpassar gissningen sig efter perioder av mer eller mindre trafik och även rent visuellt liknar gissningen den faktiska datan. Tabell 8 visar också de inställningar som ANN hade när dessa resultat producerades Tabell 9 visar inställningarna på det yttre programmet som beräknade detta fel. Algoritmen ger sina resultat från endast testdatan, inte från träningsdatan. Resultaten är genomsnittet efter antalet repetitioner som är angivet i tabell 9. Många andra försök att låta ANN förutspå framtiden givet historisk data har utförts. Resultaten i denna rapport är i linje med övrig forskning där ANN använts 32

40 4.1. PARAMETRAR FÖR ANN för att ge prediktioner: I alla referenser som använts i denna rapport har ANN gett goda resultat. Och inte bara referenserna, utan även referensernas referenser uppger att resultaten är goda, som i denna rapport från Zhang et al (1997): Lacher et al., Sharda and Wilson, Tam and Kiang, and Wilson and Sharda report that neural networks produce significantly better prediction accuracy than classical statistical techniques..[20] 33

41 KAPITEL 4. RESULTAT 4.2 Diskussion Arbetet har visat att det är möjligt att förutse när lastbilar anländer till en logistisk plats med maskininlärning. Arbetet ledde även till tre insikter. 1. Ett stort antal dolda neuroner är inget att eftersträva. 2. Att göra problemet lättare att lösa för en människa gör det också ofta lättare för ett artificiellt neuronnätverk. 3. Artificiella neuronnätverk har inte någon faktisk intelligens. De tar in mycket stora mängder data och det är därifrån deras precision kommer. Att göra representationen av datan tillräckligt bra för att artificiella neuronnätverk ska ge goda prediktioner är ett manuellt arbete. Vad som däremot var ointuitivt var vad som faktiskt visade sig vara rätt input och output. Om jag personligen skulle gissa hur många lastbilar som kommer nästa timme så verkar det logiskt att jag vill veta hur många som brukar komma i genomsnitt den timmen. Att det sen gav sämre resultat är märkligt. Det jag tror är sambandet som ANN hittar är hur mycket som antalet lastbilar avviker från det statistiska genomsnittet i föregående timme, och utifrån det kan gissa hur många som kommer nästa timme. Exakt vilket mönster ANN använder sig av vet jag inte, men att ANN faktiskt lyckas gissa bättre än det statistiska genomsnittet finner jag häpnandsväckande. Givet vad som sagts i introduktionen har dessa resultat stora implikationer. Det är sannolikt så att maskininlärningsmetoder helt kan ersätta slotbokning, och den mängd tid och pengar som ANN kan spara lastbilslogistik är enorm. Framåt återstår nu att se hur väl ANN presterar på lastbilsdata från andra platser, och vilken input som ger bäst resultat där. Det finns också möjligheter att förbättra resultaten genom att lägga ett lager av logik ovanpå ANN. Då kan algoritmen på ett tydligare sätt ta hänsyn till t.ex. antalet lastbilar som är bokade per dag och platsens arbetstider. 4.3 Avslutande ord Jag hoppas att denna rapport varit intressant att läsa. Språket skiljer sig mycket från hur vetenskapliga rapporter vanligtvis skrivs, och det är ett medvetet val. De flesta av mina vänner är inte forskare, men bland nästan alla mina vänner så är vi överens om att de flesta vetenskapliga rapporter är svåra att ta sig igenom om man inte sen innan är intresserad av ämnet. Mitt mål med den här rapporten är att den ska vara inspirerande, att den ska lyfta fram hur den forskande processen kan vara mycket spännande och kreativ. Denna bild tycker jag personligen ofta försvinner när andra forskningsarbeten väl skrivs ner i rapporter. Detta även fast jag vet att nästan alla forskare brinner för sitt ämne och har många intensiva och fantastiska ögonblick när deras forskning 34

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

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

Läs mer

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

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

Läs mer

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1 Kattis Lektion 1 I kursen används onlinedomaren Kattis (från http://kattis.com) för att automatiskt rätta programmeringsproblem. För att få ett konto på Kattis anmäler du dig på Programmeringsolympiadens

Läs mer

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

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

Läs mer

Regression med Genetiska Algoritmer

Regression med Genetiska Algoritmer Regression med Genetiska Algoritmer Projektarbete, Artificiell intelligens, 729G43 Jimmy Eriksson, jimer336 770529-5991 2014 Inledning Hur många kramar finns det i världen givet? Att kunna estimera givet

Läs mer

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

Linköpings universitet

Linköpings universitet Översikt Kognitionsvetenskaplig introduktionskurs Föreläsning 4 Informationsbearbetningsmodeller Vad är kognitionsvetenskap? Kort bakgrund/historik Representation och bearbetning av information Vetenskapliga

Läs mer

Datormetaforen. Från människa till dator Från dator till människa o.s.v.

Datormetaforen. Från människa till dator Från dator till människa o.s.v. Datormetaforen Från människa till dator Från dator till människa o.s.v. Det mekaniska tänkandet Räknemaskin tillverkad av Pascal 1642 Hjärnan ett avancerat urverk 1800-talet Henry Colebrooke, (president

Läs mer

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

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

Läs mer

TDDB96 Projekt: Object priming med visuell stimuli

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

Läs mer

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 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

Läs mer

NODA Smart Heat Building. Hur funkar det? - En teknisk översikt

NODA Smart Heat Building. Hur funkar det? - En teknisk översikt NODA Smart Heat Building Hur funkar det? - En teknisk översikt Vad är NODA? NODA grundades 2005 baserat på forskning på Blekinge Tekniska Högskola Bygger på en stark vetenskaplig grund inom datavetenskap,

Läs mer

Laboration i datateknik

Laboration i datateknik KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Felsökning och programmering av LEGO NXT robot Daniel Willén 2012 09 06 dwill@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Syftet med

Läs mer

Avsnitt 2. Modell: intuitiv statistisk

Avsnitt 2. Modell: intuitiv statistisk Avsnitt 2. Modell: intuitiv statistisk En prognos är en utsaga om en framtida händelse. Vi kommer mest att syssla med numeriska prognoser. Med det menar vanligen ett tal på en intervallskala. Exempel:

Läs mer

Övningshäfte 2: Induktion och rekursion

Övningshäfte 2: Induktion och rekursion GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2017 INLEDANDE ALGEBRA Övningshäfte 2: Induktion och rekursion Övning D Syftet är att öva förmågan att utgående från enkla samband, aritmetiska och geometriska,

Läs mer

Three Monkeys Trading. Tärningar och risk-reward

Three Monkeys Trading. Tärningar och risk-reward Three Monkeys Trading Tärningar och risk-reward I en bok vid namn A random walk down Wall Street tar Burton Malkiel upp det omtalade exemplet på hur en apa som kastar pil på en tavla genererar lika bra

Läs mer

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 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

Läs mer

Datorlaboration :: 1 Problembeskrivning ::

Datorlaboration :: 1 Problembeskrivning :: Datorlaboration :: Ett hyrbilsföretags problem Laborationen går ut på att lösa Labbuppgift 1 till 5. Laborationen redovisas individuellt genom att skicka laborationens Mathematicafil till Mikael Forsberg

Läs mer

Värmedistribution i plåt

Värmedistribution i plåt Sid 1 (6) Värmedistribution i plåt Introduktion Om vi med konstant temperatur värmer kanterna på en jämntjock plåt så kommer värmen att sprida sig och temperaturen i plåten så småningom stabilisera sig.

Läs mer

C++ Slumptalsfunktioner + switch-satsen

C++ Slumptalsfunktioner + switch-satsen C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.

Läs mer

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

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

Läs mer

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

Beräkningsvetenskap introduktion. Beräkningsvetenskap I Beräkningsvetenskap introduktion Beräkningsvetenskap I Kursens mål För godkänt betyg ska studenten kunna redogöra för de grundläggande begreppen algoritm, numerisk metod, diskretisering maskinepsilon,

Läs mer

Artificiella Neuronnät

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

Läs mer

Three Monkeys Trading. Tänk Just nu

Three Monkeys Trading. Tänk Just nu Three Monkeys Trading Tänk Just nu Idag ska vi ta upp ett koncept som är otroligt användbart för en trader i syfte att undvika fällan av fasta eller absoluta uppfattningar. Det är mycket vanligt att en

Läs mer

Elektronisk patientjournal

Elektronisk patientjournal Elektronisk patientjournal Hippokrates Typer Tidsorienterad, problemorienterad samt källorienterad Varför? Stödja vården, legala skäl, forskning, utbildning. Data måste vara otvetydiga, strukturerade,

Läs mer

6 Derivata och grafer

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

Läs mer

4 Diskret stokastisk variabel

4 Diskret stokastisk variabel 4 Diskret stokastisk variabel En stokastisk variabel är en variabel vars värde bestäms av utfallet av ett slumpmässigt försök. En stokastisk variabel betecknas ofta med X, Y eller Z (i läroboken används

Läs mer

UPPGIFT 1 V75 FIGUR 1.

UPPGIFT 1 V75 FIGUR 1. UPPGIFT 1 V75 FIGUR 1. Varje lördag året om spelar tusentals svenskar på travspelet V75. Spelet går ut på att finna sju vinnande hästar i lika många lopp. Lopp 1: 5 7 Lopp 2: 1 3 5 7 8 11 Lopp 3: 2 9 Lopp

Läs mer

Programmering Grundkurs Laboration 1

Programmering Grundkurs Laboration 1 Programmering Grundkurs Laboration 1 Till kursen Programmering Grundkurs hör fyra obligatoriska laborationer. Detta är Laboration 1 given i period 1, HT 2010 vid KTH STH. Mål: I början av en programmeringskurs

Läs mer

Självlärande Othello-spelare

Självlärande Othello-spelare Självlärande Othello-spelare Kan en dator lära sig att spela Othello? KLAS BJÖRKQVIST och JOHAN WESTER Examensarbete Stockholm, Sverige 2010 Självlärande Othello-spelare Kan en dator lära sig att spela

Läs mer

f (a) sin

f (a) sin Hur kan datorn eller räknedosan känna till värdet hos till exempel sin0.23 eller e 2.4? Denna fråga är berättigad samtidigt som ingen tror att apparaterna innehåller en gigantisk tabell. Svaret på frågan

Läs mer

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

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581 Fuzzy logic 880328-2535 Innehåll Fuzzy logic... 1 1. Inledning... 4 2. Jämförelse mellan fuzzy logic och tvåvärdeslogik.... 4 3. Fuzzy sets.... 4 4. Linvistiska variabler... 5 5. Operatorer... 5 6. If-

Läs mer

Inlärning utan övervakning

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

Läs mer

FUZZY LOGIC. Christopher Palm chrpa087

FUZZY LOGIC. Christopher Palm chrpa087 FUZZY LOGIC 900223-1554 Innehållsförteckning INLEDNING...2 HUR DET FUNGERAR...3 Crisp Sets och Fuzzy Sets...3 Operatorer...5 IF THEN regler...7 FUZZY INFERENCE...7 Fuzzification...8 Regelsättning...8

Läs mer

SELF- ORGANIZING MAPS

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

Läs mer

Funktionsstudier med derivata

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

Läs mer

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692 Beräkning med ord -hur en dator hanterar perception 2010-10-03 Erik Claesson 880816-1692 Innehåll Inledning... 3 Syfte... 3 Kan datorer hantera perception?... 4 Naturligt språk... 4 Fuzzy Granulation...

Läs mer

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... 4 Bussen (projektförslag)... 5 Bakgrund... 5 Klassen Buss

Läs mer

SVÄNGNINGSTIDEN FÖR EN PENDEL

SVÄNGNINGSTIDEN FÖR EN PENDEL Institutionen för fysik 2012-05-21 Umeå universitet SVÄNGNINGSTIDEN FÖR EN PENDEL SAMMANFATTNING Ändamålet med experimentet är att undersöka den matematiska modellen för en fysikalisk pendel. Vi har mätt

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2016-12-22 KTH STH Flemingsberg 8.15-13.00 Tillåtna hjälpmedel: Kursboken C PROGRAMMING A Modern Approach K. N. King helt utan anteckningar Alternativt C från början

Läs mer

LMA201/LMA521: Faktorförsök

LMA201/LMA521: Faktorförsök Föreläsning 1 Innehåll Försöksplanering Faktorförsök med två nivåer Skattning av eekterna. Diagram för huvudeekter Diagram för samspelseekter Paretodiagram Den här veckan kommer tillägnas faktorförsök.

Läs mer

TDDI16: Datastrukturer och algoritmer

TDDI16: Datastrukturer och algoritmer TDDI16: Datastrukturer och algoritmer Lab 3: Ordkedjor Höstterminen 2018 2018-05-14 1 Upplägg Första delen av instruktionen, avsnitt 2 till 6, innehåller en fullständig beskrivning av problemet utan några

Läs mer

Arbetsrapport CEQ, KIM015

Arbetsrapport CEQ, KIM015 Arbetsrapport CEQ, KIM015 Basfakta Kursnamn Kurskod Högskolepoäng Immunteknologi KIM015 7.5 hp Läsår 201112 Kursen slutade i läsperiod Program Antal registrerade på kursen 41 VT_LP2 samtliga Antal enkätsvar/svarsfrekvens

Läs mer

Mobil streckkodsavläsare

Mobil streckkodsavläsare Avdelningen för datavetenskap Martin Persson Jan Eriksson Mobil streckkodsavläsare Oppositionsrapport, D-nivå 2005:xx 1 Generell utvärdering av projektet Projektet gick ut på att undersöka hur bra olika

Läs mer

DD1350 Logik för dataloger. Vad är logik?

DD1350 Logik för dataloger. Vad är logik? DD1350 Logik för dataloger Fö 1 - Introduktion Vad är logik? Vetenskapen som studerar hur man bör resoneraoch dra slutsatser utifrån givna påståenden (=utsagor, satser). 1 Aristoteles (384-322 f.kr) Logik

Läs mer

Statistisk mönsterigenkänning

Statistisk mönsterigenkänning Statistisk mönsterigenkänning Jonas Sandström Artificiell intelligens II Linköpings universitet HT 2011 Innehållsförteckning 1. Innehållsförteckning sid 2 2. Inledning sid 3 3. Statistisk mönsterigenkänning

Läs mer

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

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

Läs mer

Laborationsrapport av robotprogrammering

Laborationsrapport av robotprogrammering KUNGLIGA TEKNISKA HÖGSKOLAN Laborationsrapport av robotprogrammering Programmering av LEGO MINDSTORMS robot Rikard Bjärlind 2012-09-07 E-post: bjarlind@kth.se Introduktionskurs i datateknik (H12) II1310

Läs mer

MMA132: Laboration 2 Matriser i MATLAB

MMA132: Laboration 2 Matriser i MATLAB MMA132: Laboration 2 Matriser i MATLAB Introduktion I den här labben skall vi lära oss hur man använder matriser och vektorer i MATLAB. Det är rekommerad att du ser till att ha laborationshandledningen

Läs mer

Vad kan biologiskt plausibla modeller säga oss?

Vad kan biologiskt plausibla modeller säga oss? Förra föreläsningen Vad kan biologiskt plausibla modeller säga oss? Beräkningsmässig kognitiv neurovetenskap Simulering av modeller kan ge insikt i mänskligt tänkande Kognitiva fenomen Simulering beräkningsprinciper

Läs mer

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

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp, Uppsala universitet Institutionen för informationsteknologi Teknisk databehandling Tentamen i Beräkningsvetenskap I/KF, 5. hp, 215-3-17 Skrivtid: 14 17 (OBS! Tre timmars skrivtid!) Hjälpmedel: Bifogat

Läs mer

Matcha rätt hjärta till rätt patient med AI. Dennis Medved

Matcha rätt hjärta till rätt patient med AI. Dennis Medved Matcha rätt hjärta till rätt patient med AI Dennis Medved Översikt Introduktion IHTSA LuDeLTA Sammanfattning Framtida arbete Introduktion Hjärttransplantation Livräddande operation för patienter med hjärtsvikt

Läs mer

Vindkraft och ML. - hur kan vindkraft dra nytta avml

Vindkraft och ML. - hur kan vindkraft dra nytta avml Vindkraft och ML - hur kan vindkraft dra nytta avml AI och ML Intelligens: förmågan att utnyttja kunskap för att bättre lösa en klass av uppgifter Lärande: förmågan att förbättra sin förmåga att lösa uppgifterna

Läs mer

Mönster. Ulf Cederling Växjö University Ulf.Cederling@msi.vxu.se http://www.msi.vxu.se/~ulfce. Slide 1

Mönster. Ulf Cederling Växjö University Ulf.Cederling@msi.vxu.se http://www.msi.vxu.se/~ulfce. Slide 1 Mönster Ulf Cederling Växjö University UlfCederling@msivxuse http://wwwmsivxuse/~ulfce Slide 1 Beskrivningsmall Beskrivningsmallen är inspirerad av den som användes på AG Communication Systems (AGCS) Linda

Läs mer

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4

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

Läs mer

Säsongrensning i tidsserier.

Säsongrensning i tidsserier. Senast ändrad 200-03-23. Säsongrensning i tidsserier. Kompletterande text till kapitel.5 i Tamhane och Dunlop. Inledning. Syftet med säsongrensning är att dela upp en tidsserie i en trend u t, en säsongkomponent

Läs mer

Upprepade mönster (fortsättning från del 1)

Upprepade mönster (fortsättning från del 1) Modul: Algebra Del 2: Resonemangsförmåga Upprepade mönster (fortsättning från del 1) Anna-Lena Ekdahl och Robert Gunnarsson, Högskolan i Jönköping Ett viktigt syfte med att arbeta med upprepade mönster

Läs mer

COMPUTABILITY BERÄKNINGSBARHET. Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall

COMPUTABILITY BERÄKNINGSBARHET. Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall COMPUTABILITY BERÄKNINGSBARHET Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall Den centrala frågan: givet ett problem, kan det ha en algoritmisk lösning?

Läs mer

Gamla tentemensuppgifter

Gamla tentemensuppgifter Inte heller idag någon ny teori! Gamla tentemensuppgifter 1 Bestäm det andragradspolynom vars kurva skär x-axeln i x = 3 och x = 1 och y-axeln i y = 3 f(x) = (x 3)(x + 1) = x x 3 är en bra start, men vi

Läs mer

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

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

Läs mer

Spekulativ exekvering i CPU pipelining

Spekulativ exekvering i CPU pipelining Spekulativ exekvering i CPU pipelining Max Faxälv Datum: 2018-12-05 1 Abstrakt Speculative execution is an optimisation technique used by modern-day CPU's to guess which path a computer code will take,

Läs mer

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Är varje påstående som kan formuleras matematiskt*) alltid antingen sant eller falskt? *) Inom Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Exempel: 12 = 13 nej, falskt n! >

Läs mer

Graärgning och kromatiska formler

Graärgning och kromatiska formler Graärgning och kromatiska formler Henrik Bäärnhielm, d98-hba 2 mars 2000 Sammanfattning I denna uppsats beskrivs, för en ickematematiker, färgning av grafer samt kromatiska formler för grafer. Det hela

Läs mer

Funktioner. Räta linjen

Funktioner. Räta linjen Sidor i boken 14-143, 145-147 Funktioner. Räta linjen Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter

Läs mer

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

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.

Läs mer

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

Sidor i boken f(x) = a x 2 +b x+c Sidor i boken 18-151 Andragradsfunktioner Här ska vi studera andragradsfunktionen som skrivs f(x) = ax +bx+c där a, b, c är konstanter (reella tal) och där a 0. Grafen (kurvan) till f(x), y = ax + bx +

Läs mer

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer LUNDS UNIVERSITET Parallell exekvering av Float32 och INT32 operationer Samuel Molin Kursansvarig: Erik Larsson Datum 2018-12-05 Referat Grafikkort utför många liknande instruktioner parallellt då typiska

Läs mer

IBSE Ett självreflekterande(självkritiskt) verktyg för lärare. Riktlinjer för lärare

IBSE Ett självreflekterande(självkritiskt) verktyg för lärare. Riktlinjer för lärare Fibonacci / översättning från engelska IBSE Ett självreflekterande(självkritiskt) verktyg för lärare Riktlinjer för lärare Vad är det? Detta verktyg för självutvärdering sätter upp kriterier som gör det

Läs mer

Lösningar och kommentarer till uppgifter i 3.1

Lösningar och kommentarer till uppgifter i 3.1 Lösningar och kommentarer till uppgifter i.1 102 b) TB: Kör de med dessa uppgifter i det här kapitlet också? Det gör inget, jag börjar bli ganska bra på det. Vi har funktionen fx) = x x 2 24x + 1 och man

Läs mer

Ökat personligt engagemang En studie om coachande förhållningssätt

Ökat personligt engagemang En studie om coachande förhållningssätt Lärarutbildningen Fakulteten för lärande och samhälle Individ och samhälle Uppsats 7,5 högskolepoäng Ökat personligt engagemang En studie om coachande förhållningssätt Increased personal involvement A

Läs mer

CREATING VALUE BY SHARING KNOWLEDGE

CREATING VALUE BY SHARING KNOWLEDGE CREATING VALUE BY SHARING KNOWLEDGE PROJEKTLEDNING 101 Nidzara Dellien, Lund September 2017 PROJEKT En formell definition på projekt är följande (enligt Wikipedia): En temporär satsning för att framställa

Läs mer

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping Fuzzy Logic När oskarpa definitioner blir kristallklara Linköpings Universitet Linköping Sammanfattning I denna fördjupningsuppgift har jag fokuserat på Fuzzy Logic och försökt att beskriva det på ett

Läs mer

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1 11 oktober 215 Miniprojekt 1 (5) Beräkningsvetenskap I/KF Institutionen för informationsteknologi Teknisk databehandling Besöksadress: MIC hus 2, Polacksbacken Lägerhyddsvägen 2 Postadress: Box 337 751

Läs mer

Kapitel 12: TEST GÄLLANDE EN GRUPP KOEFFICIENTER - ANOVA

Kapitel 12: TEST GÄLLANDE EN GRUPP KOEFFICIENTER - ANOVA Kapitel 12: TEST GÄLLANDE EN GRUPP KOEFFICIENTER - ANOVA 12.1 ANOVA I EN MULTIPEL REGRESSION Exempel: Tjänar man mer som egenföretagare? Nedan visas ett utdrag ur ett dataset som innehåller information

Läs mer

BFL122/BFL111 Fysik för Tekniskt/ Naturvetenskapligt Basår/ Bastermin Föreläsning 13 Kärnfysik 2 den 4 maj Föreläsning 13.

BFL122/BFL111 Fysik för Tekniskt/ Naturvetenskapligt Basår/ Bastermin Föreläsning 13 Kärnfysik 2 den 4 maj Föreläsning 13. Föreläsning 13 Sönderfallslagen Låt oss börja med ett tankeexperiment (som man med visst tålamod också kan utföra rent praktiskt). Säg att man kastar en tärning en gång. Innan man kastat tärningen kan

Läs mer

Pipelining i Intel 80486

Pipelining i Intel 80486 Lunds Universitet Pipelining i Intel 80486 EITF60 Datorarkitekturer med operativsystem Martin Wiezell 2017-12-04 Abstract This paper gives a brief description of the instruction pipeline of the Intel 80486

Läs mer

Lgr 11 matriser i Favorit matematik 4 6

Lgr 11 matriser i Favorit matematik 4 6 Lgr 11 matriser i Favorit matematik 4 6 FÖRMÅGOR FÖRMÅGOR Lgr 11: Genom undervisningen i ämnet matematik ska eleverna sammanfattningsvis ges förutsättningar att utveckla förmågan att De matematiska förmågor

Läs mer

Experimentella metoder, FK3001. Datorövning: Finn ett samband

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

Läs mer

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

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Staffan Romberger 2008-10-31 DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Efter den här laborationen ska du kunna hantera vektorer och matriser, villkorssatser

Läs mer

Gränssnitt för FakeGranska. Lars Mattsson

Gränssnitt för FakeGranska. Lars Mattsson Gränssnitt för FakeGranska av Lars Mattsson (larsmatt@kth.se) Innehållsförteckning 1 Introduktion...3 2 Genomförande:...3 3 Användning...5 4 Kända buggar:...6 5 Källförteckning...6 2 1 Introduktion Taken

Läs mer

Grunderna i stegkodsprogrammering

Grunderna i stegkodsprogrammering Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer

Läs mer

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk RemoteBud Inlämnas: 2005-02-01 Patrik Johnsson, e01pjo Viktor Karlsson, e01vk Abstract Skulle du också vilja styra dina lampor och rulla ner dina persienner med hjälp av din TV-fjärrkontroll? Remotebud

Läs mer

Obemannade flygplan. Namn: Hampus Hägg. Datum: 2015-03-02. Klass: TE14B. Gruppmedlemmar: Gustav, Emilia, Henric och Didrik

Obemannade flygplan. Namn: Hampus Hägg. Datum: 2015-03-02. Klass: TE14B. Gruppmedlemmar: Gustav, Emilia, Henric och Didrik Namn: Hampus Hägg Obemannade flygplan Datum: 2015-03-02 Klass: TE14B Gruppmedlemmar: Gustav, Emilia, Henric och Didrik Handledare: David, Björn och Jimmy Abstract In this task I ve been focusing on unmanned

Läs mer

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis

Läs mer

Bisektionsalgoritmen. Kapitel Kvadratroten ur 2

Bisektionsalgoritmen. Kapitel Kvadratroten ur 2 Kapitel 4 Bisektionsalgoritmen Vi ska konstruera lösningar till algebraiska ekvationer av formen f(x) = 0 med hjälp av bisektionsalgoritmen (intervallhalveringsmetoden). På samma gång ska vi se hur man

Läs mer

Den räta linjens ekvation

Den räta linjens ekvation Den räta linjens ekvation Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter dem för första gången är

Läs mer

Vad Betyder måtten MAPE, MAD och MSD?

Vad Betyder måtten MAPE, MAD och MSD? Vad Betyder måtten MAPE, MAD och MSD? Alla tre är mått på hur bra anpassningen är och kan användas för att jämföra olika modeller. Den modell som har lägst MAPE, MAD och/eller MSD har bäst anpassning.

Läs mer

Den räta linjens ekvation

Den räta linjens ekvation Den räta linjens ekvation Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter dem för första gången är

Läs mer

Utforskarens Guide till Lärande

Utforskarens Guide till Lärande Utforskarens Guide till Lärande Daniel Fyhr, David Gisselman, Anders Jansson, Frida Nilsson, Anna Svedberg och Louise Tern. Linköpings Universitet vt 2011 Syftet med rapporten är att visa på att det finns

Läs mer

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1 Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4

Läs mer

Symboler och abstrakta system

Symboler och abstrakta system Symboler och abstrakta system Warwick Tucker Matematiska institutionen Uppsala universitet warwick@math.uu.se Warwick Tucker, Matematiska institutionen, Uppsala universitet 1 Vad är ett komplext system?

Läs mer

Stokastiska processer med diskret tid

Stokastiska processer med diskret tid Stokastiska processer med diskret tid Vi tänker oss en följd av stokastiska variabler X 1, X 2, X 3,.... Talen 1, 2, 3,... räknar upp tidpunkter som förflutit från startpunkten 1. De stokastiska variablerna

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2014-10-27 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I L04.1 Marodören Inledning Genom att öva sig på de grundläggande koncepten i JavaScript öppnas vägen allteftersom till de mer avancerade funktionerna. Man måste lära sig krypa innan man kan gå, även i JavaScript!

Läs mer

Algoritmer och datastrukturer. HI1029 8,0 hp Introduktion

Algoritmer och datastrukturer. HI1029 8,0 hp Introduktion Algoritmer och datastrukturer HI1029 8,0 hp Introduktion Lärandemål Efter kursen ska studenten: Ha kunskaper om de vanligaste algoritmteknikerna och datastrukturerna I viss mån kunna utvärdera algoritmers

Läs mer

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

Beräkningsvetenskap introduktion. Beräkningsvetenskap I Beräkningsvetenskap introduktion Beräkningsvetenskap I Kursens mål För godkänt betyg ska studenten kunna redogöra för de nyckelbegreppen som ingår i kursen* utföra enklare analys av beräkningsproblem och

Läs mer

Statistisk Maskinöversättning eller:

Statistisk Maskinöversättning eller: 729G43 Statistisk Maskinöversättning eller: Hur jag slutade ängslas (över fördjupningsuppgiften) och lärde mig hata stoppord. Jonas Hilmersson 2019-04-15 Innehåll 1. Introduktion... 1 2. Datamängden...

Läs mer

Obligatorisk uppgift: Simulering av köer i ett trafiksystem

Obligatorisk uppgift: Simulering av köer i ett trafiksystem Informationsteknologi 10 februari 2016 Obligatorisk uppgift: imulering av köer i ett trafiksystem Moment: Centrala begrepp som klasser, objekt, metoder, attribut. Problembeskrivning OB: Uppgifterna kommer

Läs mer

Stokastiska Processer och ARIMA. Patrik Zetterberg. 19 december 2012

Stokastiska Processer och ARIMA. Patrik Zetterberg. 19 december 2012 Föreläsning 7 Stokastiska Processer och ARIMA Patrik Zetterberg 19 december 2012 1 / 22 Stokastiska processer Stokastiska processer är ett samlingsnamn för Sannolikhetsmodeller för olika tidsförlopp. Stokastisk=slumpmässig

Läs mer

Tentamentsskrivning: Matematisk Statistik med Metoder MVE490 1

Tentamentsskrivning: Matematisk Statistik med Metoder MVE490 1 Tentamentsskrivning: Matematisk Statistik med Metoder MVE490 1 Tentamentsskrivning i Matematisk Statistik med Metoder MVE490 Tid: den 16 augusti, 2017 Examinatorer: Kerstin Wiklander och Erik Broman. Jour:

Läs mer