Viikko 3: Lineaarista regressiota ja luokittelua Matti Kääriäinen

Samankaltaiset tiedostot
MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

Kohdeyleisö: toisen vuoden teekkari

1. LINEAARISET LUOKITTIMET

Ratkaisuehdotukset LH 7 / vko 47

Johdatus tekoälyn taustalla olevaan matematiikkaan

Viikko 2: Ensimmäiset ennustajat Matti Kääriäinen

3.2.2 Tikhonovin regularisaatio

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

Johdatus tekoälyn taustalla olevaan matematiikkaan

Sovellettu todennäköisyyslaskenta B

s = 11 7 t = = 2 7 Sijoittamalla keskimmäiseen yhtälöön saadaan: k ( 2) = 0 2k = 8 k = 4

Matematiikan tukikurssi

Lineaariset luokittelumallit: regressio ja erotteluanalyysi

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 1, Kevät 2018

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Luento 8: Epälineaarinen optimointi

Matematiikan tukikurssi

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

1 Rajoittamaton optimointi

Talousmatematiikan perusteet: Luento 14. Rajoittamaton optimointi Hessen matriisi Ominaisarvot Ääriarvon laadun tarkastelu

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Logistinen regressio, separoivat hypertasot

VEKTORIANALYYSIN HARJOITUKSET: VIIKKO 4

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Matematiikan tukikurssi

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

Luento 9: Newtonin iteraation sovellus: optimointiongelma

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät

Dierentiaaliyhtälöistä

MS-C1340 Lineaarialgebra ja

12. Hessen matriisi. Ääriarvoteoriaa

Numeeriset menetelmät

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

Matematiikan tukikurssi

Likimääräisratkaisut ja regularisaatio

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

Diskriminanttianalyysi I

y x1 σ t 1 = c y x 1 σ t 1 = y x 2 σ t 2 y x 2 x 1 y = σ(t 2 t 1 ) x 2 x 1 y t 2 t 1

Harha mallin arvioinnissa

Antti Rasila. Kevät Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. Antti Rasila (Aalto-yliopisto) MS-A0204 Kevät / 16

802320A LINEAARIALGEBRA OSA II

Luento 5: Suurten lineaaristen yhtälöryhmien ratkaiseminen iteratiivisilla menetelmillä

f(x 1, x 2 ) = x x 1 k 1 k 2 k 1, k 2 x 2 1, 0 1 f(1, 1)h 1 = h = h 2 1, 1 12 f(1, 1)h 1 h 2

Inversio-ongelmien laskennallinen peruskurssi Luento 2

Numeeriset menetelmät

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Matematiikan tukikurssi

Luento 9: Yhtälörajoitukset optimoinnissa

Viikon aiheet. Funktion lineaarinen approksimointi

2 Osittaisderivaattojen sovelluksia

Derivaatan sovellukset (ääriarvotehtävät ym.)

ax + y + 2z = 0 2x + y + az = b 2. Kuvassa alla on esitetty nesteen virtaus eräässä putkistossa.

Ortogonaalisen kannan etsiminen

Kaksiluokkainen tapaus, lineaarinen päätöspinta, lineaarisesti erottuvat luokat

läheisyydessä. Piirrä funktio f ja nämä approksimaatiot samaan kuvaan. Näyttääkö järkeenkäyvältä?

Kertaus. x x x. K1. a) b) x 5 x 6 = x 5 6 = x 1 = 1 x, x 0. K2. a) a a a a, a > 0

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

Malliratkaisut Demot

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Differentiaali- ja integraalilaskenta 2 Laskuharjoitus 4 / vko 40

MS-C1340 Lineaarialgebra ja

Vektoreiden A = (A1, A 2, A 3 ) ja B = (B1, B 2, B 3 ) pistetulo on. Edellisestä seuraa

Mapu 1. Laskuharjoitus 3, Tehtävä 1

Matematiikan tukikurssi

3 = Lisäksi z(4, 9) = = 21, joten kysytty lineaarinen approksimaatio on. L(x,y) =

Esimerkki 19. Esimerkissä 16 miniminormiratkaisu on (ˆx 1, ˆx 2 ) = (1, 0).

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Matematiikan tukikurssi, kurssikerta 3

MS-A0207 Differentiaali- ja integraalilaskenta 2 Luento 5: Gradientti ja suunnattu derivaatta. Vektoriarvoiset funktiot. Taylor-approksimaatio.

1 Sisätulo- ja normiavaruudet

Numeeriset menetelmät

Luento 8: Epälineaarinen optimointi

Oppimistavoitematriisi

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

Lineaarinen yhtälöryhmä

Matematiikan peruskurssi (MATY020) Harjoitus 10 to

ImageRecognition toteutus

1. TILASTOLLINEN HAHMONTUNNISTUS

Numeeriset menetelmät

MS-C1340 Lineaarialgebra ja

Johdatus tekoälyn taustalla olevaan matematiikkaan

Lineaarinen optimointitehtävä

Matematiikan tukikurssi: kurssikerta 10

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

Lineaarinen optimointi. Harjoitus 6-7, Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän. c T x = min!

10 Matriisit ja yhtälöryhmät

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Tekijä MAA2 Polynomifunktiot ja -yhtälöt = Vastaus a)

5 Differentiaaliyhtälöryhmät

Mat. tukikurssi 27.3.

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Transkriptio:

Viikko 3: Lineaarista regressiota ja luokittelua Matti Kääriäinen matti.kaariainen@cs.helsinki.fi Exactum D122, 30-31.1.2008. 1

Tällä viikolla Sisältösuunnitelma: Lineaarinen regressio Pienimmän neliösumman menetelmä Lineaarinen luokittelu Perceptron-algoritmi 2

Lineaarinen regressio Tarkastellaan tilannetta, jossa X = R d, Y = R, ja tavoitteena on ennustaa hyvin tappiofunktion L 2 (neliövirhe) suhteen. Lineaarisessa regressiossa ennustajat ovat muotoa f w (x) = x w, missä w R d on ennustajan f w parametrivektori ja tarkoittaa pistetuloa. On siis etukäteen päätetty, että koneoppijan tuottaman ennustajan täytyy olla f w jollakin w R d. Koneoppijan tehtäväksi jää löytää hyvä w. 3

Lineaarisista ennustajista ja piirteistä Lineaarista regressiota kutsutaan lineaariseksi, koska kuvaus w f w (x) on lineaarinen eli ennusteet f w (x) riippuvat parametrivektorista w lineaarisesti. Syötteen piirteet voivat kuitenkin olla epälineaarisia, joten funktiot x f w (x) eivät välttämättä ole taustalla olevien oikeiden syötteiden (eli syötteiden josta piirteet on laskettu) suhteen lineaarisia. Piirteisiin lisätään usein biakseksi kutsuttu komponentti, joka saa kaikilla syötteillä arvon 1. Näin lineaarisessa mallissa ei tarvitse huolehtia erikseen vakiotermistä. 4

Lineaarinen regressio koneoppimistehtävänä Lineaarisessa regressiossa koneoppijan tehtävänä on löytää opetusdatan perusteella lineaarinen regressiofunktio f w, jonka odotusarvoinen neliövirhe on pieni. Seuraavassa esitetään klassinen pienimmän neliösumman menetelmä tulkittuna empiirisen riskin minimointi -periaatteen sovellukseksi lineaariregressioon. pienimmän neliösumman menetelmä voidaan tulkita (ja usein tulkitaankin) toisin (esim. suurimman uskottavuuden päättelynä), mutta tästä ei enempää kalvoilla... 5

Empiirisen riskin minimointi lineaarisessa regressiossa Määritellään empiirinen tappiofunktio ˆL: R d R seuraavasti: ˆL(w) = 1 n n L(y i, f w (x i )) = 1 n i=1 n (y i x i w) 2. i=1 Siis ˆL(w) on ennustajan f w opetusvirhe, kun tappiofunktiona on neliövirhe. Sovelletaan parametrivektorin w oppimiseen empiirisen riskin minimointia: Valitaan parametrivektoriksi ŵ = arg min w ˆL(w). Jäljellä siis enää yo optimointiongelman ratkaiseminen. 6

Funktion ˆL(w)minimointi Miten löytää w, jolle on minimaalinen? ˆL(w) = 1 n n (y i x i w) 2 i=1 Kun d = 1, ˆL(w) on tavallinen lukiosta tuttu ylöspäin aukeava paraabeli, jonka globaalin minimin etsiminen onnistuu derivoimalla ja ratkaisemalla yhtälö ˆL (w) = 0. Seuraavassa osoitetaan, että samankaltainen strategia puree myös moniulotteisessa tapauksessa d > 1. Tavoitteena täsmällisyyden sijaan välittää päättelyn pääideat yksityiskohtiin takertumatta... 7

Monen muuttujan analyysistä Kun d > 1, joudutaan turvautumaan monen muuttujan analyysiin. Derivaatan ˆL moniulotteinen vastine on gradientti ˆL: R d R d, joka voidaan esittää funktion ˆL osittaisderivaattojen avulla seuraavasti: ˆL w k : Rd R, k = 1,...,d ˆL = ( ˆL ˆL ),..., w1. w d Geometrisesti funktion gradienttia voi ajatella vektorina, joka osoittaa suuntaan, johon siirryttäessä funktio kasvaa nopeimmin. 8

Gradientti ja ääriarvot Jos funktion gradientti pisteessä w R d ei ole nollavektori, funktio kasvaa suunnassa johon gradientti osoittaa. Siispä w ei voi olla funktion ääriarvokohta. Erityisesti funktion ˆL minimi voi löytyä vain pisteestä, jossa ˆL:n gradientti on nollavektori. Funktion ˆL erityispiirteistä (konveksius) johtuen jokainen gradientin nollakohta on ˆL:n globaali minimi. Minimointiongelman ratkaisemiseksi riittää siis etsiä w, jolle ˆL(w) = 0. 9

Gradientin laskemisesta Gradientin laskemiseksi pisteessa w R d riittää laskea osittaisderivaatat w:ssä. Osittaisderivaatta ˆL w k pisteessä w = (w 1,...,w d ) R d on yhden muuttujan funktion w k ˆL(w 1,...,w k,...,w d ) derivaatta. Tämä funktio saadaan kiinnittämällä parametrit w i, i k, pisteen w koordinaatteihin, jolloin jäljelle jää w k :sta riippuva yhden muuttujan funktio, joka voidaan derivoida lukiosta tutuin keinoin. 10

Funktion ˆLosittaisderivaatatjagradientti Lasketaan nyt funktion ˆL(w) = 1 n osittaisderivaatat. n i=1 (y i d j=1 xj i wj ) 2 Saadaan (taululla): ˆL w k = 2 n n y i x k i + 2 n i=1 d ( n j=1 i=1 x j i xk i ) w j Yhdistämällä nämä ja siirtymällä matriisinotaatioon nähdään, että ˆL(w) = 2 n XT Y + 2 n XT Xw T. Tässä X on n d matriisi, jonka rivillä i on x i, ja Y on n 1 sarakevektori, jonka rivillä i on y i. 11

Gradientin ˆLnollakohdanetsiminen Pisteet w, joissa ˆL(w) = 0, löytyvät siis ratkaisemalla lineaarinen yhtälöryhmä X T Xw T = X T Y. Yhtälöryhmä voidaan ratkaista esim. Gaussin eliminaatiomenetelmällä (katso Matlabissa komento \ eli mldivide). Voidaan osoittaa, että ratkaisu w on aina olemassa, mutta ei välttämättä yksikäsitteinen monella eri ennustajalla f w voi siis olla minimaalinen opetusvirhe. Jos kuitenkin x i :t virittävät koko syöteavaruuden X = R d, ratkaisu on aina yksikäsitteinen. Tällöin X T X on kääntyvä, ja yhtälöryhmän ratkaisu löytyy kertomalla yhtälö puolittain vasemmalta X T X:n käänteismatriisilla (X T X) 1. 12

Regularisoinnista Edellä on selvitetty, kuinka lineaarista regressiota voidaan ajatella empiirisen riskin minimointina, ja kuinka näin syntyvä pienimmän neliösumman ongelma voidaan ratkaista. Jäljellä on kuitenkin kaksi potentiaalista ongelmaa: Ratkaisun yksikäsitteisyys ja epästabiilius, sekä ylisovittaminen. Samoihin ongelmiin törmätään toistuvasti sovellettaessa empiirisen riskin minimointia, ei siis vain lineaariregressiossa. Molempia ongelmia voidaan yrittää ratkaista regularisoidun empiirisen riskin minimoinnin avulla: Minimoidaan pelkän opetusvirheen sijaan opetusvirheen ja hyviksi oletettuja parametrivektoreita/ennustajia suosivan regularisointitermin summaa. 13

Harjanneregressio Harjanneregressio (engl. ridge regression) on regularisoitu versio pienimmän neliösumman menetelmästä, jossa regularisoinnilla suositaan normiltaan lyhyitä painovektoreita w. Tarkemmin ilmaistuna harjanneregressiossa f w valitaan minimoimalla funktion ˆL(w) sijaan funktiota ˆL ridge (w) = 1 n n (y i x i w) 2 + 1 n δ2 w 2 2, i=1 missä δ > 0 on erikseen säädettävä regularisoinnin määrää kontrolloiva parametri. Harjanneregressio siis puoltaa ennustajia, joiden painovektorin L 2 -normin neliö on pieni sitä enemmän, mitä suurempi δ on. 14

Funktion ˆL ridge minimoinnista Laskemalla funktion ˆL ridge gradientti ja asettamalla se nollaksi samaan tapaan kuin edellä nähdään, että optimiratkaisun w pitää nyt toteuttaa yhtälöryhmä (X T X + δi)w = X T Y. Matriisi (X T X + δi) on aina kääntyvä, joten optimaalinen w on aina yksikäsitteinen ja saadaan kaavalla w = (X T X + δi) 1 X T Y. Pienikin δ > 0 riittää siis optimointiongelman ratkaisun yksikäsitteistämiseen, sopiva suurempi δ lisää ratkaisun stabiiliutta ja saattaa auttaa ylisovittamiseen. 15

Lineaarinen luokittelu Siirrytään nyt lineaarisesta regressiosta lineaariseen luokitteluun: edelleen X = R d, mutta Y = { 1, +1}, ja tappiofunktiona 0/1-tappio. Lineaarisessa luokittelussa ennustajat ovat muotoa +1 jos x w 0 f w (x) = sign(x w) = 1 jos x w < 0. Ennustajat f w eivät siis ole lineaarisia funktioita, vaan ne saadaan lineaarisista funktioista ottamalla niiden merkki. 16

Lineaarinen luokittelija geometrisesti Ennustajaa f w vastaava päätöspinta on avaruuden X origon kautta kulkeva d 1-ulotteinen hypertaso, jonka normaali on w:n suuntainen. Hypertaso jakaa X :n positiiviseen ja negatiiviseen puoliavaruuteen. Positiivinen puoli on sillä puolella, johon w osoittaa. Vaikka päätöspinta on piirreavaruudessa X hypertaso, piirteet voivat olla taustalla olevien oikeiden syötteiden suhteen epälineaarisia. Tällä tavalla lineaariset luokittelijat voivat esittää oikeiden syötteiden avaruudessa monimutkaisia päätöspintoja. 17

Moniluokkainen luokittelu lineaaristen luokittelijoiden avulla Lineaariset luokittelijat soveltuvat suoraan vain kaksiluokkaiseen tapaukseen. Moniluokkainen ennustusongelma voidaan kuitenkin ratkaista lineaaristen luokittimien avulla esim. seuraavasti: 1. Muodostetaan jokaiselle luokalle y Y kaksiluokkainen ennustusongelma, jossa tehtävänä on ennustaa, onko oikea luokka y (+1) vai ei ( 1). Opetusdata saadaan alkuperäisestä opetusdatasta korvaamalla oikeat luokat luokilla +1/ 1. 2. Opitaan kutakin luokkaa y vastaava lineaarinen ennustaja f wy 3. Ennustusvaiheessa syötteellä x X ennustetaan sitä y Y, jolle x w y on suurin. 18

Lineaaristen luokittelijoiden oppiminen Tuntuisi luontevalta yrittää soveltaa empiirisen riskin minimointi -periaatetta myös lineaaristen luokittelijoiden oppimiseen, eli valita w siten, että opetusvirhe ˆL(w) = 1 n L 0/1 (y i, f w (x i )) = 1 {(xi, y i ) y i sign(x i w)} n n minimoituu. i=1 Funktion ˆL minimoiminen on kuitenkin yleisessä tapauksessa laskennallisesti vaikeaa NP-täydellistä ja hankalasti approksimoitavaa! Jos kuitenkin tiedetään, että opetusdata on lineaarisesti separoituvaa eli ˆL(w) = 0 jollakin w, minimointiongelma voidaan ratkaista tehokkaasti. 19

Perceptron-algoritmi Perceptron-algoritmi on yksinkertainen iteratiivinen menetelmä, jota voidaan käyttää lineaaristen luokittelijoiden oppimiseen. Perceptron-algoritmi konvergoituu vain, jos opetusdata on lineaarisesti separoituvaa. Sitä (tai sen variaatioita) voi toki kuitenkin yrittää käyttää myös ei-separoituvan datan tapauksessa... Seuraavassa esitettävä Perceptron-algoritmin versio käy toistuvasti läpi opetusdatan joukkoa kunnes nollavirheinen luokittelija on löytynyt, tai ennalta asetettu kierrosmäärä T tulee täyteen. 20

Perceptron-algoritmi pseudokoodina w = zeros(1, d) for round=1:t update=false for i=1:n ŷ i = sign(x i w) if ŷ i y i w = w + y i x i update=true if update==false break return w 21

Perceptron-algoritmin idea Algoritmi ylläpitää ja päivittää kandidaattipainovektoria w Aina kun f w (x i ) y i, algoritmi päivittää kandidaattia w lisäämällä siihen vektorin y i x i. Ideana on, että päivitys kääntää w:tä kohti opetusdatan oikein (tai paremmin) separoivan hypertason painovektoria. Päivityksiä jatketaan, kunnes f w (x i ) = y i kaikilla i = 1,...,n, tai kierrosmäärä T tulee täyteen. 22

Perceptron-algoritmin konvergenssi Oletetaan, että Opetusdata on lineaarisesti separoituvaa marginaalilla γ > 0: On olemassa painovektori w R d, jolle w 2 = 1 ja y i x i w γ kaikilla i = 1,...,n Opetusdata mahtuu origokeskeiseen R-säteiseen palloon: x i 2 R kaikilla i = 1,...,n. Tällöin Perceptron-algoritmi tekee korkeintaan R 2 /γ 2 päivitystä ennen kaiken opetusdatan oikein luokittelevan ennustajan f w painovektorin w löytämistä. 23

Todistus Kaksi havaintoa (taululla): 1. Jokainen päivitys kasvattaa pistetuloa w w vähintään γ:lla 2. Jokainen päivitys kasvattaa w:n pituuden neliötä w 2 2 korkeintaan R 2 verran. Jos siis p on päivitysten kokonaismäärä, pätee 1 w w w 2 w 2 pγ pr 2, missä ensimmäinen epäyhtälö on tunnetun epäyhtälön sovellus. Näin ollen p R2 γ 2. x y x 2 y 2 1 24