Förstärkande inlärning med fokus på Q-learning
|
|
- Per-Erik Hermansson
- för 5 år sedan
- Visningar:
Transkript
1 LINKÖPINGS UNIVERSITET 12 januari 2017 Förstärkande inlärning med fokus på Q-learning Artificiell Intelligens, 729G43
2 Sammanfattning Förstärkande inlärning innebär att vi människor lär oss genom att interagera med omgivningen, på så sätt får vi en kunskap om vad våra handlingar leder till för konsekvenser, där belöningar i olika former har en stor betydelse. När vi belönas för en viss typ av handling är sannolikheten stor att vi fortsätter utföra samma handling, exempel på detta är lönen vi får när vi arbetar eller betyget vi får efter en avslutad kurs i skolan. På samma sätt kan vi lära robotar att utföra lämpliga handlingar, genom belöningar uppmuntrar vi ett visst beteende och till slut kommer roboten också lära sig det optimala tillvägagångssättet. Denna rapport har som syfte att fördjupa sig inom förstärkande inlärningen hos robotar med fokus på Q-learning. Utöver det kommer modeller som ligger till grunden för denna teknik presenteras ytligt för att slutligen gå ner i djupet på vad Q-learning är och hur dess algoritm fungerar. Nyckelord: Förstärkande inlärning, Q-learning, Markov decision process, Optimal Control, Temporal Difference learning 1
3 Innehållsförteckning 1 Inledning Förstärkande inlärning Underliggande element Exempel Utforska eller utnyttja Utforskning med ε-greedy On-policy eller off policy Credit assignment problem Markov Decision Process Optimal Control och Temporal Difference Q-learning Värdefunktion Inlärningshastigheten, a Diskonteringsfaktor, g ε greedy metoden Algoritmen Pseudokod för algoritmen Q-learning exempel Q-learning steg för steg Begränsningar Avslutande ord Referenser
4 1 Inledning Människor utvecklas hela tiden och lär sig nya saker genom att interagera med omgivningen, detta med hjälp av våra sinnen som är en direkt anslutning till omgivningen. Enligt Sutton och Barto (1998) ger detta oss information om orsak och verkan, konsekvensen av en viss händelse, vilket i sin tur leder till mer kunskap om hur vi kan uppnå våra mål stora som små. Vi försöker anpassa vårt beteende efter hur omgivningen svarar på våra handlingar och på så sätt påverka vad utfallet blir. Watkins (1989) betonar dessutom att bete sig på ett sätt som genererar belöning är ett tecken på intelligens. Beröm från våra föräldrar, betyg i skolan eller lön för utfört arbete är alla exempel på hur vi människor kan belönas. Likaså, en hund kan tränas genom att den får belöning vid lämpligt uppförande och på så sätt lär den sig hur den ska bete sig då belöningen förstärker visa beteenden. Därav är interaktioner och konsekvenserna av dessa en stor källa till kunskap och en grundläggande idé bakom nästan alla teorier om lärande och intelligens. Under 1920-talet användes begreppet förstärkning för första gången inom psykologin, och begreppet byggde då på idén om att lära sig genom sina misstag. Vartefter blev idén även populär inom datavetenskapen då forskare och teoretiker insåg vikten av förstärkning inom maskininlärning för att uppnå intelligenta maskiner (Altuntas et al., 2016). Då programmering av spelförande agenter eller mobila robotar kan vara en lång och tidskrävande process, kan förstärkning komma väl till hands då agenten själv skulle kunna lära sig att utföra en uppgift. Genom att specificera vad robotens mål är och låta den lära sig detaljerna kring hur målen uppnås. Denna typ av inlärningsteknik kallas för förstärkande inlärning (eng. reinforcement learning), vilket innebär att agenten lär sig från med- och motgångar med hjälp av belöningar eller bestraffningar. Denna typ av inlärning används i många komplexa områden, detta då det är det enda möjliga sättet att träna ett program för att prestera på en hög nivå. Exempelvis, att lära en agent flyga en helikopter är extremt svårt men genom att ge lämpliga bestraffningar för att krascha, vingla eller avvika från en viss kurs kan agenten lära sig att flyga själv. Likaså, en spelförande agent kan lära sig genom att minnas vad som ledde till en vinst eller förlust, och på så skapa sig en utvärderingsfunktion som ger en uppskattning av sannolikheten för en vinst givet en viss position (Russell, & Norvig, 2010). 3
5 Det hela handlar om att genom interaktion med omgivningen lär sig agenten hur omgivningen fungerar och därefter hittar den allt bättre lösningar för att nå sitt mål. I denna rapport ligger fokus på belöningar, och inte bestraffningar, i en delvis okänd stokastisk omgivning. Syftet är att introducera förstärkande inlärning med en fördjupning i metoden Q-learning. I kommande kapitel förklaras begreppet förstärkande inlärning och dess innebörd, därefter nämns några av de metoder som används inom detta område för att slutligen gå in djupare på vad Q-learning är och hur dess algoritm fungerar. 2 Förstärkande inlärning Förstärkande inlärningen (Sutton & Barto, 1998) betyder att agenten lär sig vad man ska göra, kartlägger hur handlingar är kopplade till situationer för att maximera belöningen. Det handlar inte om att agenten får veta vilka handlingar som ska göras, till skillnad från de flesta former inom maskininlärning, utan måste själv upptäcka vilka handlingar som genererar mest belöning. Val av handling påverkar nödvändigtvis inte den omedelbara belöningen utan kan även påverka efterföljande situationer med tillhörande belöningar. Dessa två egenskaper kallas för trial-and-error sökning samt fördröjd belöning, vilket är de två mest utmärkande egenskaperna för förstärkande inlärning. 2.1 Underliggande element Förstärkande inlärning är en målinriktad inlärning som sker genom interaktion med omgivningen. Enligt Sutton och Barto (1998) finns det förutom agenten och omgivningen fyra underliggande element som har en stor betydelse för inlärningen: en policy, en belöningsfunktion, en värdefunktion och eventuellt en modell av omgivningen. Där en policy är kärnan för en förstärkningslärande agent, detta då en policy är tillräckligt för att bestämma agentens beteende, och definierar hur agentens ska bete sig vid en given tidpunkt. En belöningsfunktion definierar målet givet ett problem, samt vilka handlingar som ger mer eller mindre belöning. Funktionen kartlägger och ger ett värde på en situation kopplad till en viss handling, där agentens mål är att ta den handling som genererar störst belöning. Policyn styr dock valet av handling, och om handlingen följs av en låg belöning kan det hända att policyn ändras för att generera en bättre belöning i framtiden. Till skillnad från belöningsfunktion, som definierar en direkt belöning givet en handling, definierar en 4
6 värdefunktion vad agenten kan förvänta sig för belöning i det långa loppet. Det vill säga, att varje tillstånd agenten har att välja mellan består av en total mängd belöningar som agenten kan förvänta sig framöver. Ett tillstånd kan ha en omedelbar belöning med ett lågt värde men ha ett högt förväntat värde då efterföljande tillstånd ger en högre belöning sammanlagt. Även om belöning anses vara primär, då det inte finns några värden utan belöningar, så är vi mest angelägna om att välja de handlingar med högst värde och inte belöning. Då de handlingarna med högst värde i slutändan genererar högre belöning. Dock är det svårt att uppskatta ett värde än att fastställa belöningar, detta då belöningar ges av omgivningen medans värden måste uppskattas genom iakttagelser under en livstid. Därav är en av de viktigaste utmaningarna att hitta en effektiv metod för att skatta värden. Det fjärde underliggande elementet, en modell av omgivningen, används för planering. Detta då det är en modell som efterliknar ett beteende hos omgivningen. Den kan förutsäga vad en handling kommer resultera i för tillstånd och belöning, och kan på så sätt överväga möjliga situationer innan de upplevs. 2.2 Exempel För att förtydliga det hela presenteras här ett exempel tagit från Sutton och Barto (1998) men egen översättning: En mobil robot beslutar mellan att gå in i ett nytt rum på jakt efter mer skräp att samla in eller börja försöka hitta sin väg tillbaka till batteriladdningsstationen. Den tar ett beslut baserat på hur snabbt och enkelt den har kunnat hitta till laddaren i tidigare situationer. Exemplet visar att agenten utnyttjar tidigare erfarenheter för att förbättra framtida beslut, där interaktionen med omgivningen är en förutsättning för att förändra beteenden och utnyttja specifika funktioner i uppgiften. Alla agenter som utsätts för förstärkande inlärning har explicita mål, kan uppfatta delar av omgivningen och kan välja handlingar som påverkar den omgivning de befinner sig i (Sutton & Burto, 1998). Det handlar dock inte bara om att utnyttja tidigare erfarenheter, utan agenten måste ibland även utforska för att få den kunskap som krävs för att kunna agera optimalt i en omgivning. Denna avvägning mellan att utforska och utnyttja (eng. exploration-exploitation dilemma) är en av flera utmaningar inom förstärkningsinlärning. 5
7 2.3 Utforska eller utnyttja Genom att välja den handling som beräknas ha störst värde utnyttjar agenten sin nuvarande kunskap. Däremot kan det finnas handlingar med bättre värde och genom att agenten utforskar möjliga handlingar kan ett bättre värde upptäckas. Skillnaden mellan dessa tillvägagångssätt är om agenter utnyttjar nuvarande kunskap maximeras belöningen på kort sikt, men garanterar inte att den totala belöningen maximeras på lång sikt. Däremot genereras en större belöning i det långa loppet om agenten väljer att utforska möjliga handlingar, detta då agenten fyller på med ny kunskap som den senare kan utnyttja (Altuntas et al., 2016). 2.4 Utforskning med ε-greedy Då det inte är möjligt för agenten att både utnyttja och utforska i samma steg är det viktigt att hitta en balans mellan dessa två tillvägagångssätt. Det finns flera metoder för att balansera denna avvägning och den mest använda är ε-greedy metoden, som är en slags policy. Denna metod innebär att agenten vanligtvis utnyttjar sin nuvarande kunskap genom att välja giriga handlingar, dessa handlingar är de med störst uppskattat värde. Det finns dock en sannolikhet ε, som möjliggör för agenten att utforska genom att slumpmässigt välja en av de möjliga handlingarna (Altuntas et al., 2016). Detta förklaras mer i detalj i kapitlet om Q-learning. 2.5 On-policy eller off policy Förutom ε-greedy metoden finns två andra metoder för att lösa problemet med utforskning och utnyttjande, on-policy och off -policy. Där on-policy är en metod som försöker förbättra eller utvärdera en nuvarande policy för att fatta beslut. off-policy utforskar nuvarande policy men lägger ingen uppmärksamhet på att faktiskt följa policyn, den lär sig dock värdet av den optimala policyn oberoende agentens agerande (Sutton och Barto, 1998; Russell, & Norvig, 2010). 2.6 Credit assignment problem När en agent har klarat av en uppgift, exempelvis när ett spelförande program har vunnit har en sekvens med alla dess handlingar sparats som i sin tur genererade en viss belöning. I detta fall en viss poäng. På något viss måste denna belöning fördelas över vilka handlingar som ledde till vinsten, vilket kallas för credit assignment problem (Sutton och Barto, 1998). Dock 6
8 är det huvudsakliga problemet att till en början få en agent att agera i världen för att maximera sina belöningar, och detta kallas för förstärkningsinlärningsproblemet (Sutton och Barto, 1998). Figur 1: förstärkningsinlärningsproblemet 3 Markov Decision Process Markov Decision Process (MDP) är en metod som kan användas för att representera förstärkningsinlärningsproblemet. Detta är en process som består av fyra delar, förutom en agent placerad i en omgivning, där omgivningen är i ett visst tillstånd. Agenten kan i denna omgivning välja mellan olika handlingar, som resulterar i en numerisk belöning. Handlingen leder sedan till ett nytt tillstånd där agenten kan välja nya handlingar. Valet av handling baseras på en policy och agenten fortsätter tills målet är uppnått. Omgivningen är oftast stokastiskt, vi kan inte vara säkra på vad en handling leder till utan det är slumpen som avgör (Sutton & Burto, 1998). Figur 2: Markov Decision Process Det som utgör MDP är fyra delar; uppsättningen av tillstånd S, möjliga handlingar A för varje tillstånd, en övergångsfunktion T samt en belöningsfunktion R (Watkins, 1989). Där ett 7
9 tillstånd s Î S, en handling a Î A. För att komma från ett tillstånd till ett annat finns en policy som avgör agentens beteende. Denna process bildar en sekvens av episoder: Denna sekvens visar att agenten var i tillståndet s 0 och gjorde handling a 0, vilket i sin tur resulterade i belöning r 1. Agenten hamnade då i det nya tillståndet är s 1 och gjorde sedan handling a 1 som genererade belöning r 2 för att sedan hamna i det nya tillståndet s 2 etcetera. Där tiden t är siffran vid respektive bokstav. Sekvensen kan ses som agentens historia av interaktioner som i sin tur kan ses som erfarenheter, där en upplevelse är en tupel: Mer generellt, agenten var i tillståndet s och utförde handling a som genererade belöning r för att slutligen hamna i tillstånd s. Det är genom dessa erfarenheter som agenten kommer lära sig hur målen uppnås. En förstärkningsinlärningsuppgift som uppfyller Markov antagandet kallas för Markov decision process, eller begränsad MDP om varje tillstånd och handlingsutrymmen är begränsade. Markov antagandet antar att sannolikheten för nästa tillstånd inte beror på tidigare tillstånd och handlingar, utan endast de aktuella tillstånd och handlingar. Denna metod är viktig inom förstärkningsinlärning och enligt Sutton och Burto (1998) är det allt man behöver veta för att förstå modern förstärkningsinlärning. 4 Optimal Control och Temporal Difference Det finns dock fler metoder som har spelat en stor roll för framgången inom förstärkningsinlärning, bland annat metoderna Temporal Difference learning och Optimal Control. Där Temporal Difference learning förutspår framtiden baserat på tidigare erfarenheter, genom att göra kvalificerade gissningar på hur framtida händelser bör se ut. Vidare förklarar Sutton och Burto (1998) att Optimal Control fokuserar mer på att minimera eller maximera en given kostnadsfunktion. Detta med syftet att hitta ett optimalt tillvägagångssätt för ett givet problem, det i sin tur innebär att genom att ge olika tillstånd ett 8
10 värde blir det enklare för agenten att ta sig till ett mål på kortast tid. Kostnadsfunktionen består av en variabel som kan stå för avståndet, hastigheten eller eventuella hinder på vägen. Dessa två metoder förenades av Watkins (1989) som idag utgör grunden för Q-learning. 5 Q-learning Q-learning är en metod som används flitigt inom förstärkningsinlärning, den kan bland annat användas för att hitta en optimal policy för val av handling för en viss begränsad MDP. Enligt Watkins (1989) innebär denna metod att agenten har möjligheten att bli bättre genom att få uppleva konsekvenserna av sina handlingar. Vidare förklarar Watkins och Dayan (1992) att denna metod fungerar på så sätt att en agent i ett tillstånd testar en handling och utvärderar konsekvenserna, detta genom att se vilka belöningar eller bestraffningar handlingen genererar och på så sätt uppskattar värdet av det nya tillståndet. Då agenten testat samtliga handlingar i alla tillstånd kommer agenten slutligen lära sig vilken handling som är bäst. Det som utmärker Q-learning att det är en off-policy och modell-fri metod. Att det är en offpolicy metod innebär att oavsett vilken policy agenten följer lär sig själva metoden en optimal policy. Anledning till att det är en modell-fri metod beror på att Q-funktionen inte kräver en modell för val av handling eller inlärning (Russell & Norvig, 2010). Dessutom skiljer sig Q- learning från andra metoder genom att den har en förmåga att välja mellan omedelbara belöningar och fördröjda belöningar. Detta då målet är att hitta en sekvens av handlingar som maximerar summan av belöningar, vilket är den kortaste vägen mellan start och mål. 5.1 Värdefunktion Q-learning algoritmen specificerar inte vad agenten bör göra, utan agenten lär sig en Q- funktion som kan användas för att bestämma en optimal handling. Q-learning utnyttjar en värdefunktion för att agenten ska kunna hitta den optimala handlingen i ett givet tillstånd. Funktionen ger ett värde för alla kombinationer av handlingar och tillstånd och det baseras på den förmodade framtida belöningen. När värdefunktionen är som störst har algoritmen nått den optimala handlingen, även kallad optimal policy (Russell & Norvig, 2010). Värdefunktionen är inte alltid känd och i dessa fall uppskattar Q-learning värdefunktionen med hjälp av en Q-funktion, där allt eftersom agenten utför en handling uppdateras 9
11 funktionen. Q-funktion är detsamma som Q-värde. I ett tillstånd sparas värdet för alla handlingar som Q(s, a) där s står för tillstånd och a står för en handling (Russell & Norvig, 2010). Styrkan Q-learning har är att Q-funktionen konvergerar, detta bevisades av Watkins och Dayan (1992), vilket innebär att funktionen har uppnått en god uppskattning av värdefunktionen och fortsätter därför inte att uppdateras. I samband med att konvergens uppnåtts har även funktionen hittat en optimal policy (Sutton och Burto, 1998). Världen som agenten ska interagera med består av ett antal tillstånd S och handlingar A, där en handling a Î A, och genom att utföra en handling kan agenten ta sig från ett tillstånd till ett annat. Algoritmen har därför en funktion som beräknar mängden av kombinationer mellan alla tillstånd och handlingar: Innan agenten startar och börjar lära känna sin omgivning returnerar Q ett fixerat värde, som uppdateras allt eftersom agenten utforskar omgivningen vilket kallas för value iterations update. Detta innebär att den nya kunskapen agenten skaffar sig uppdaterar det gamla värdet, med tidigare tillstånd och val av handling kan även påverka hur agenten väljer handlingar i framtiden. Nedan visar ekvationen för att beräkna Q-värdet, vilket en en del i algoritmen för Q-learning: I formeln är a inlärningshastigheten (eng. learning rate) och R t+1 är den observerade belöning efter utförd handling A t i tillstånd S t. g är en diskonteringsfaktor (eng. discount factor) och maxq(s t+1, a) är en funktion som beräknar det största Q-värdet för alla handlingar i nästa tillstånd. Algoritmen slutar när S t+1 är sluttillståndet (Russell & Norvig, 2010). 10
12 5.2 Inlärningshastigheten, a Inlärningshastigheten a kan anta ett värde från 0 till 1 där värden närmare 0 ger mindre vikt åt ny information, vilket leder till att agenter inte lär sig något nytt. Medans värden närmare 1 skrivs den gamla informationen över av den nya informationen. I praktiken är inlärningshastigheten konstant och har ett värde på a = 0.1 för tiden t (Sutton & Burto, 1998). 5.3 Diskonteringsfaktor, g Parametern g kan, precis som inlärningshastigheten, anta ett värde från 0 till 1 och är en faktor som viktar framtida belöningar. Detta innebär att ett värde närmare 0 kommer leda till att agenten betraktar omedelbara belöningar, och ett värde närmare 1 kommer istället leda till att agenten lägger större vikt på framtida belöningar (Watkins, 1989). För att kunna prestera optimalt i det långa loppet är det viktigt att agenten inte endast fokuserar på den omedelbara belöningen, utan även överväger framtida belöningar. Då omgivningen är stokastisk kan vi aldrig vara riktigt säkra på om samma handling kommer generera samma belöning, därav är det vanligt att använda en discounted future reward. Sutton och Burto (1998) presenterar följande formel för att räkna ut detta: Där R står för belöningen t+1 står för tiden och g står för huruvida agenten ska betrakta omedelbara belöningar eller lägga större vikt på framtida belöningar. Då vi vill balansera mellan omedelbar och framtida belöningar borde diskonteringsfaktorn ligga närmare 1. Däremot om omgivningen skulle vara deterministisk där varje handling leder till samma resultat kan värdet vara 1. Det är dock en god strategi för agenten att alltid välja de handlingar som maximerar framtida belöningar. 5.4 ε greedy metoden Som tidigare nämnt använder agenten en policy för att hantera huruvida det är aktuellt att utnyttja tidigare kunskap eller utforska för att se om det finns en ännu bättre handling. Detta med hjälp av ε greedy metoden, vilket ger möjligheten för agenten att välja en handling slumpmässigt och på så sätt utforska omgivningen. Formeln ser ut som följande: 11
13 Parametern ε, epsilon, består av ett värde från 0 till 1 som avgör om agenten ska utnyttja eller utforska. I formeln består q av ett slumpat tal inom ett visst intervall och om den är större än ε så väljs det bästa befintliga Q-värdet, om talet däremot är mindre eller lika med ε så genererar formeln en slumpmässig handling. Både Q-värden och belöningsvärden lagras i varsin matris, där Q-värden till en början är satt till noll men uppdateras med tiden beroende på valet av handlingar (Neri, Zatelli, Santos, Dos, & Fabro, 2012). 5.5 Algoritmen Här är ett exempel på hur algoritmen kan se ut, tagit från Sutton och Barto (1998): Intialize Q(s, a), "s Î S, a Î A(s), arbitrarily, and Q(terminal-state, ) = 0 Repeat (for each episode): Initialize S Repeat (for each step of episode): Choose A from S using policy derived from Q (e.g., ε-greedy) Take action A, observe R, S Q(S, A) Q(S, A) + a[r + g max a Q(S, a) Q(S, A)] S S ; until S is terminal 5.6 Pseudokod för algoritmen Initiera R-matrisen, Q-matrisen, inlärningshastigheten samt diskonteringsfaktorn. Upprepa för varje episod: Initiera tillståndet S Upprepa för varje steg i episoden Välj en handling (med t.ex. ε-greedy algoritmen) Utför handlingen och observera belöningen och nästa tillstånd Uppdatera Q-matrisen genom att beräkna Q(S, A) Nuvarande tillstånd S = nästa tillstånd S Upprepa tills tillståndet avslutas 12
14 5.7 Q-learning exempel Detta enklaste sättet att lagra data inom Q-learning är med hjälp av matriser. Där agenten upprätthåller en tabell för en uppsättning tillstånd S och handling A, där Q[S, A] representerar den aktuella uppskattningen av Q(s, a) (Neri et al., 2012). Nedan presenteras ett simpelt exempel på för att förtydliga hur Q-learning fungerar taget från Kardi Teknomo (2005). I exemplet finns det en byggnad med fem rum där vissa rum är sammankopplade med dörrar som figuren nedan visar. Rummen namnges från A till E och området utanför byggnaden kallas för F. Observera att det endast finns två dörrar ut ur byggnaden, dessa går från rum B och rum E. Rummen kan även presenteras genom en graf, där varje nod representerar ett rum och varje gren representerar dörrar till respektive rum. Agentens mål är att ta sig utanför byggnaden till område F, och för att kunna sätta ett sådant mål måste dörrarna som leder till målet generera en belöning. Därför får de dörrar som leder direkt till F en belöning med värdet 100, de markeras med röda pilar i grafen nedan, medans de andra dörrarna generar en belöning med värdet 0. Det är möjligt för agenten att gå fram och tillbaka mellan rummen, exempelvis från C till D och tillbaka, därav får varje nod två pilar. Varje pil innehåller en omedelbar belöning. Dessutom skapas en loop vid F som innebär 13
15 att om agenten hamnar på F stannar den där, vilket också genererar en belöning med värdet 100, detta kallas absorbing goal, hamnar agenten där stannar den där föralltid. Nu är det dags att introducera agenten som ska placeras i denna omgivning, och det kommer vara en robot som kan lära sig genom erfarenhet. Den har ingen kunskap om omgivningen, därav vet den inte vilka dörrar som är bäst att välja, men den har möjligheten att ta sig från ett rum till ett annat. Agenten placeras till en början i rum C. Varje rum och området utanför byggnaden tilldelas ett varsitt tillstånd, och när agenten rör sig från ett rum till ett annat genomför den en handling. I grafen står noderna för tillstånd och pilarna för möjliga handlingar med tillhörande omedelbar belöning. 14
16 Eftersom agenten bara kan ta sig genom befintliga dörrar kan nu agenten endast välja rum D och därefter välja mellan att gå till tillstånd B eller tillstånd E eller återgå i tillstånd C. Nedan visas en belöningstabell, även kallat matris R, där tillståndsdiagrammet med tillhörande belöningar placerats ut. Där minustecken innebär att det inte finns någon handling för att komma till tillståndet. Exempelvis, tillstånd A kan inte gå till tillstånd B då det inte finns någon dörr mellan dessa rum. Vi skapar även en liknande matris av denna tabell som kallas matris Q. Den representerar agentens minne allt eftersom agenten interagerar med omgivningen sparas den nya kunskapen i denna matris. Då agenten startar med noll kunskap kommer matris Q initialiseras till noll, dock är tillstånden kända för att förenkla detta exempel. Som tidigare nämnt är övergångsregeln för Q-learning väldigt simpel och ser ut som följande: Q(state, action) = R(state, action) + g * Max[Q(next state, all actions)] Enligt formeln ovan är ett värde som tilldelas till ett visst element i matris Q lika med summan av motsvarande värde i matris R, adderat med inlärnings parametern Gamma g som multipliceras med det maximala värdet av Q för alla tänkbara handlingar i nästa tillstånd. Observera att exemplet använder sig av en inlärningshastighet med värde 1, detta då det är en deterministisk omgivning, och därav har inte tecknet skrivits ut då det inte blir en skillnad i uträkningen. Roboten i denna värld kommer som tidigare nämnt lära sig genom erfarenhet. Detta genom att utforska tillstånd till tillstånd med målet att nå området utanför byggnaden, noden F. Varje utforskning sparas ner som en episod, som består att roboten förflyttar sig från det nuvarande tillståndet till ett måltillstånd. Varje gång agenten når måltillståndet startar en ny episod. 15
17 För att agenten ska lära sig av erfarenhet måste den tränas upp, detta med hjälp av matris R som representerar den omgivning som agenten ska utforska, där varje episod är likvärdig en träningsomgång. Detta sparas ner i agentens minne som representeras av matris Q, och ju mer träning desto mer optimerad blir matrisen. Om agenten sedan utnyttjar den kunskap den har kommer den till slut hitta den snabbaste vägen för att nå sitt mål. Algoritm för att utnyttja Q matrisen lyder: 1. Sätt nuvarande tillstånd till initialtillstånd 2. Från nuvarande tillstånd hitta en handling med högst Q-värde 3. Sätt nuvarande tillstånd till nästa tillstånd 4. Repetera steg 2 och 3 tills nuvarande tillstånd är måltillståndet Algoritmen kommer returnera en sekvens av tillstånd från initialtillståndet till måltillståndet Q-learning steg för steg Nedan går vi igenom varje episod steg för steg för att ytterligare förtydliga hur algoritmen för Q-learning fungerar (Teknomo, 2005). Där vi startar med att sätta diskonteringsfaktorn till 0,8 och initialtillståndet till rum B. Q-matris initialiseras till noll. I matris R ser vi att det finns två möjliga handlingar under tillstånd B vilket är tillstånd D och tillstånd F. Med hjälp av slumpen blev handlingen att gå till tillstånd F. 16
18 Nu är agenten i tillstånd F och om vi tittar matris R på rad F ser vi att nästa möjliga handlingar är B, E eller F. Q(state, action) = R(state, action) + g * Max[Q(next state, all actions)] Q(B, F) = R(B, F) * Max[Q(F, B), Q(F, E), Q(F, F)] = * 0 = 100 Varför Q(F, B), Q(F, E) samt Q(F, F)] blir noll beror på att matris Q fortfarande bara är initialiserad till noll. Q(B, F) blir 100 då den omedelbara belöningen från R(F, B) har det värdet. Nu blir F det nuvarande tillståndet, och eftersom detta är måltillståndet har agenten klarat en episod. Q matrisen uppdateras nu med den kunskap episoden har gett: Det initiala tillståndet väljs slumpmässigt ut för varje episod. Denna gång börjar vi med tillstånd D som vårt initialtillstånd. Kikar vi på fjärde raden i matris R, där finns det tre möjliga handlingar B, C och E. Slumpmässigt väljer vi tillstånd B som vår handling. Vi intalar oss att vi är i tillstånd B nu, kikar på andra raden i belöningsmatrisen R och den har två möjliga handlingar, tillstånd D och tillstånd F. Genom att räkna ut Q-värdet får vi: Q(state, action) = R(state, action) + g * Max[Q(next state, all actions)] Q(D, B) = R(D, B) * Max[Q(B, D), Q(B, F)] = * Max(0, 100) = 80 Resultatet blir Q(D, B) = 80 vilket sparas ner i Q matrisen, där värdena Q(B, D) = 0 och Q(B, F) = 100 sparats ner sedan tidigare. B blir nu nästa nuvarande tillstånd, eftersom B inte är vårt måltillstånd upprepar vi den inre loopen i Q-learning algoritmen. Här finns det två möjliga handlingar, tillstånd D och tillstånd 17
19 F. Lyckligtvis blir tillstånd F slumpmässigt valt. Nu antar vi att vi är i tillstånd F, där det finns tre möjliga handlingar B, E och F. Vi beräknar Q-värdet på dessa genom att använda maximala värdet av dessa handlingar: Q(state, action) = R(state, action) + g * Max[Q(next state, all actions)] Q(B, F) = R(B, F) * Max[Q(F, B), Q(F, E), Q(F, F)] = * 0 = 100 I Q matrisen är Q(F, B), Q(F, E) samt Q(F, F)] fortfarande satt till noll. Efter uträkningen blir Q(B, F) 100 då den omedelbara belöningen från R(F, B) är 100. Detta ändrar dock inte Q matrisen. Eftersom F är måltillståndet är agenten i mål och episoden är avslutad. Matrisen ser därför fortfarande likadan ut. Genom att låta agenten genomföra fler episoder blir den allt bättre, och till slut har Q matrisen uppnått ett konvergerande värde. Q matrisen kan bli normaliserad, konvertera värdena till procent, genom att dela alla poster som är mer än noll med den högsta siffra, i detta fall
20 Vi vet att agenten har lärt sig den mest optimala vägen till måltillståndet när Q matrisen kommer tillräckligt nära ett tillstånd av konvergens. Spåra de bästa sekvenserna av tillstånd är så enkelt som att följa länkarna med de högsta värdena i varje tillstånd i grafen nedan. Exempelvis, genom att följa initialtillståndet C kan agenten använda Q matrisen som guide: Från tillstånd C föreslår det maximala Q-värdet handlingen att gå till tillstånd D, vidare från tillstånd D föreslår det maximala Q-värdet två alternativ: att gå till tillstånd B eller E. Vi anta att agenten väljer att gå till tillstånd B och därifrån föreslår det maximala Q-värdet handlingen att gå till tillstånd F, vilket leder till sekvensen: C D B F. 5.8 Begränsningar Trots att Q-learning i många fall är en bra och effektiv metod finns det vissa problem. I samband med att tillstånd och handlingsutrymmet ökar tappar denna metod snabbt sin funktion, och detta kan lösas med bland annat artificiella neurala nätverk. Dini & Serrano (2012) har bland annat hittat ett alternativ till användningen av matriser och förstår istället en implementering av ett artificiellt neuralt nätverk som en funktionsapproximator (eng. function approximation). Vilket Russell och Norvig (2010) förklarar är ett annat sätt att representera en Q-funktion än med matriser, där representationen ses om ungefärliga. Detta då det inte går att representera det faktiska värdet i den valda formen. Här avrundas dock denna rapport och för vidare läsning inom artificiella neurala nätverk se Dini & Serrano (2012) eller liknade studier. 19
21 6 Avslutande ord Det har varit spännande att fördjupa sig inom förstärkande inlärning, detta då det påminner mycket om hur vi människor fungerar. Vi interagerar konstant med vår omgivning och konsekvenserna av våra handlingar genererar hela tiden ny kunskap. Att robotar allt mer börjar efterlikna oss gör detta område ännu mer intressant, och de har sedan en tid tillbaka funnits i vår omgivning för att underlätta för oss. Då robotarna en dag troligtvis kommer att få ett utseende och ett beteende som är identiskt med människan, är det intressant att redan nu ha en liten kunskap om hur hela den resan började. 20
22 7 Referenser Altuntas, N., Imal, E., Emanet, N., & Öztürk, C. N. (2016). Reinforcement learning-based mobile robot navigation. Turkish Journal of Electrical Engineering and Computer Sciences, 24(3), Dini, S., & Serrano, M. (2012). Combining Q-Learning with Artificial Neural Networks in an Adaptive Light Seeking Robot. Neri, J. R. F., Zatelli, M. R., Santos, C. H. F. Dos, & Fabro, J. A. (2012). A proposal of QLearning to control the attack of a 2D robot soccer simulation team. Proceedings Brazilian Robotics Symposium and Latin American Robotics Symposium, SBR- LARS 2012, Russell, S. & Norvig, P. (2010). Artificial intelligence (3rd ed.). Upper Saddle River, NJ: Prentice Hall. Sutton, R. & Barto, A. (1998). Reinforcement learning (1st ed.). Cambridge, Mass.: MIT Press. Teknomo, K. (2005). Q-Learning By Examples. People.revoledu.com. Retrieved 8 January 2017, from Watkins, C.J.C.H. (1989). Learning from delayed rewards. PhD Thesis, University of Cambridge, England. Watkins, C. J. C. H., & Dayan, P. (1992). Q-learning. Machine Learning, 8(3 4),
GRIDWORLD OCH MDP PROJEKTRAPPORT 729G43 MICHAEL JONASSON
2018 GRIDWORLD OCH MDP PROJEKTRAPPORT 729G43 MICHAEL JONASSON Innehåll Inledning & Bakgrund... 2 Förstärkt inlärning... 2 MDP... 2 Gridworld... 3 Nytta och policy... 4 Värdefunktion och Bellmanekvationer...
Läs merLärande genom interaktion
Lärande genom interaktion Förstärk inlärning, specifikt Q-learning Ebba Algvere 729G43 Artificiell Intelligens Linköpings Universitet 2017 Abstract This report will provide the reader with an understanding
Läs mermed hjälp av Deep Reinforcement Learning
Agent som kan spela Atarispel bättre än människor med hjälp av Deep Reinforcement Learning Sofie Adolfsson, sofad117@student.liu.se Artificiell Intelligens Linköpings Universitet 2017-01-12 SofieAdolfsson
Läs merSjälvlärande Hare and Hounds-spelare med Q-learning. HARALD HARTWIG och MAX WESTERMARK
Självlärande Hare and Hounds-spelare med Q-learning HARALD HARTWIG och MAX WESTERMARK Examensarbete Stockholm, Sverige 2011 Självlärande Hare and Hounds-spelare med Q-learning HARALD HARTWIG och MAX WESTERMARK
Läs merSjälvlärande Hare and Hounds spelare med Q-learning
Självlärande Hare and Hounds spelare med Q-learning Examensarbete inom datalogi - DD143X HARALD HARTWIG RINDÖGATAN 27, 11558 STOCKHOLM TEL.NR: 0737264340 MAX WESTERMARK
Läs merPersonifierad Netflix
Linköpings universitet Personifierad Netflix Lisa Rönnqvist 2016-08-24 Sammanfattning INNEHÅLLSFÖRTECKNING 1. Inledning... 1 1.1 Bakgrund... 1 1.2 Syfte... 2 2. Netflix... Fel! Bokmärket är inte definierat.
Läs merFrå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
Läs merFrå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
Läs merFyra-i-rad med förstärkt inlärning
Fyra-i-rad med förstärkt inlärning En implementation av Q-learning CHRISTOFFER JANSON och CARL LANDEFJORD Examensarbete Stockholm, Sverige 2011 Fyra-i-rad med förstärkt inlärning En implementation av Q-learning
Läs merTentamenskod: Inga hjälpmedel är tillåtna
Intelligenta och lärande system 15 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen (TEN1) Artificiell intelligens (AI) 5hp 21IS1C Systemarkitekturutbildningen Tentamenskod: Tentamensdatum:
Läs merAsymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.
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
Läs merNumerisk Analys, MMG410. Lecture 10. 1/17
Numerisk Analys, MMG410. Lecture 10. 1/17 Ickelinjära ekvationer (Konvergensordning) Hur skall vi karakterisera de olika konvergenshastigheterna för halvering, sekant och Newton? Om f(x x k+1 x ) = 0 och
Läs merQ-LEARNING: ETT SÄTT ATT LÄRA AGENTER ATT SPELA FOTBOLL
Q-LEARNING: ETT SÄTT ATT LÄRA AGENTER ATT SPELA FOTBOLL Q-LEARNING: A WAY TO TEACH AGENTS TO PLAY FOOTBALL Examensarbete inom huvudområdet Datalogi Grundnivå 30 högskolepoäng Vårtermin 2013 Kalle Ekelund
Läs merPathfinding med reinforcement learning i delvis observerbara miljöer
Pathfinding med reinforcement learning i delvis observerbara miljöer Anne Engström Joel Lidin Gustav Molander Olle Månsson Noa Onoszko Hugo Ölund Institutionen för Matematiska vetenskaper CHALMERS TEKNISKA
Läs merSjälvlärande Dots & Boxes-spelare
Självlärande Dots & Boxes-spelare ANDREAS PETTERSSON Kandidatexamensarbete inom datalogi, grundnivå Kurs 143X Handledare: Johan Boye Examinator: Mads Dam andrepet@kth.se Vintrosagatan 5 124 73 Bandhagen
Läs merGenetisk programmering i Othello
LINKÖPINGS UNIVERSITET Första versionen Fördjupningsuppgift i kursen 729G11 2009-10-09 Genetisk programmering i Othello Kerstin Johansson kerjo104@student.liu.se Innehållsförteckning 1. Inledning... 1
Läs merde 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
Läs merSjälvlärande brädspelare. EMRE BERGE ERGENEKON och ANTON JONSSON
Självlärande brädspelare EMRE BERGE ERGENEKON och ANTON JONSSON Examensarbete Stockholm, Sverige 2010 Självlärande brädspelare EMRE BERGE ERGENEKON och ANTON JONSSON Examensarbete i datalogi om 15 högskolepoäng
Läs merVad behövs för att skapa en tillståndsrymd?
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
Läs merAntag 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
Läs merNeurala 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 merDynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering
Betrakta ett lagerhållningsproblem i flera tidsperioder. Vi har tillverkning och försäljning av produkter i varje tidsperiod. Dessutom kan vi lagra produkter mellan tidsperioder, för att utnyttja stordriftsfördelar
Läs merAI-Tekniker. För domänspecifika problemområden i StarCraft 2. Mattias Tiger Fredrik Präntare
AI-Tekniker För domänspecifika problemområden i StarCraft 2 Mattias Tiger Fredrik Präntare Introduktion och motivering Ni ska inför er individuella uppgift definiera ett problem och välja ut en eller flera
Läs merBelöningsbaserad inlärning. Reinforcement Learning. Inlärningssituationen Belöningens roll Förenklande antaganden Centrala begrepp
Belöningsbserd Inlärning Reinforcement Lerning 1 2 3 4 1 2 3 4 Belöningsbserd inlärning Reinforcement Lerning Inlärning v ett beteende utn tillgång till fcit. En belöning ger informtion om hur br det går
Läs merAsymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.
OBS! För flervalsfrågorna gäller att ett, flera 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 för att man skall
Läs merDagens meny: Niclas Persson, Control and Communication. Gömda villkor i DAE:er. Hur hittar man gömda villkor? Pantelides algoritm
Niclas Persson, Control and Communication Dagens meny: Gömda villkor i DAE:er Hur hittar man gömda villkor? Pantelides algoritm Tilldelning av initial värden Steward s path 1 Enkel pendel x l Pendel systemet
Läs merRegression 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 merOptimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.
Datakompression fö 3 p.3 Datakompression fö 3 p.4 Optimala koder Övre gräns för optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning)
Läs merOptimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.
Datakompression fö 3 p.1 Optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning) som har lägre kodordsmedellängd. Det existerar förstås
Läs merSjä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Öka prestanda i Shared-Cache multi-core processorer
Öka prestanda i Shared-Cache multi-core processorer 1. Abstract Många processorer har nuförtiden flera kärnor. Det är även vanligt att dessa kärnor delar på högsta nivås cachen för att förbättra prestandan.
Läs merFöreläsning 5: Grafer Del 1
2D1458, Problemlösning och programmering under press Föreläsning 5: Grafer Del 1 Datum: 2006-10-02 Skribent(er): Henrik Sjögren, Patrik Glas Föreläsare: Gunnar Kreitz Den här föreläsningen var den första
Läs merReinforcement Learning med Q-learning LUDWIG HALVORSEN PROJEKT 729G43
Reinforcement Learning med Q-learning LUDWIG HALVORSEN PROJEKT 729G43 0 Innehåll 1. Introduktion... 2 2.Teori och begrepp... 3 2.1 Kort historia lektion om varför ANN helt plötsligt blev stort... 3 2.2
Läs merHKGBB0, 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.
Läs merBlock 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder
Block 2 Algebra och Diskret Matematik A BLOCK INNEHÅLL Referenser Inledning 1. Följder 2. Rekursiva definitioner 3. Sigmanotation för summor 4. Strängar 5. Tal 6. Övningsuppgifter Referenser Följder, strängar
Läs merCake-cutting. att fördela resurser på ett rättvist sätt. Ebba Lindström
Cake-cutting att fördela resurser på ett rättvist sätt Ebba Lindström Innehållsförteckning Inledning 3 Utility Theory 3 Orderability 4 Transitivity 4 Continuity 4 Monotonicity 5 Decomposability 5 Cake-cutting
Läs merCOBOL. från grunden. monitors. Peter Sterwe. training people
training people monitors COBOL från grunden Peter Sterwe Lär dig grunderna i COBOL-programmering på ett översiktligt och pedagogiskt sätt från företaget som har mer än trettio års erfarenhet av utbildning
Läs merLaboration 2. Artificiell Intelligens, Ht 2004 2004-10-19 Lärare: Christina Olsén Handledare: Therese Edvall Daniel Ölvebrink
Artificiell Intelligens, Ht 2004 2004-10-19 Lärare: Christina Olsén Handledare: Therese Edvall Daniel Ölvebrink Laboration 2 Laboranter: Johan Bystedt (dit02lbt) Alexander Pettersson (dit02apn) Stefan
Läs merHierarchical Temporal Memory Maskininlärning
Hierarchical Temporal Memory Maskininlärning Innehåll Sammanfattning... 3 Inledning... 4 Vad är HTM?... 4 Hur fungerar HTM?... 4 Hierarchical... 4 Temporal... 5 Memory... 5 Hitta orsaker i världen... 5
Läs merSekantmetoden Beräkningsmatematik TANA21 Linköpings universitet Caroline Cornelius, Anja Hellander Ht 2018
Sekantmetoden Beräkningsmatematik TANA21 Linköpings universitet Caroline Cornelius, Anja Hellander Ht 2018 1. Inledning Inom matematiken är det ofta intressant att finna nollställen till en ekvation f(x),
Läs merFöreläsning 5: Dynamisk programmering
Föreläsning 5: Dynamisk programmering Vi betraktar en typ av problem vi tidigare sett: Indata: En uppsättning intervall [s i,f i ] med vikt w i. Mål: Att hitta en uppsättning icke överlappande intervall
Läs mer1 Minkostnadsflödesproblem i nätverk
Krister Svanberg, april 2012 1 Minkostnadsflödesproblem i nätverk Ett nätverk består av en given mängd noder numrerade från 1 till m (där m är antalet noder) samt en given mängd riktade bågar mellan vissa
Läs merTentamen: Programutveckling ht 2015
Tentamen: Programutveckling ht 2015 Datum: 2015-11-04 Tid: 09:00-13:00 Sal: Ansvarig: Resultat: Hjälpmedel: Maxpoäng: Betygsgränser: Anslås inom 3 veckor. Inga 40 p 20 p för G, 32 p för VG. Iakttag följande:
Läs merQ-learning för fyra i rad. OLLE HASSEL och PETTER JANSE
Q-learning för fyra i rad OLLE HASSEL och PETTER JANSE Examensarbete Stockholm, Sverige 2011 Q-learning för fyra i rad OLLE HASSEL och PETTER JANSE Examensarbete i datalogi om 15 högskolepoäng vid Programmet
Läs merProv 1 2. Ellips 12 Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad 20.5.2010. a) i) Nollställen för polynomet 2x 2 3x 1:
Ellips Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad.. Prov a) i) ii) iii) =,, = st 9,876 =,9876,99 = 9,9,66,66 =,7 =,7 Anmärkning. Nollor i början av decimaltal har ingen betydelse
Läs merFuzzy 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 merMVE051/MSG Föreläsning 7
MVE051/MSG810 2016 Föreläsning 7 Petter Mostad Chalmers November 23, 2016 Överblick Deskriptiv statistik Grafiska sammanfattningar. Numeriska sammanfattningar. Estimering (skattning) Teori Några exempel
Läs merAkademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 2014
MÄLARDALENS HÖGSKOLA TENTAMEN I MATEMATIK Akademin för utbildning, kultur och kommunikation MMA32 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 204 Examinator: Karl Lundengård Skrivtid:
Läs merSTATISTISK ANALYS AV KOMPLEXA DATA
STATISTISK ANALYS AV KOMPLEXA DATA LONGITUDINELLA DATA Linda Wänström Linköpings universitet 12 December Linda Wänström (Linköpings universitet) LONGITUDINELLA DATA 12 December 1 / 12 Explorativ Faktoranalys
Läs merFixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x).
Kapitel 5 Fixpunktsiteration 5.1 Fixpunktsekvation En algebraisk ekvation kan skrivas på följande två ekvivalenta sätt (vilket innebär att lösningarna är desamma). 1. f(x) = 0. En lösning x kallas en rot
Läs merAntag 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
Läs merKognitionsvetenskap C, HT-04 Mental Rotation
Umeå Universitet 041025 Kognitionsvetenskap C, HT-04 Mental Rotation Grupp 3: Christina Grahn, dit01cgn@cs.umu.se Dan Kindeborg, di01dkg@cs.umu.se David Linder, c01dlr@cs.umu.se Frida Bergman, dit01fbn@cs.umu.se
Läs merDAB760: Språk och logik
DAB76: Språk och logik /4: Finita automater och -7 reguljära uttryck Leif Grönqvist (leif.gronqvist@msi.vxu.se) Växjö Universitet (MSI) GSLT (Sveriges nationella forskarskola i språkteknologi) Göteborg
Läs merFöreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer
Föreläsning 5: Giriga algoritmer Kruskals och Prims algoritmer Spännande träd: Om G är en sammanhängande graf så är ett spännande träd ett träd som innehåller alla noder i V (G). Viantarattviharkantvikterw(e)
Läs merGrafer och grannmatriser
Föreläsning 2, Linjär algebra IT VT2008 Som avslutning på kursen ska vi knyta samman linjär algebra med grafteori och sannolikhetsteori från första kursen. Resultatet blir så kallade slumpvandringar på
Läs mer729G43 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 merStokastiska processer
Stokastiska processer Fredrik Olsson, fredrik.olsson@iml.lth.se Avdelningen för produktionsekonomi Lunds tekniska högskola, Lunds universitet Dessa förläsningsanteckningar kommer att behandla diskreta
Läs merTillämpad Programmering (ID1218) :00-13:00
ID1218 Johan Montelius Tillämpad Programmering (ID1218) 2014-03-13 09:00-13:00 Förnamn: Efternamn: Regler Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.
Läs merMonte 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
Läs mer1 Föreläsning I, Mängdlära och elementär sannolikhetsteori,
1 Föreläsning I, Mängdlära och elementär sannolikhetsteori, LMA201, LMA521 1.1 Mängd (Kapitel 1) En (oordnad) mängd A är en uppsättning av element. En sådan mängd kan innehålla ändligt eller oändlligt
Läs merSammanfattning (Nummedelen)
DN11 Numeriska metoder och grundläggande programmering Sammanfattning (Nummedelen Icke-linjära ekvationer Ex: y=x 0.5 Lösningsmetoder: Skriv på polynomform och använd roots(coeffs Fixpunkt x i+1 =G(x i,
Läs merFöreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer
Föreläsning 5: Giriga algoritmer Kruskals och Prims algoritmer Spännande träd: Om G är en sammanhängande graf så är ett spännande träd ett träd som innehåller alla noder i V (G). Viantarattviharkantvikterw(e)
Läs merAlla 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 mer1, 2, 3, 4, 5, 6,...
Dagens nyhet handlar om talföljder, ändliga och oändliga. Talföljden 1,, 3, 4, 5, 6,... är det första vi, som barn, lär oss om matematik över huvud taget. Så småningom lär vi oss att denna talföljd inte
Läs merIckelinjära ekvationer
Löpsedel: Icke-linjära ekvationer Ickelinjära ekvationer Beräkningsvetenskap I Varför är det svårt att lösa icke-linjära ekvationer? Iterativa metoder Bisektion/intervallhalvering Newton-Raphsons metod
Läs mera = a a a a a a ± ± ± ±500
4.1 Felanalys Vill man hårddra det hela, kan man påstå att det inte finns några tal i den tillämpade matematiken, bara intervall. Man anger till exempel inte ett uppmätt värde till 134.78 meter utan att
Läs merEkvivalensrelationer
Abstrakt datatyp för disjunkta mängder Vi skall presentera en abstrakt datatyp för att representera disjunkta mängder Kan bl.a. användas för att lösa ekvivalensproblemet avgör om två godtyckliga element
Läs mer1. Förtydliga och förstå lärandemål och bedömningskriterier
1. Förtydliga och förstå lärandemål och bedömningskriterier En förutsättning för framgångsrikt arbete med bedömning för lärande bygger på att eleverna delges och får förståelse för målen med undervisningen
Läs merAntag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OBS! 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
Läs merDatastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6
Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6? DAGENS AGENDA Komplexitet Ordobegreppet Komplexitetsklasser Loopar Datastrukturer Några nyttiga regler OBS! Idag jobbar
Läs merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-13 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får
Läs merFöreläsning Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-20 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får
Läs merVi 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å
Läs merTentamen i Beräkningsvetenskap I och KF, 5.0 hp,
Uppsala universitet Institutionen för informationsteknologi Avdelningen för beräkningsvetenskap Tentamen i Beräkningsvetenskap I och KF, 5.0 hp, 017-0-14 Skrivtid: 14 00 17 00 (OBS! Tre timmars skrivtid!)
Läs mer1. (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
Läs merGamla 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 merStatistiska samband: regression och korrelation
Statistiska samband: regression och korrelation Vi ska nu gå igenom något som kallas regressionsanalys och som innebär att man identifierar sambandet mellan en beroende variabel (x) och en oberoende variabel
Läs merBlock 5: Ickelineära. ekvationer? Läroboken. Löpsedel: Icke-lineära. ekvationer. Vad visade laborationen? Vad visade laborationen?
Block 5: Ickelineära ekvationer Löpsedel: Icke-lineära ekvationer Varför är det svårt att lösa ickelineära ekvationer? Iterativa metoder Bisektion/intervallhalvering Newton-Raphsons metod Noggrannhet/stoppvillkor
Läs merFöreläsningsanteckningar F6
Föreläsningsanteckningar F6 Martin Andersson & Patrik Falkman Kortaste vägen mellan en nod och alla andra noder Detta problem innebär att givet en graf G = (E,V) hitta den kortaste vägen över E från en
Läs merFöreläsninsanteckningar till föreläsning 3: Entropi
Föreläsninsanteckningar till föreläsning 3: Entropi Johan Håstad, transkriberat av Pehr Söderman 2006-01-20 1 Entropi Entropi är, inom kryptografin, ett mått på informationsinnehållet i en slumpvariabel.
Läs merArtificiell intelligens, eller Kommer din dator att bli klokare än dig? (eller kanske är den redan det?)
Artificiell intelligens, eller Kommer din dator att bli klokare än dig? (eller kanske är den redan det?) 1.a November 2011 Innan vi börjar R.I.P. John McCarthy (1924 2011) Grundare av ämnet artificiell
Läs merStatistisk 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 mer1 LP-problem på standardform och Simplexmetoden
Krister Svanberg, mars 202 LP-problem på standardform och Simplexmetoden I detta avsnitt utgår vi från LP-formuleringen (2.2) från föreläsning. Denna form är den bäst lämpade för en strömlinjeformad implementering
Läs merArtificiell Intelligens den nya superkraften
Artificiell Intelligens den nya superkraften Socialchefsdagarna, 4 oktober 2018 #CGINext Artificiell Intelligens Förmågan hos mjukvara att agera självständigt på ett intelligent sätt tidigare bara associerat
Läs merProgrammering II (ID1019) :00-11:00
ID1019 Johan Montelius Programmering II (ID1019) 2015-06-11 08:00-11:00 Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten. Svaren
Läs merFöreläsning 6: Nätverksoptimering
Föreläsning 6: Nätverksoptimering. Minkostnadsflödesproblem i nätverk.. Modellering och grafteori.. Simplexmetoden. Föreläsning 6 - Ulf Jönsson & Per Enqvist Nätverksoptimering Minkostnadsflödesproblem
Läs merPrissä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
Läs merTMS136. Föreläsning 10
TMS136 Föreläsning 10 Intervallskattningar Vi har sett att vi givet ett stickprov kan göra punktskattningar för fördelnings-/populationsparametrar En punkskattning är som vi minns ett tal som är en (förhoppningsvis
Läs merIntroduktion. Byggstenar TDBA63 2005-11-22
Introduktion UML står för Unified Modeling Language. Det är tänkt att fungera som hjälpmedel vid modellering av alla tänkbara typer av utvecklingsarbeten, inte bara inom dataomdrådet. Det största värdet
Läs merUppsala Universitet Matematiska Institutionen Thomas Erlandsson
Uppsala Universitet Matematiska Institutionen Thomas Erlandsson LÄSANVISNINGAR VECKA 36 VERSION 1. ARITMETIK FÖR RATIONELLA OCH REELLA TAL, OLIKHETER, ABSOLUTBELOPP ADAMS P.1 Real Numbers and the Real
Läs merIE1205 Digital Design: F10: Synkrona tillståndsautomater del 2
IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2 Sekvensnät Om en och samma insignal kan ge upphov till olika utsignal, är logiknätet ett sekvensnät. Det måste då ha ett inre minne som gör
Läs merTänk på följande saker när du skriver tentan:
Ämne: AI med inriktning mot kognition och design Kurskod: KOGB05 / TDBB21 Datum: 2005-04-01 Antal uppgifter: 12 Skrivtid: 09:00 15:00 Max poäng: 54 Betygsgränser: 27 x
Läs merIntroduktion till programmering SMD180. Föreläsning 9: Tupler
Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]
Läs merKurragömma i ett socialt nätverk
Kurragömma i ett socialt nätverk Olle Abrahamsson Doktorand i kommunikationssystem, Linköpings universitet 1 Introduktion Många sociala grupper kan ha anledningar att gömma sig Illasinnade grupper: Terrorister,
Läs merAnvändarhandledning Version 1.2
Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...
Läs merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merArtificiell 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
Läs merProgrammering II (ID1019) :00-17:00
ID1019 Johan Montelius Programmering II (ID1019) 2014-03-10 14:00-17:00 Förnamn: Efternamn: Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.
Läs merTal i bråkform. Kapitlet behandlar. Att förstå tal
Tal i bråkform Kapitlet behandlar Test Användning av hälften och fjärdedel 2 Representation i bråkform av del av antal och av del av helhet 3, Bråkform i vardagssituationer Stambråk, bråkuttryck med 1
Läs merBisektionsalgoritmen. 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