729G43 Artificiell intelligens / 2015 Maskininlärning 1 Marco Kuhlmann
Introduktion
Maskininlärning Tack vare maskininlärning kan AI-system idag bl.a. producera och förstå naturligt språk kontrollera maskiner, farkost, robotar ge beslutsstöd inom sjukvården detektera skumma banktransaktioner och cyberattacker föreslå produkter, låtar och filmer hjälpa oss att hitta information på webben
Tre exempel Stanford University Autonomous Helicopter Project Länk till videon Computers Teach Themselves to Recognize Cats, Faces Länk till videon At Berkeley, a Robot that Folds Laundry Länk till videon
Kommersiellt intresse
Inlärningsuppgifter Övervakad inlärning (eng. supervised learning) Agenten får data och facit för att lära sig. regression, klassifikation Oövervakad inlärning (eng. unsupervised learning) Agenten får data men inget facit. klustring, temamodeller Förstärkande inlärning (eng. reinforcement learning) Agenten får data och belönas om den gör rätt.
Regression 700 Husets pris i tusentals dollar 525 350 175 0 1000 2000 3000 4000 5000 Husets storlek i kvadratfot
Regression 700 Husets pris i tusentals dollar 525 350 175 0 1000 2000 3000 4000 5000 Husets storlek i kvadratfot
Regression 700 Husets pris i tusentals dollar 525 350 175 0 1000 2000 3000 4000 5000 Husets storlek i kvadratfot
Klassifikation sv Stockholm sv sv fi fi fi Helsinki
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 $ No No Thai 30 60 No 3 No Yes No No Some $ No No Burger 0 10 Yes 4 Yes No Yes Yes Full $ No No Thai 10 30 Yes 5 Yes No Yes No Full $$$ No Yes French >60 No 6 No Yes No Yes Some $$ Yes Yes Italian 0 10 Yes 7 No Yes No No None $ Yes No Burger 0 10 No 8 No No No Yes Some $$ Yes Yes Thai 0 10 Yes 9 No Yes Yes No Full $ Yes No Burger >60 No 10 Yes Yes Yes Yes Full $$$ No Yes Italian 10 30 No 11 No No No No None $ No No Thai 0 10 No 12 Yes Yes Yes Yes Full $ No No Burger 30 60 Yes
Övervakad inlärning Regression Förutsäga värdet på en kontinuerlig variabel husets pris Klassifikation Förutsäga värdet på en diskret variabel finska/svenska
Regression eller klassifikation? Du har samlat in alla anföranden hållna i Riksdagen under föregående riksmötet. Nu får du ett nytt anförande och vill kunna förutsäga partiet som talaren tillhör. Du har samlat in data om hur många fordon som trafikerar E4 mellan Norrköping och Linköping. Nu vill du uppskatta hur många fordon som kommer trafikera denna sträcka i morgon.
Oövervakad inlärning särdrag 2 särdrag 2 särdrag 1 särdrag 1 klassifikation klustring
Google News
Temamodeller How many genes does an organism need to survive? Last week at the genome meeting here, two genome researchers with radically different approaches presented complementary views of the basic genes needed for life. One research team, using computer analyses to compare known genomes, concluded that today s organisms can be sustained with just 250 genes, and that the earliest life forms required a mere 128 genes. 4 3 2 1 0 Teman Källa: Blei (2012)
Temamodeller human genome dna genetic genes sequence gene molecular sequencing map information genetics mapping project sequences evolution evolutionary species organisms life origin biology groups phylogenetic living diversity group new two common computer models information data computers system network systems model parallel methods networks software new simulations
När skulle du använda oövervakad inlärning? Predicera om ett epostmeddelande är spam/ham, givet en mängd epostmeddelanden taggade som spam/ham. Gruppera datorer i ett stort nätverk utifrån vilka datorer kommunicerar mest med vilka andra. Givet en databas med kunddata, upptäck marknadssegment och gruppera kunderna i dessa segment. Predicera om en patient har diabetes, givet en mängd data om andra patienter som antingen har eller inte har diabetes. Källa: Andrew Ng
Översikt Introduktion Föreläsning 1: Linjär regression Föreläsning 2: Klassifikation Föreläsning 3: Neuronnät
Linjär regression
Huspriser i Portland, OR 700 Husets pris i tusentals dollar 525 350 175 0 1000 2000 3000 4000 5000 Husets storlek i kvadratfot
Huspriser i Portland, OR 700 Husets pris i tusentals dollar 525 350 175 0 1000 2000 3000 4000 5000 Husets storlek i kvadratfot
Träningsmängd Husets storlek (x) Husets pris (y) 852 180 1000 170 1100 250 1200 299 N stycken träningsinstanser (x i, y i )
Linjär regression Modellantagandet Sambandet mellan indata och utdata modelleras som en rät linje. Vad betyder detta matematiskt? Inlärningsuppgift Hitta den bästa räta linjen: den linje som minimerar det totala avståndet till datapunkterna. Hur mäter vi avståndet?
Räta linjens ekvation linjens lutning förskjutning från origo
Räta linjens ekvation (x) (x) 3 3 2 2 1 1 0 1 2 3 x 0 1 2 3 x θ 0 = 1, θ 1 = 0 θ 0 = 0, θ 1 = 1
Inlärningsuppgift Problemformulering Välj parametrarna θ 0 och θ 1 sådana att den totala avstånden mellan den motsvarande linjen och datapunkterna är minimal. Detta problem kan lösas exakt med minsta kvadratmetoden. En inexakt (numerisk) men mycket användbar metod för att lösa problemet är gradientsökning (eng. gradient descent).
Felfunktion modellparametrarna faktiskt värde för x i predicerat värde för x i
Vad mäter felfunktionen? 3 2 1 0 1 2 3
Vad mäter felfunktionen? 3 θ 1 = 1 2 1 0 1 2 3
Vad mäter felfunktionen? 3 θ 1 = 0,5 2 1 0 1 2 3
Vad mäter felfunktionen? 3 θ 1 = 0 2 1 0 1 2 3
Felkurvan 4 3 J(θ) 2 1 0-0,5 0 0,5 1 1,5 2 2,5 θ
Gradientsökning Vandra ner i felets dal. Steg 0: Börja med ett godtyckligt värde för θ. Steg 1: Räkna ut felfunktionens tangent i den punkt som motsvarar den aktuella modellparametern θ. Steg 2: Gå i motsatt riktning av tangenten: Om tangenten har positiv lutning, minska värdet på θ. Om tangenten har negativ lutning, höj värdet på θ. Detail: Lutningen multipliceras med en steglängdsfaktor. Upprepa steg 1 2 tills felet blir tillräckligt litet.
Gradientsökning 4 Steglängdsfaktor = 0,1 3 θ J(θ) Lutning 2,000 2,33 4,67 J(θ) 2 1 0-0,5 0 0,5 1 1,5 2 2,5 θ θ θ 0,467
Gradientsökning 4 Steglängdsfaktor = 0,1 3 θ J(θ) Lutning 2,000 2,33 4,67 J(θ) 2 1 0-0,5 0 0,5 1 1,5 2 2,5 θ θ θ 0,467
Gradientsökning 4 Steglängdsfaktor = 0,1 3 θ J(θ) Lutning 2,000 2,33 4,67 J(θ) 2 1,533 0,66 2,49 1 0-0,5 0 0,5 1 1,5 2 2,5 θ θ θ 0,249
Gradientsökning 4 Steglängdsfaktor = 0,1 3 θ J(θ) Lutning 2,000 2,33 4,67 J(θ) 2 1,533 0,66 2,49 1,284 0,19 1,33 1 0-0,5 0 0,5 1 1,5 2 2,5 θ θ θ 0,133
Gradientsökning 4 Steglängdsfaktor = 0,1 3 θ J(θ) Lutning 2,000 2,33 4,67 J(θ) 2 1,533 0,66 2,49 1 1,284 0,19 1,33 1,151 0,05 0,71 0-0,5 0 0,5 1 1,5 2 2,5 θ θ θ 0,071
Uppdateringsregeln tangentens lutning i punkt θ steglängdsfaktor
Frågor kring gradientsökning Vad hade hänt om vi hade börjat med θ = 0 eller θ = 1? Vad händer när steglängdsfaktorn är för stor eller för liten? Prova till exempel α = 1.
Gradientsökning Vandra ner i felets dal. Steg 0: Börja med ett godtyckligt värde för θ. Steg 1: Räkna ut felfunktionens tangent i den punkt som motsvarar den aktuella modellparametern θ. Steg 2: Gå i motsatt riktning av tangenten: Om tangenten har positiv lutning, minska värdet på θ. Om tangenten har negativ lutning, höj värdet på θ. Lutningen multipliceras med en steglängdsfaktor. Upprepa steg 1 2 tills felet blir tillräckligt litet.
Varianter på gradientsökning Batch gradient descent Uppdatera baserat på mindre delar av träningsdatan ( batches ). Kan öka hastigheten med vilken inlärningsprocessen konvergerar. Stochastic gradient descent Kasta omkull träningsdatan slumpmässigt efter varje iteration. Kan förhindra att inlärningsprocessen fastnar i lokala optima.
Multivariat linjär regression Linjär regression och gradientsökning kan generaliseras till modeller där man har fler än två särdrag x j och parametrar θ j. I många modeller flera miljoner särdrag och parametrar! I sådana situationer är det bekvämt att sammanfatta alla särdrag och parametrar i vektorer; dessa skrivs x och θ (fet stil). vektor = lista Vid gradientsökning måste man räkna ut vektorn med alla partiella derivator. Det är denna vektor som heter gradient. Notation: J(θ) ( nabla )
Multivatiat linjär regression särdragsvektor vektormultiplikation parametervektor