729G43 Artificiell intelligens Maskininlärning. Arne Jönsson HCS/IDA

Relevanta dokument
Agent som lär sig. Maskininlärning. Genetiska algoritmer. Typer av återkoppling. ! Introduktion. ! Genetiska algoritmer!

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

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

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

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

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

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

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

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

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

Linköpings universitet

Artificiella Neuronnät

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

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

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

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

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

HKGBB0, Artificiell intelligens

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

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Att programmera en Beethoven

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht Block 5, översikt

Vektorer, matriser, nätverk - några elementa

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Vad behövs för att skapa en tillståndsrymd?

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA

MVE035. Sammanfattning LV 1. Blom, Max. Engström, Anne. Cvetkovic Destouni, Sofia. Kåreklint, Jakob. Hee, Lilian.

Perceptron som ordklasstaggare: ett fördjupningsarbete i 729G43 -Artificiell Intelligens

Tavelpresentation. Gustav Hallberg Jesper Strömberg Anthon Odengard Nils Tornberg Fredrik Blomgren Alexander Engblom. Januari 2018

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén,

1. Vi skriver upp ekvationssystemet i matrisform och gausseliminerar tills vi når trappstegsform,

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

A B C D E F A B C D E F (3) Svar: Tabellen ger grafen:

Kognitiv Modellering

SF1624 Algebra och geometri

Vektorgeometri för gymnasister

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

1 Vektorer i koordinatsystem

Mer om analytisk geometri

FFM234, Klassisk fysik och vektorfält - Föreläsningsanteckningar

Enhetsvektorer. Basvektorer i två dimensioner: 1 1 Basvektorer i tre dimensioner: Enhetsvektor i riktningen v: v v

Linjärisering, Jacobimatris och Newtons metod.

Linjär Algebra M/TD Läsvecka 2

Krafts olikhet. En momentant avkodbar kod (prefixkod) med kodordslängderna l 1,...,l N existerar om och endast om. 2 l i. 1 i=1


14 september, Föreläsning 5. Tillämpad linjär algebra

15 september, Föreläsning 5. Tillämpad linjär algebra

DERIVATA. = lim. x n 2 h h n. 2

Artificiell Intelligens Lektion 7

Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem.

Linjär Algebra, Föreläsning 2

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Viktiga begrepp, satser och typiska problem i kursen MVE460, 2015.

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

1 Ortogonalitet. 1.1 Skalär produkt. Man kan tala om vinkel mellan vektorer.

Veckoblad 4, Linjär algebra IT, VT2010

Konvergens för iterativa metoder

M0043M Integralkalkyl och Linjär Algebra, H14,

Linjär Algebra M/TD Läsvecka 1

Tavelpresentation - Flervariabelanalys. 1E January 2017

1 Grundläggande kalkyler med vektorer och matriser

Veckoblad 1, Linjär algebra IT, VT2010

Repetition, Matematik 2 för lärare. Ï x + 2y - 3z = 1 Ô Ì 3x - y + 2z = a Ô Á. . Beräkna ABT. Beräkna (AB) T

Föreläsningsanteckningar Linjär Algebra II Lärarlyftet

1 Konvexa optimeringsproblem grundläggande egenskaper

October 9, Innehållsregister

Fel- och störningsanalys

1 Begrepp och Hypoteser. 2 Inlärning genom sökning. 3 Objektiv inlärning. Inlärning av en boolsk funktion från exempel.

3. Vilka taltripler (x, y, z) satisfierar ekvationssystemet 3x + 2y 3z = 3 2x + y + 4z = 7

Numeriska metoder, grundkurs II. Dagens program. Hur skriver man en funktion? Administrativt. Hur var det man gjorde?

Algoritmer, datastrukturer och komplexitet

Optimering av hyperparametrar till artificiella neurala nätverk med genetiska algoritmer.

Stora bilden av Linjära algebran. Vektorrum, linjära transformationer, matriser (sammanfattning av begrepp)

Fel- och störningsanalys

1 Ickelinjär optimering under bivillkor

SHAZAM! En!smart!musiktjänst! Linha108! Fördjupningsarbete!729G43!

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

Geometriska vektorer

Föreläsning 5. Approximationsteori

Exempel :: Spegling i godtycklig linje.

Dagens ämnen. Linjära ekvationssystem: Successiv elimination Vektorer Definitionen Grundläggande räkneoperationer Bas och koordinater Ortsvektorer

Linjära avbildningar. Låt R n vara mängden av alla vektorer med n komponenter, d.v.s. x 1 x 2. x = R n = x n

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = =

Matriser. En m n-matris A har följande form. Vi skriver också A = (a ij ) m n. m n kallas för A:s storlek. 0 1, 0 0. Exempel 1

Vektorrum. EX. Plan och linjer i rummet genom origo. Allmänt; mängden av lösningar till AX = 0.

TENTAMEN. Matematik 1 Kurskod HF1903 Skrivtid 13:15-17:15 Onsdagen 25 september 2013 Tentamen består av 3 sidor

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

1 Reducerat faktorförsök rf f

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =

SF1624 Algebra och geometri Tentamen Onsdagen 29 oktober, 2014

P Q = ( 2, 1, 1), P R = (0, 1, 0) och QR = (2, 2, 1). arean = 1 2 P Q P R

e 3 e 2 e 1 Kapitel 3 Vektorer i planet och i rummet precis ett sätt skrivas v = x 1 e 1 + x 2 e 2

1 Linjära ekvationssystem. 2 Vektorer

Algoritmer, datastrukturer och komplexitet

Självlärande Othello-spelare

Begrepp:: Kort om Kryssprodukt

SF1624 Algebra och geometri Tentamen med lösningsförslag onsdag, 11 januari 2017

Neuronnätsbaserad agent

Transkript:

729G43 Artificiell intelligens Maskininlärning Arne Jönsson HCS/IDA

Maskininlärning Introduktion Beslutsträdsinlärning Hypotesinlärning Linjär regression Vektorer Perceptroner Artificiella Neurala Nät (ANN)

Maskininlärning Naturligt språk Bildingekänning Beslutstöd inom t.ex. sjukvården Autonoma farkoster Detektion Skumma banktransaktioner, cyberattacker, Rekommendationer Produkter, filmer, låtar, Sökmotorer

Agent som lär sig Yttre standard/återkoppling Kritiserare Sensorer Återkoppling Utförandeelement Inlärningselement Mål Förändringar Kunskap Omgivning Problemgenerator Agent Effektorer

Typer av återkoppling Övervakad inlärning Omgivningen talar direkt om vilken handling som skulle varit korrekt, finns ett facit, en specifik exempelmängd Klassifikation, variabel med ändligt många värden, t.ex. beslutsträd Regression, variabel med oändligt många värden Oövervakad inlärning Ingen återkoppling från omgivningen Klustring, ex Kohonennät, self-organizingmaps (SOM) Förstärkt inlärning (Reinforcement learning) Agenten får bara reda på om det var bra eller dåligt, inte varför eller vilken handling som orsakade detta Q-learning

Beslutsträd Skapa en kompakt representation av beslut i en situation beskriven som en mängd egenskaper som påverkar beslutet Ex om man skall vänta vid en restaurang (Russel & Norvig) Attribut: Finns det alternativ i närheten Finns det en bar att vänta i Är det helg Är jag hungrig Finns det kunder i restaurangen Regnar det Vilken typ av restaurang är det etc

Restaurangexemplet Ja Alternativ Nej Ja Bar Nej Ja Hungrig Nej Regn Kunder Väntar Väntar inte Nej Ja 0-30 30-60 >60 Väntar inte Väntar Väntar inte Väntar Väntar inte

Beslutsträdsinlärning Skapa optimalt beslutsträd ur en exempelmängd Initialisera rotnoden med hela exempelmängden while det finns en nod, N, som kan delas: for each attribut A evaluera delning vid A: använd bästa A för att dela N

Exempel

Konvertera numeriska data NAMN INKOMST ÅLDER GIFT Marie ³ 40000 < 40 JA Sven ³ 40000 < 40 JA Olle < 40000 < 40 NEJ Eva ³ 40000 ³ 40 JA Uwe < 40000 < 40 NEJ Hans < 40000 < 40 NEJ Anne ³ 40000 ³ 40 JA

Dela vid ålder < 40 NAMN INKOMST GIFT Marie ³ 40000 JA Sven ³ 40000 JA Olle < 40000 NEJ Uwe < 40000 NEJ Hans < 40000 NEJ Måste dela igen! NAMN INKOMST ÅLDER GIFT Marie ³ 40000 < 40 JA Sven ³ 40000 < 40 JA Olle < 40000 < 40 NEJ Eva ³ 40000 ³ 40 JA Uwe < 40000 < 40 NEJ Hans < 40000 < 40 NEJ Anne ³ 40000 ³ 40 JA ³ 40 NAMN INKOMST GIFT Eva ³ 40000 JA Anne ³ 40000 JA

Dela vid inkomst NAMN INKOMST ÅLDER GIFT Marie ³ 40000 < 40 JA Sven ³ 40000 < 40 JA Olle < 40000 < 40 NEJ Eva ³ 40000 ³ 40 JA Uwe < 40000 < 40 NEJ Hans < 40000 < 40 NEJ Anne ³ 40000 ³ 40 JA < 40000 NAMN ÅLDER GIFT Olle < 40 NEJ Uwe < 40 NEJ Hans < 40 NEJ ³ 40000 NAMN ÅLDER GIFT Marie < 40 JA Sven < 40 JA Eva ³ 40 JA Anne ³ 40 JA

Information Hur välja attribut att dela trädet? Ofta används informationsmått Information innebär minskad osäkerhet Exempel Om man i ett varuhus frågar var skivavdelningen finns och får veta att det finns på våning 1, får man mer information om det finns 6 våningar än om det finns 2 och ingen information om det bara finns en våning. Utfallet av en händelse med flera lika sannolika möjligheter ger mer information än utfallet av en händelse med färre lika sannolika möjligheter

Välja bästa attribut Använd förväntad mängd information som återstår vid ett attribut Bit information den mängd information som behövs Informationsteori: en bit information ger ett ja/nej svar på en fråga Definition, entropi (Shannon) I ( P( v ) ( )) å 1,!, P vn = - P( vi ) log 2 P( vi ) Eftersom P(v i ) 1 blir log2(p(v i )) negativ, därför minus n i= 1

Exempel Musikavdelningen i varuhus med två lika sannolika våningar I(½,½) = -½log 2 (½) - ½log 2 (½) = -log 2 (½) = -(log 2 (1)- log 2 (2)) = 1 8 lika sannolika våningar I(⅛,..,⅛) = -⅛log 2 (⅛) - -⅛log 2 (⅛) = -log 2 (⅛) = log 2 (8) = 3 Jämför vanlig datarepresentation. Det behövs tre bit för att representera 8 olika alternativ

Entropi för attribut A Låt: n b, antal instanser i gren b n bc, antal instanser i gren b av klass c n t, totala antalet instanser i alla grenar n é ù å b n êå bc nbc - log ( ú û E ( A) = 2 ) b nt ë c nb nb Exempel n ålder<40 =5 n ålder<40, class=gift =2 n t = 7 < 40 NAMN INKOMST GIFT Marie ³ 40000 JA Sven ³ 40000 JA Olle < 40000 NEJ Uwe < 40000 NEJ Hans < 40000 NEJ NAMN INKOMST ÅLDER GIFT Marie ³ 40000 < 40 JA Sven ³ 40000 < 40 JA Olle < 40000 < 40 NEJ Eva ³ 40000 ³ 40 JA Uwe < 40000 < 40 NEJ Hans < 40000 < 40 NEJ Anne ³ 40000 ³ 40 JA ³ 40 NAMN INKOMST GIFT Eva ³ 40000 JA Anne ³ 40000 JA

Informationsvinst (ID3/C4.5) Den information som man vinner om man går ner i gren A Vinst ( A) = I( Output ) - E( A) Välj det attribut som ger högst vinst

Starttillstånd 4/7 är gifta 3/7 är ogifta 4 4 3 I( Output) = - log - log2 7 7 7 3 7 2 = 0,985

Ålder 5 är < 40 2 gifta; 3 ogifta < 40 NAMN INKOMST GIFT Marie ³ 40000 JA Sven ³ 40000 JA Olle < 40000 NEJ Uwe < 40000 NEJ Hans < 40000 NEJ NAMN INKOMST ÅLDER GIFT Marie ³ 40000 < 40 JA Sven ³ 40000 < 40 JA Olle < 40000 < 40 NEJ Eva ³ 40000 ³ 40 JA Uwe < 40000 < 40 NEJ Hans < 40000 < 40 NEJ Anne ³ 40000 ³ 40 JA ³ 40 NAMN INKOMST GIFT Eva ³ 40000 JA Anne ³ 40000 JA 2 2 3 I( < 40) = - log - log2 5 5 5 3 5 2 = 0,971 2 är 40 alla gifta 2 2 I( ³ 40) = - log2 = 2 2 0

Ålder, forts. Entropi 5 7 0,971+ 2 7 0 = 0,693 Vinst(Ålder)=0,985-0,693=0,292

Inkomst 3 har < 40000 alla ogifta I=0 4 har ³ 40000 alla gifta I=0 Entropi 0 Vinst(Inkomst)=0,985-0=0,985 NAMN INKOMST ÅLDER GIFT Marie ³ 40000 < 40 JA Sven ³ 40000 < 40 JA Olle < 40000 < 40 NEJ Eva ³ 40000 ³ 40 JA Uwe < 40000 < 40 NEJ Hans < 40000 < 40 NEJ Anne ³ 40000 ³ 40 JA < 40000 NAMN ÅLDER GIFT Olle < 40 NEJ Uwe < 40 NEJ Hans < 40 NEJ ³ 40000 NAMN ÅLDER GIFT Marie < 40 JA Sven < 40 JA Eva ³ 40 JA Anne ³ 40 JA

Restuarangexemplet, träningsexempel Exempel Attribut Mål Väntar Alt Bar Helg Hunger Kunder V-tid Regn Bokat Typ X1 Ja Nej Nej Ja Några 0-10 Nej Ja Fransk Ja X2 Ja Nej Nej Ja Full 30-60 Nej Nej Thai Nej X3 Nej Ja Nej Nej Några 0-10 Nej Nej Kina Ja X4 Ja Nej Ja Ja Full 10-30 Nej Nej Thai Ja X5 Ja Nej Ja Nej Full >60 Nej Ja Fransk Nej X6 Nej Ja Nej Ja Några 0-10 Ja Ja Pizza Ja X7 Nej Ja Nej Nej Ingen 0-10 Ja Nej Kina Nej X8 Nej Nej Nej Ja Några 0-10 Ja Ja Thai Ja X9 Nej Ja Ja Nej Full >60 Ja Nej Kina Nej X10 Ja Ja Ja Ja Full 10-30 Nej Ja Pizza Nej

Beslutsträd Några KUNDER Full Ingen + x1, x3, x6, x8 - JA Ja + x4 - x2, x5, x9, x10 HUNGRIG Nej + - x7 NEJ Fransk Default + - x10 NEJ Pizza + x4 - x2, x10 TYP + x4 - JA Kina Default Thai Ja + x4 - x2 HELG Nej + - x5, x9 + NEJ - x2 NEJ

Resultat Beslutsträdet använder inte alla attribut Kan ha funnit okända samband mellan attribut Om det saknas exempel för ett visst attributvärde så spelar det ingen roll. Returnera något defaultvärde Om det saknas attribut i en gren där det inte finns ett beslut så saknas det information och fler attribut behövs såvida det inte är fel eller icke-deterministiskt

Hypotesinlärning Från specifika exempel till generell beskrivning Presenterar såväl positiva som negativa exempel Positivt exempel som inte matchar leder till en generalisering av modellen (false negativ) Negativt exempel som matchar ger en specificering av modellen (false positiv)

Hypotesinlärning def currentbestlearning(exempel): h = hypotes konsistent med första exemplet for each e in exempel: if e false positiv: specialisera h så att h konsistent med alla tidigare exempel if e false negativ: generalisera h så att h konsistent med alla tidigare exempel if ingen konsistent specialisering/generalisering: return Fail

Exempel, Winston Positivt exempel B båge ISPART ISPART ISPART över A B C under över under A C ISA vänster-om höger-om ISA ISA block

Generalisering Nytt positivt exempel B ISPART över båge ISPART A B C under ISPART vänster-om höger-om över under ISA A C ISA triangel ISA båge block ISPART ISPART ISPART A över under ISA B över under vänster-om höger-om ISA ISA C generalisera triangel polygon block block

Specificering Negativt exempel B båge ISPART ISPART ISPART över A B C under över under A C ISA vänster-om höger-om ISA ISA polygon Stärk modellen med en ny länk får-inte-röra-vid

Version Spaces Hypotesinlärning à la Winston måste hålla reda på alla positiva och negativa exempel Versions Spaces Hittar både den mest specifika och den mest generella beskrivning som täcker alla positiva exempel och inget negativt Arbetar med två hypotesmängder: S: de mest specifika hypoteser som täcker alla positiva exempel och inget negativt G: de mest generella hypoteser som täcker alla positiva exempel och inget negativt

Version spaces G: mest specifika generaliseringen Tolkningsrymd S: mest generella specificeringen

Version Space-algoritmen Om positivt exempel p: Ta bort de hypoteser ur G som ej matchar p. Ersätt alla hypoteser i S som ej matchar p med de mest specifika generaliseringar som: matchar p är mer specifika än någon hypotes i G inte är mer generell än någon hypotes i S Om negativt exempel n: Ta bort de hypoteser ur S som matchar n. Ersätt alla hypoteser i G som matchar n med de mest generella specialiseringar som: inte matchar n är mer generella än någon hypotes i S inte är mer specifik än någon hypotes i G

Exempel Bar Typ Väntetid Väntar X1 Ja Kina <10 Ja X2 Ja Thai 10 Nej X3 Ja Thai <10 Ja X4 Nej Fransk <10 Ja +X1 G: {(?,?,?)} -X2 False negativ, specialisera G: {(?, Kina,?) (?,?, <10)} +X3 False positiv, hypotes bort G: {(?,?, <10)} +X4 Matchar G: {(?,?, <10)} +X4 False positiv, generalisera S: {(?,?, <10)} +X3 False positiv, generalisera S: {(Ja,?, <10)} -X2 Matchar inte, S oförändrad S:{(Ja, Kina, <10)} +X1 S: {(Ja, Kina, <10)}

Linjär regression Hitta den linje som bäst beskriver en datamängd Modellantagande; sambandet kan beskrivas med en rät linje h(x)= w 1 x+w 0 där w 1 anger lutningen och w 0 förskjutningen från origo Jämför avvikelsen mot linjen i varje punkt och minimera felet h(x) 9 8 7 6 5 4 3 2 1 0 0 2 4 6 8 10 x

Exempel Ålder Lön 80000 70000 20 25000 30 35000 40 50000 60 60000 65 70000 Lön 60000 50000 40000 30000 20000 10000 0 0 10 20 30 40 50 60 70 Ålder

Vad mäter felfunktionen w 0 =0 w 1 =0,5 h " = 0,5" h(x) 3,5 3 2,5 2 1,5 1 0,5 Felet 0 0 0,5 1 1,5 2 2,5 3 3,5 x

Felfunktioner Finns flera sätt att räkna ut felet mellan riktiga värdet, t och erhållna värdet h(x) Absolutvärdet, L1: % "#$ ' " h * " Kvadratfelet, L2: % "#$ (' " h * " ) - Värsta fallet: max " ' " h * " Vanligast är kvadratfelet Stora fel betraktas som värre än små, negativa fel kan inte ta ut positiva Vill ändra koefficienterna, vikterna, w i i ekvationen h(x)=w 1 x+w 0 så att felet minimeras

Felfunktionen för L2 Inför,! w #, w % = 1 ( ) *+% (. * h 1 * ) 3 där. * är korrekt värde och h 1 * = 4 % 1 * + 4 # Vi vill justera parametrarna w 0 och w 1 så att felet blir så litet som möjligt Vanlig metod är gradientsökning

Gradientsökning, intuition J(w) J(w) w = w - stort värde w w = w + litet värde w

Gradientsökning Steg 0: Börja med e1 godtyckligt värde för w. Steg 1: Räkna ut felfunk<onens tangent i den punkt som motsvarar den aktuella modellparametern w. Steg 2: Gå i motsa1 riktning av tangenten: Om tangenten har posi<v lutning, minska värdet på w. Om tangenten har nega<v lutning, höj värdet på w. Detalj: Lutningen mul<pliceras med en steglängdsfaktor. Upprepa steg 1 2 <lls felet blir <llräckligt litet.

Gradienten Minimera felet genom att söka i gradientens riktning Derivatan ger gradienten, riktningen ' Derivera! " #, " % = % ' )*%(, ) h / ) ) 1 med avseende på w 1 och w 0 där h / ) = " % / ) + " # Dvs räkna ut 23(4 5) 24 5 och 23(4 6) 24 6 23(4 5 ) = % 24 5 ' )*% ' 2(, ) h / ) ) 23(4 6 ) = % 24 6 ' )*% ' 2/ ) (, ) h / ) )

Parameteruppdatering! " =! " + % &'() *) &) * Steglängdsfaktorn % Med partialderivatorna (2 inbakad i %)!, =!, + % -. "0-. (1 " h 4 " )! - =! - + % -. "0-. 4 " (1 " h 4 " )

Exempel! = 0,1, w 0 = 0 och w 1 varierar, dvs h(x) = w 1 x. Ini5alt w 1 = 0,5 " # = " # + 0,1 # ) +,# ) - + (/ + w 1 - + ) 3,5 3 2,5 2 1,5 1 0,5 0 0 1 2 3 4

Exempel! = 0,1, w 0 = 0 och w 1 varierar, dvs h(x) = w 1 x. Initialt w 1 = 0,5 3,5 3 2,5 2 1,5 1 0,5 0 0 1 2 3 4 " # = " # + 0,1 # ) +,# ) - + (/ + w 1 - + ) " # = 0,5 + 0,1 # 3 0,5+0,1 7,89:9;,8 3 ( 1 0,5 + 2(2 1)+3(3-1,5))= = 0,5 +0,233=0,733

Exempel! = 0,1, w 0 = 0 och w 1 varierar, dvs h(x) = w 1 x. Ini;alt w 1 = 0,5 " # = " # + 0,1 # ) +,# ) - + (/ + w 1 - + ) 3,5 3 2,5 2 1,5 1 0,5 0 0 1 2 3 4 " # = 0,5 + 0,1 # 3 0,5+0,1 7,89:9;,8 3 ( 1 0,5 + 2(2 1)+3(3-1,5))= = 0,5 +0,233=0,733

Exempel! = 0,1, w 0 = 0 och w 1 varierar, dvs h(x) = w 1 x. Initialt w 1 = 0,5 3,5 3 2,5 2 1,5 1 0,5 0 0 1 2 3 4 " # = " # + 0,1 # ) +,# ) - + (/ + " 1 - + ) " # = 0,5 + 0,1 # 2 0,5+0,1 6,7898:,7 2 ( 1 0,5 + 2(2 1)+3(3-1,5))= = 0,5 +0,233=0,733 " # = 0,733 + 0,1 # ( 1 0,733 + 2(2 1,467)+3(3-2 2,199))= 0,733+0,1 6,9?@8#,6??89,:62 = 2 0,733 +0,124=0,857 etc

Gradientsökning J(w 1 ) J(w 1 ) w 1 Iteration 1: w 1 = 0,5 + 0,233 w 1 Itera2on 2: w 1 = 0,733 + 0,124

Några grundläggande begrepp Guldstandard Datamängd med indata, x och motsvarande korrekta målvärde, t Träning Visa upp alla x och t och låt systemet lära sig Testning Testa en modell genom att visa upp x och jämföra modellens predicerade utvärde med målvärdet t Träningsfel Fel hos modellen vid träning Generaliseringsfel Hur mycket fel modellen gör på okända data. Uppskattas utifrån testfelet, dvs fel på testdata

Underfitting och overfitting Underfitting Modellen räcker inte för att få ett lågt felvärde på träningsmängden. Den är ännu sämre på testmängden Overfitting Modellen överoptimerad på träningsdata. Lågt felvärde på träningsdata men högt på testdata. Lämplig modell Underfi?ng Overfitting

Regularisering Används för att undvika overfitting, undvika att koefficienterna blir för bra Förändra inlärningsalgoritmen så att generaliseringsfelet minskar utan att träningsfelet blir mindre Exempel: L2-regularisering. Lägg till en extra term till felfunktionen som blir större ju större vikterna är Låt funktionen fokusera på det generella inte det extrema

Multipel linjär regression Generalisera gradientsökning till flera särdrag, x, och parametrar, w h " #,, " & = ( w ) " ) & )*# Har infört x 0 = 1 för att snygga till ekvationen Sambandet mellan indata och utdata blir nu ett hyperplan

Multipel linjär regression Exempel Ålder Anst. tid Lön 25 0 30000 30 5 40000 40 15 50000 70000 60000 50000 40000 30000 60 25 60000 65 35 65000 20000 10000 0 25 30 40 50 Lön Anst. tid 60

Vektorer Sammanfa,a särdrag och parametrar i vektorer, vektorer skrivs o8a med fet s9l, x, och, w h " = $ % " (matrisnota9on), * jämför h & ',, & * =,-' w, &, Skalär E, tal T.ex. längd (2m), 9d (12:30), temperatur (170K) Vektor Riktning och längd, t.ex. has9ghet, kra8

Några vektorsamband Likhet Lika lång och med samma riktning men inte nödvändigtvis samma startpunkt Addition u u+v v Multiplikation v -v 2v

Punkter och vektorer y y b (a,b) b (a,b,c) z c a x a x Vektorer kan identifieras som punkter (a,b), (a,b,c) Egentligen ortsvektorer men vi kan parallellförflytta Kan generalisera till vilken dimension som helst (w 0,w 1,, w n )

Vektoroperationer Antag z = (a 1, b 1,c 1 ) och w = (a 2, b 2,c 2 ) Addi1on z + w = (a 1, b 1,c 1 ) + (a 2,b 2,c 2 ) = (a 1 +a 2, b 1 +b 2, c 1 +c 2 ) Ex u =(1,2), v=(1,0) u + v = (2,2) 2 1 u v Mul1plika1on med skalär 2u = 2(a,b,c) = (2a,2b,2c) 1 2 x

Matriser Vektorer multipliceras med skalärprodukt (eller kryssprodukt) Matriser är rektangulära scheman av tal Exempel A = 1 3 4 2 1 3 2 0 och B = 3 0 1 1 A är en 2 3-matris med 2 rader och 3 kolumner med elementen a 11 =1, a 12 =3, a 13 =4, a 21 =-3, a 22 =2, a 23 =0 B är en 3 2-matris Matriser multipliceras annorlunda

Matrismultiplikation Matrisen C=AB fås genom att multiplicera raden i A med kolumnen i B! "# = ) &'( * "& + &# Om A en n m-matris måste B vara m k och C bli n k Exempel A = 1 3 4 2 1 3 2 0 2 3 och B = 3 0 3 2 1 1 4 = 1 5 2 + 3 5 3 + 4 5 1 1 5 1 + 3 5 0 + 4 5 1 3 5 2 + 2 5 3 + 0 5 1 3 5 1 + 2 5 0 + 0 5 1 = 7 5 0 3

Matrismultiplikation,2 Matriser kan transponeras Exempel A = 1 3 4 3 2 0 )* = h, = - *, antag. = w 0 w 1 w 2 h, = - *, = 2 560 w 0 w 1 3 0 3 1 3 2 = w 2 w 5 3 5 = w 0 3 0 + w 1 3 1 + w 2 3 2 1 3 3 2 4 0

Skalärprodukt Produkten av två vektorer resulterar i en skalär, dvs ett tal u v (Kallas dot product på engelska) Antag u = (u 1, u 2,u 3 ) och v = (v 1, v 2,v 3 ) då definieras u v som u v = u 1 v 1 + u 2 v 2 + u 3 v 3 Skalärprodukten innehåller information om både vektorns längd och riktning Speciellt är u u = u 1 u 1 + u 2 u 2 + u 3 u 3 = u 1 2 + u 2 2 + u 3 2

Skalärprodukt Längden av vektorn v = (a,b) betecknas v kan beräknas med Pythagoras sats som v = " # + % # y Skalärprodukten v v = aa+bb = a 2 + b 2 v v = v 2 dvs v = ' ' Två vektorer u och v med vinkeln ( mellan Geometrisk definition av skalärprodukt v u = v u cos(() b v v ( (a,b) a u x

Multipel linjär regression h " = $ % " Parametervektor w som skall uppdateras I flera dimensioner blir gradienten den vektor som innehåller alla lutningar, en lutning per dimension Jämför & ' = & ' + ) *+(-.) *-. där vi bara tittade på w 1 Flera parametrar 0J($) = * *- 2 * *- 3 * *- 4 Parameteruppdatering $ = $ + ) 0J($)

Binär klassificering Avgöra vilken klass ett element tillhör Vill dra en rät linje som på bästa sätt delar exemplen 9 8 7 6 5 4 3 2 1 0 0 2 4 6 8 10 Kombinera linjär regression med en tröskelfunktion f(x) h " = $(& ' ")

Tröskelfunktion T.ex.! " = $%&' " = ( 1 *+ " 0 0.//.0$ dvs f(x)=1 om x posi5v Perecptroninlärning -1-0,5 0 0,5 1

Neurala nätverk Neuroner och neurala nätverk Perceptroner Nätverk Inlärning med återkoppling

Neuron Cellkropp Axon Dendriter Synaps

Perceptron x 0 = t x 1 x 2 w 0 w 1 w 2 S... h(x) x j w j h(#) = &'()(* / + 0 + ). +,- h # = 1(2 3 4) 1 0 = &'() 0 = 5 1 78 0 0 0 ;<<;=&

Booleska funktioner Genom att manipulera tröskelvärdet kan man få godtycklig boolesk funktion, ex 3 ingångar med: x 0 = t = 1, w 0 = -1,5, w 1 = w 2 = 1 ger h(x)=steg(-1,5 + x 1 + x 2 ) Dvs logiskt OCH x 1 x 2 h(x) 0 0 0 0 1 0 1 0 0 1 1 1 x 0 = t = 1, w 0 = -0,5, w 1 = w 2 = 1 ger h(x)=steg(-0,5 + x 1 + x 2 ) Dvs logiskt ELLER x 1 x 2 h(x) 0 0 0 0 1 1 1 0 1 1 1 1

Inlärning av perceptroner Perceptroninlärning För varje särdragsvektor och målvärde i träningsmängden 1. Beräkna h(x) 2. Uppdatera parametervektorn w = w +!(t - h(x))x Upprepa tills klassifikationsfelet tillräckligt litet

Exempel Träningsdata x 1 x 2 t 1,0 1,0 1 9,4 6,4-1 2,5 2,1 1 8,0 7,7-1 0,5 2,2 1 7,9 8,4-1 7,0 7,0-1 2,8 0,8 1 1,2 3,0 1 7,8 6,1-1 x 0 = t x 1 x 2 w 0 w 1 w 2 h # = % & ' ( Antag att vi startar med vikterna: w 0 = -0,6, w 1 = 0,75, w 2 = 0,5 x 0 =1 Första input ger då: h(x)=f(-0,6+1,0 0,75+1,0 0,5)=1 Felet blir 1-1=0 S f % ) = * 1,- ) 0 1,- ) < 0 så ingen uppdatering av vikter h(x)

Exempel w = w +!(t - h(x))x!=0,2 x 1 x 2 t w t 0 w t 1 w t 2 h(x) Fel w t+1 0 w t+1 1 w t+1 2 1,0 1,0 1-0,6 0,75 0,5 1 0-0,6 0,75 0,5 9,4 6,4-1 -0,6 0,75 0,5 1-2 -1-3,01-2,06 2,5 2,1 1-1 -3,01-2,06-1 2-0,6-2,01-1,22 8 7,7-1 -0,6-2,01-1,22-1 0-0,6-2,01-1,22 0,5 2,2 1-0,6-2,01-1,22-1 2-0,2-1,81-0,34 7,9 8,4-1 -0,2-1,81-0,34-1 0-0,2-1,81-0,34 7 7-1 -0,2-1,81-0,34-1 0-0,2-1,81-0,34 2,8 0,8 1-0,2-1,81-0,34-1 2 0,2-0,69-0,02 1,2 3 1 0,2-0,69-0,02-1 2 0,6-0,21 1,18 7,8 6,1-1 0,6-0,21 1,18 1-2 0,2-3,33-1,26

Resultat, exempel Efter 500 iterationer med samma träningsmängd konvergerar vikterna w 0 = 10,9, w 1 = -1,3, w 2 = -1,1 Vi får en beslutslinje om vi sätter h(x)=0, dvs 0 =10,9 1,3x 1 1,1 x 2 dvs 9 x 2 t = - 1 x 1 = 0,85x 2 + 8,38 Ex. x 2 = 9 ger x 1 = 0,73 8 7 6 5 4 x 2 = 0 ger x 1 =8,4 3 2 t = 1 1 0 0 2 4 6 8 10 x 1

Andra aktiveringsfunktioner Aktiveringsfunktion för nätet: h " = $ % & ' Stegfunktionen m.fl. liknande diskreta funktioner ger oberäkneligt inlärningsbeteende. Vill ha en kontinuerlig, deriverbar, funktion. Ex. sigmoid (även kallad logistiska funktionen): f(x) f ) = 1 1 +, -. 1 För nätet får vi då: 1 h ' = 1 +, -%/ ' x

Gradientsökning Uppdateringsfunktion, jämför multipel linjär regression ( = ( + 3 4J ( * Med kvadratfelsfunktionen (L2) 6 ( = (7 h * ), och sigmoidfunktionen 1 h * = 1 + 1 2() * Dvs vi vill partialderivera(" $ $%& '() * ), för varje w i

Derivering av felfunktionen Några deriveringsregler Kedjeregeln!(# %)!'!(, -. ) = 0 1'!' =!(# %)!%!%!' alternativt (f(g)) =f (g)g 5 61!( 2. ) = 3!' ' 4 2 278-9: ; 4 5< = = 2 6 2 3 3?, -9: ; 5 61 2 278-9: ; 5< = 5 61 278-9: ; = 0 19: ; 3 = 5< = (3?, -9:; ) @ 019:; h(;) B

Derivering av felfunktionen, 2! "# h * = $ $%& '() * +!, - = 2 " $ 1 123 '() * 4 #()* h(*) 8 1 123 '() * 4#()* = 1 1 : * +! "# $%& '() * = 2 " h *!, - 2 " h * 1 h * h * 1 : * 1 h * 8 = Viktuppdatering < = = < = +? " h * 1 h * h * @ =

Linjärt separerbara problem Booleska funktionerna OCH och ELLER linjärt separerbara Exlusivt ELLER (XOR) X 2 x 1 x 2 y 0 0 0 0 1 1 1 0 1 1 1 0 1 Finns ingen linje som separerar Problem för perceptroner 1 X 1

Neurala nät XOR x 0 = -1 x 1 x 2 1,5 1 S z x 0 = -1 1-2 0,5 1 S h(x) 1 x 1 x 2 t z = -1,5 + x 1 + x 2 h(x) = -0,5-2z + x 1 + x 2 0 0 0-1,5+0+0=-1,5 0-0,5-0+0+0=-0,5 0 0 1 1-1,5+0+1=-0,5 0-0,5+0+0+1=0,5 1 1 0 1-1,5+1+0=-0,5 0-0,5+0+1+0=0,5 1 1 1 0-1,5+1+1=0,5 1-0,5-2+1+1=-0,5 0

Nätverk t 1 t i y 1..... y i w ji h 1..... h j w kj x 1..... x k

Neurala nät Nätverkstopologin Hur många dolda lager och hur många noder i varje lager Aktiveringsfunktion Sigmoid, tanh,. Olika funktioner i olika lager Inlärning Problem att räkna ut felet för mellanlagret Finns ingen metod som garanterar optimalitet Gradient backpropagation vanlig metod Undvika överinlärning

Gradient backpropagation Viktuppdatering för utdatalagret, y Samma som för perceptronen (sigmoid), med utdata från dolda lagret, h, som indata! =! + $ % ' 1 ' ' * Felet från noder i dolda lagret antas bero av det fel som noden givit upphov till i lagret efter +!. - / = 0 5 1-6 1 4 123 w 1m w 2m h m E wkm x 1 x 2 x k

Gradient backpropagation 1. Initialisera vikterna slumpmässigt 2. Upprepa tills resultatet tillfredställande: Applicera en indatavektor x (förväntat resultat t) Aktivera nätverket, utdata y Räkna ut felet för utdatalagret: D i = (t i y i ) (1- y i ) y i Uppdatera vikterna i utdatalagret: w ji := w ji + ad i h j där a är en förstärkningsfaktor < 1 Räkna ut felet för dolda lagret: D j = S i (w ji D i ) (1- h j ) h j Uppdatera vikterna i dolda lagret: w kj := w kj + ad j x k Två sista stegen upprepas om flera lager

Förbättringar Bä,re ak0veringsfunk0oner med starkare gradienter Regularisering Skapa nya datamängder genom a, transformera befintlig Ex rotera och skala bilder Dropouts Slå ut slumpvisa delar av nätet. Kan förhindra a, nätet blir överkänsligt för säregenheter hos datamängden. Återkoppla näten RNN, LSTM h t h 0 h 1 = h t x t x 0 x 1 x t

Support Vector Machines (SVM) Vanlig klassificeringsmetod med många färdiga bibliotek att använda (Weka) Väljer att separera för att få bästa möjliga generalisering Linjär regression väljer utifrån alla punkter SVM identifierar några punkter som viktigare, support vectors Väljer linjen som maximerar avståndet till alla dessa Support vectors x 1

The Kernel trick Ibland går det inte a4 dela linjärt Transformera ;ll högre dimension: x F(x) Ex f 1 = x 2 1, f 2 = x 2 2, f 3 = 2x 1 x 2 x 1 f 3 x 2 f 2 f 1

Sammanfattning Agent som lär sig Typer av återkoppling: övervakad, oövervakad, förstärkt inlärning Beslutsträdsinlärning Val av attribut, informationsmått, entropi Hypotesinlärning Version Space Linjär regression Felfunktioner Gradientsökning Grundläggande begrepp Guldstandard, träning, teseng, träningsfel, generaliseringsfel MulEpel linjär regression Vektorer, vektoroperaeoner, matriser, skalärprodukt Neurala nät SVM Perecptroner Inlärning av perceptroner Gradientsökning Nätverk av perceptroner Gradient backpropagaeon