729G43 Artificiell intelligens (2016) Maskininlärning 2 Marco Kuhlmann Institutionen för datavetenskap
Förra gången: Gradientsökning tangentens lutning i punkt θ steglängdsfaktor
Översikt Introduktion Exempel: Linjär regression med en variabel Några grundläggande begrepp Linjär regression med flera variabler Perceptroninlärning Neuronnät
Linjär regression med flera variabler
Linjär regression med flera variabler Linjär regression och gradientsökning kan generaliseras till modeller där man har flera särdrag x och parametrar θ. 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).
Träningsmängd x Husets storlek (x1) Husets ålder (x2) Husets pris (y) 852 36 180 y 1000 45 170 1100 40 250 1200 30 299 träningsinstans = (särdragsvektor x, målvärde y)
Påminnelse: Linjär regression med en variabel Modellantagandet Sambandet mellan indata och utdata är en rät linje. Inlärningsuppgift Hitta den bästa räta linjen: den linje som minimerar det totala avståndet till datapunkterna.
Linjär regression med flera variabler Modellantagandet Sambandet mellan indata och utdata är ett hyperplan, ett plan i en flerdimensionell rymd. Vad betyder detta matematiskt? Inlärningsuppgift Hitta det bästa hyperplanet: det hyperplan som minimerar det totala avståndet till datapunkterna. Samma inlärningsuppgift som förr.
Plan i en tredimensionell rymd y θ 1 x 1 θ 2 x 2 x 1 x 2
Planets ekvation med tre variabler lutning i dimension 1 förskjutning från origo lutning i dimension 2
Låtsassärdraget Termen θ 0, förskjutningen från origo, står lite ensamt. Vi kan snygga till ekvationen genom att hitta på ett matchande särdrag x 0 som vi alltid sätter lika med 1. Denna ekvation är ekvivalent med den som vi hade innan. Varför?
Träningsmängd x Special (x0) Husets storlek (x1) Husets ålder (x2) Husets pris (y) 1 852 36 180 y 1 1000 45 170 1 1100 40 250 1 1200 30 299 träningsinstans = (särdragsvektor x, målvärde y)
Modell med summanotation antalet variabler parameter i
Modell med vektornotation parametervektor särdragsvektor
Räkneövning Beräkna h(x) för de angivna parametrarna/särdragsvärden: θ 0 θ 1 θ 2 +2 +2 +2 2 +2 +2 0 +2 +2 x 0 x 1 x 2 1 +2 +1 1 2 1 1 2 +2
Åt vilket håll ska vi gå? Istället för en enskild parameter θ har vi nu en flerdimensionell parametervektor θ. Precis som innan vill vi med hjälp av gradientsökning gå ner i felets dal, dvs. uppdatera θ sådant att felet J(θ) blir mindre. Tidigare ändrade vi θ genom att addera eller subtrahera lutningen på tangenten till J(θ) i punkt θ. Hur blir det nu när vi har fler än en dimension?
Hur ser felfunktionen ut? 4 θ 2 höjdkurvor 3 J(θ) 2 1 J(θ 1, θ 2 ) 0-0,5 0 0,5 1 1,5 2 2,5 θ θ 1 ett särdrag = parabel två särdrag = paraboloid
Hur ser gradienten ut? 4 θ 2 3 J(θ) 2 1 J(θ 1, θ 2 ) 0-0,5 0 0,5 1 1,5 2 2,5 θ θ 1 ett särdrag = endimensionell vektor två särdrag = tvådimensionell vektor
Vad är gradienten? När vi endast hade en dimension var felfunktionens gradient i punkt θ lutningen på felfunktionens tangent i den punkten. Kan alternativt ses som en endimensionell vektor. När vi nu har flera dimensioner är gradienten i punkt θ den vektor som innehåller alla lutningar, en lutning per dimension.
Uppdateringsregeln för gradientsökning gradient i punkt θ steglängdsfaktor
Fråga Vad händer om vi inte ändrar alla parametrarna samtidigt, utan en parameter i taget?
Inte gradientsökning Om vi inte ändrar alla parametrarna samtidigt, utan en parameter i taget, närmar vi oss felets dal i sicksackfart. alla parametrar samtidigt en parameter i taget
Översikt Introduktion Exempel: Linjär regression med en variabel Några grundläggande begrepp Linjär regression med flera variabler Perceptroninlärning Neuronnät
Perceptroninlärning
Binär klassifikation H företag H V V skola
Träningsmängd x Special (x0) skola (x1) företag (x2) Block (y) 1 3 1 vänster y 1 1 3 höger 1 5 3 vänster 1 3 5 höger träningsinstans = (särdragsvektor x, målvärde y)
Perceptron kombinerar linjär regression med en tröskelfunktion 1 1 1 0,5 0 0,75 + = 0,5 0,75 0,5-0,5 0,25 0,25-1 -1-0,5 0 0,5 1 0-1 -0,5 0 0,5 1 0-1 -0,5 0 0,5 1
Beslutsregel predicerat y-värde tröskelvärde
Beslutsregel predicerat y-värde (Tröskelvärdet kan bakas in i parametern θ 0.)
Inspiration: Neuron dendriter synapser med andra neuroner axon Källa: Wikipedia cellkropp
Kommunikation mellan neuroner Neuroner kan kommunicera via synapser och dendriter, kopplingar mellan en sändande och en mottagande neuron. De mottagna signalerna ackumuleras i cellkroppen. Om den ackumulerade signalen är tillräckligt stor alstras en nervimpuls. ackumulering = summering, tillräckligt stor = tröskelvärde Nervimpulsen alstrar signaler till andra neuroner.
Perceptron-modellen x 1 θ 1 Σ f h(x) x 2 θ 2 1. Beräkna den viktade summan av alla in-signaler: z = θ x. 2. Beräkna ut-signalen med tröskelfunktionen: h(x) = f(z).
Räkneövning Beräkna h(x) för de angivna parametrarna/särdragsvärden: θ 0 θ 1 θ 2 0 +2 +2 0 +2 +2 0 +2 +2 x 0 x 1 x 2 1 +2 +1 1 2 1 1 2 +2
Exempel: AND Välj parametrar θ 0, θ 1, θ 2 sådana att perceptronen beräknar följande: x0 x1 x2 y 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1
Geometriskt perspektiv θ 1 θ 2 x 1 x 2 θ 1 θ 2 x 1 x 2 θ 1 θ 2 x 1 x 2 +2 +2 +2 +1 +2 +2 2 1 +2 +2 2 +2
Beslutsgräns Den viktade summan θ x är > 0 om vinkeln mellan θ och x är < 90 grader < 0 om vinkeln mellan θ och x är > 90 grader = 0 om vinkeln mellan θ och x är = 90 grader Den linje som går genom de punkter där den viktade summan är noll definierar perceptronens beslutsgräns.
Beslutsgräns θ klass 0 klass 1
Felfunktion för perceptroninlärning I samband med linjär regression mätte vi felet för en enskild datapunkt som det kvadrerade avståndet mellan det predicerade värdet h(x) och målvärdet y. Hur ser denna kurva ut för perceptronen? fel 2 1,5 1 0,5 0-1,25 0 1,25 avstånd
Felfunktion för perceptroninlärning 2 2 1,5 1,5 fel 1 fel 1 0,5 0,5 0-1,25 0 1,25 0-1,25 0 1,25 avstånd avstånd linjär regression perceptroninlärning
Omöjlighet av gradientsökning Vi kan inte använda gradientsökning för att träna en perceptron: Felfunktionen är inte längre deriverbar. Därför behöver vi en annan inlärningsalgoritm.
Perceptroninlärning Börja med att sätta θ 0 (nollvektorn). För varje särdragsvektor x och målvärde y i träningsmängden: 1. Beräkna h(x): h(x) f(θ x) 2. Uppdatera parametervektorn: θ θ (h(x) y)x Upprepa tills klassifikationsfelet är tillräckligt litet.
Uppdateringsregel Samma uppdateringsregel som för gradientsökning! (Men inte längre gradientsökning!)
Analys av inlärningsalgoritmen Fall 1: h(x) = 0, y = 0 θ θ 0 Fall 2: h(x) = 1, y = 1 θ θ 0 Parametervektorn förblir oförändrad. Fall 3: h(x) = 0, y = 1 θ θ + x Parametervektorn flyttas mot x. Fall 4: h(x) = 1, y = 0 θ θ x Parametervektorn flyttas bort från x.
Fall 1: Korrekt klassificerat negativt exempel h(x) y h(x) y 0 0 ±0 θ 0 1 1 1 0 +1 1 1 ±0 θ θ 0 Parametervektorn ändras inte. x
Fall 2: Korrekt klassificerat positivt exempel h(x) y h(x) y 0 0 ±0 0 1 1 θ 1 0 +1 1 1 ±0 θ θ 0 Parametervektorn ändras inte. x
Fall 3: Felaktigt klassificerat positivt exempel h(x) y h(x) y 0 0 ±0 θ 0 1 1 1 0 +1 1 1 ±0 θ θ + x Parametervektorn flyttas mot x. x
Fall 4: Felaktigt klassificerat negativt exempel h(x) y h(x) y 0 0 ±0 0 1 1 θ 1 0 +1 1 1 ±0 θ θ x Parametervektorn flyttas bort från x. x
Analys av inlärningsalgoritmen Fall 1: h(x) = 0, y = 0 θ θ 0 Fall 2: h(x) = 1, y = 1 θ θ 0 Parametervektorn förblir oförändrad. Fall 3: h(x) = 0, y = 1 θ θ + x Parametervektorn flyttas mot x. Fall 4: h(x) = 1, y = 0 θ θ x Parametervektorn flyttas bort från x.
Begränsningar av perceptronen x 2 x 2 0 1 0 1 0 0 x 1 1 0 x 1 linjärt separerbart inte linjärt separerbart
Nya särdrag till hjälp! x 2 0 1 1 x 3 x 3 = 0 0 x 1
Nya särdrag till hjälp! x 2 0 1 x 3 1 0 x 1 x 3 = xor(x 1, x 2 )
Nya särdrag till hjälp! Nästan alla problem blir linjärt separerbara om man bara kan hitta på bra särdrag. Detta mappar det ursprungliga problemet till en ny särdragsrymd. Problemet är att man måste hitta på dessa särdrag för hand. feature engineering Det vore mycket bättre om vi kunde låta modellen lära sig dessa särdrag själva. feature learning
Översikt Introduktion Exempel: Linjär regression med en variabel Några grundläggande begrepp Linjär regression med flera variabler Perceptroninlärning Neuronnät