4. Lineaariset diskriminanttifunktiot

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

1. LINEAARISET LUOKITTIMET

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

4.0.2 Kuinka hyvä ennuste on?

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

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

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

Luento 8: Epälineaarinen optimointi

Luento 10: Optimointitehtävien numeerinen ratkaiseminen; optimointi ilman rajoitusehtoja

Avaruuden R n aliavaruus

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Luento 8: Epälineaarinen optimointi

Ristitulolle saadaan toinen muistisääntö determinantin avulla. Vektoreiden v ja w ristitulo saadaan laskemalla determinantti

b 1. b m ) + ( 2b Ax) + (b b)

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

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

1. TILASTOLLINEN HAHMONTUNNISTUS

Oletetaan ensin, että tangenttitaso on olemassa. Nyt pinnalla S on koordinaattiesitys ψ, jolle pätee että kaikilla x V U

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

2 Osittaisderivaattojen sovelluksia

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

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

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

Gaussin ja Jordanin eliminointimenetelmä

Suorista ja tasoista LaMa 1 syksyllä 2009

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

Talousmatematiikan perusteet: Luento 9

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

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Insinöörimatematiikka D

Matriisilaskenta, LH4, 2004, ratkaisut 1. Hae seuraavien R 4 :n aliavaruuksien dimensiot, jotka sisältävät vain

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

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

Lineaariavaruudet. Span. Sisätulo. Normi. Matriisinormit. Matriisinormit. aiheita. Aiheet. Reaalinen lineaariavaruus. Span. Sisätulo.

MS-C1340 Lineaarialgebra ja

1 Rajoittamaton optimointi

3.2.2 Tikhonovin regularisaatio

Talousmatematiikan perusteet: Luento 10. Lineaarikuvaus Matriisin aste Determinantti Käänteismatriisi

Johdatus tekoälyn taustalla olevaan matematiikkaan

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

MS-C1340 Lineaarialgebra ja

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

Numeeriset menetelmät

Osakesalkun optimointi

1 Sisätulo- ja normiavaruudet

802320A LINEAARIALGEBRA OSA II

Lineaarinen yhtälöryhmä

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi

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.

Matematiikan tukikurssi

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

Luento 9: Newtonin iteraation sovellus: optimointiongelma

Likimääräisratkaisut ja regularisaatio

Inversio-ongelmien laskennallinen peruskurssi Luento 2

Kanta ja dimensio 1 / 23

Johdatus tekoälyn taustalla olevaan matematiikkaan

MS-C1340 Lineaarialgebra ja

Numeeriset menetelmät

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

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

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

Havainnollistuksia: Merkitään w = ( 4, 3) ja v = ( 3, 2). Tällöin. w w = ( 4) 2 + ( 3) 2 = 25 = 5. v = ( 3) = 13. v = v.

Mat Lineaarinen ohjelmointi

Determinantti 1 / 30

Matematiikan tukikurssi

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Kohdeyleisö: toisen vuoden teekkari

Vektorit, suorat ja tasot

1 Lineaariavaruus eli Vektoriavaruus

3.1 Lineaarikuvaukset. MS-A0004/A0006 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset

Tekijä Pitkä matematiikka

Lineaariset luokittelumallit: regressio ja erotteluanalyysi

12. Hessen matriisi. Ääriarvoteoriaa

Lineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi

6 Vektoriavaruus R n. 6.1 Lineaarikombinaatio

Keskipisteen lisääminen 2 k -faktorikokeeseen (ks. Montgomery 9-6)

Kuva 1: Funktion f tasa-arvokäyriä. Ratkaisu. Suurin kasvunopeus on gradientin suuntaan. 6x 0,2

Lineaariset yhtälöryhmät ja matriisit

Kimppu-suodatus-menetelmä

7 Vapaus. 7.1 Vapauden määritelmä

Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).

Näihin harjoitustehtäviin liittyvä teoria löytyy Adamsista: Ad6, Ad5, 4: 12.8, ; Ad3: 13.8,

5 Lineaariset yhtälöryhmät

Päättelyn voisi aloittaa myös edellisen loppupuolelta ja näyttää kuten alkupuolella, että välttämättä dim W < R 1 R 1

Demo 1: Simplex-menetelmä

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

Vektoreiden virittämä aliavaruus

Matematiikan tukikurssi

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

Talousmatematiikan perusteet: Luento 8. Vektoreista ja matriiseista Vektorien peruslaskutoimitukset Lineaarinen riippumattomuus Vektorien sisätulo

Matematiikan tukikurssi

2.5. Matriisin avaruudet ja tunnusluvut

MATEMATIIKAN PERUSKURSSI I Harjoitustehtäviä syksy Millä reaaliluvun x arvoilla. 3 4 x 2,

802320A LINEAARIALGEBRA OSA I

Tehtävä 1. Arvioi mitkä seuraavista väitteistä pitävät paikkansa. Vihje: voit aloittaa kokeilemalla sopivia lukuarvoja.

Matemaattinen Analyysi / kertaus

Malliratkaisut Demot

Insinöörimatematiikka D, laskuharjoituksien esimerkkiratkaisut

Lineaarialgebra ja differentiaaliyhtälöt Laskuharjoitus 1 / vko 44

Transkriptio:

75 / 99 4. Lineaariset diskriminanttifunktiot Piirrevektorin x komponenttien suhteen lineaarinen diskriminanttifunktio voidaan kirjoittaa muotoon: g( x) = w t x + w 0, jossa w on painokerroinvektori ja w 0 on bias eli kynnyspainokerroin. Yleisessä tapauksessa jokaiselle luokalle määritetään oma diskriminanttifunktio, ja hahmo luokitellaan siihen luokkaan jonka d-funktio antaa suurimman arvon pisteessä x. 4.1 Kaksiluokkainen tapaus Kuten aiemmasta käsittelystä muistetaan (Kpl ), kahden luokan tapauksessa luokkien d-funktiot voidaan yhdistää ja tuloksena on yksi d-funktio. Päätössääntö kirjoitetaan tässä kappaleessa muotoon: Päätä ω 1 jos g( x) > 0, ja päätä ω jos g( x) < 0 ; mikäli g(x)=0, jätetään päätös tekemättä. Päätössääntö voidaan kirjoittaa myös muotoon: Päätä ω 1, jos w t x, josta selittyy termi kynnyspainokerroin. Diskriminanttifunktio voidaan kirjoittaa muotoon: d > w 0, muutoin päätä ω g( x) = w t x + w 0 = w i x i + w 0 = w i x i i = 1 i = 0, jossa x 0 =1 kiinteästi. Seuraava kuva havainnollistaa graafisesti tämän d-funktion rakennetta. d

76 / 99 Yhtälö g(x)=0 määrittelee luokkia ω 1 ja ω erottelevan päätöspinnan. Kun g(x) on lineaarinen, päätöspinta on hypertaso. Päätöspinta jakaa piirreavaruuden kahteen päätösalueeseen R 1 ja R. Olkoon x 1 ja x päätöstasossa sijaitsevia pisteitä. Tällöin pätee: w t x 1 + w 0 = w t x + w 0 w t ( x 1 x ) = 0 eli painokerroinvektori w määrittelee tason normaalivektorin. w osoittaa päätösalueen R 1 suuntaan, mikä nähdään seuraavasti: Ensin sopimus: Olkoon hypertason yhtälö H(x)=0, eli: kun piste x sijaitsee tasolla, lauseke H(x) saa arvon H(x)=0 kun H(x)>0, niin sanotaan että piste x on tason positiivisella puolella kun H(x)<0, niin sanotaan että piste x on tason negatiivisella puolella

77 / 99 Oletetaan nyt yksinkertaisuuden vuoksi, että w 0 =0, eli taso kulkee origon kautta. Pistetulo w t x voidaan tulkita vektorin x projektion pituudeksi vektorilla w. Jos piste x on samalla puolella tasoa kuin mihin w osoittaa, projektio on positiivinen, päinvastaisessa tapauksessa negatiivinen. Koska g(x)>0, kun piste x sijaitsee tason positiivisella puolella, niin myös vektori w osoittaa tason positiiviselle puolelle. Alla havainnollistava kuva: M.O.T. x w w t x >0 w t x <0 x x 1 x hypertaso=suora L Biastermi w 0 mahdollistaa hypertason siirtämisen pois origosta, mikä puolestaan mahdollistaa suuremman joustavuuden tason sijoittelussa luokkien väliin. Itse asiassa diskriminanttifunktio g(x) antaa pisteen x etäisyyden hypertasosta. Tämä nähdään seuraavasti: Merkitään (katso seuraava kuva): x = x p + r ------- w w, jossa x p on vektorin x kohtisuora projektio hypertasolle, r on pisteen x etäisyys hypertasosta ja w w on tason yksikkönormaalivektori.

78 / 99 Koska g(x) on lineaarinen ja g(x p )=0 määritelmän mukaan, saadaan: g( x) = g x p + r ------- w w = w t x + r------- w p w + w 0 ( w t x p + w 0 ) r wt w = + --------- g( x w p ) r w = + ---------- = r w w r = g( x) ---------- w Painokertoimista w ja w 0 voidaan laskea hypertason etäisyys origosta: r g( 0) w t 0 + w ---------- 0 = = --------------------------- = w w w ------- 0 w Jos w 0 >0 niin origo on tason positiivisella puolella, ja jos w 0 <0 niin origo on tason negatiivisella puolella, ja jos w 0 =0 niin taso kulkee origon kautta.

79 / 99 Edellä diskriminanttifunktio kirjoitettiin muodossa: d g( x) = w t x + w 0 = w i x i + w 0 = i = 1 d i = 0 w i x i Nyt voidaankin merkitä: y = [ 1, x 1,, x d ] t = [ 1, x t ] t, jota kutsutaan laajennetuksi piirrevektoriksi (augmented feature vector). Vastaavasti merkitään laajennettu painokerroinvektori (augmented weight vector): a = [ w 0, w 1,, w d ] t = [ w 0, w t ] t Tämä voidaan tulkita geometrisesti siten, että kuvataan d-ulotteinen x-avaruus (d+1)-ulotteiseksi y-avaruudeksi. Kaikki vektorit y sijoittuvat d-ulotteiseen x-vektoreiden virittämään aliavaruuteen, sillä vakiokomponentin (1) lisääminen piirrevektorin uudeksi komponentiksi ei vaikuta mitenkään näytevektorien välisiin etäisyyksiin: d D ( y 1, y ) ( y 1i y i ) 1 d = = ( y10 y0 ) + ( y 1i y i ) i = 0 i = 1 d ( y 1i y i ) 1 d = ( x 1i x i ) 1 = = D ( x1, x) i = 1 i = 1 Diskriminanttifunktion muoto on nyt: g(x)=a t y. Lausekkeen muodosta voi päätellä, että päätöstaso kulkee y-avaruudessa origon kautta, vaikka x-avaruudessa se voi sijaita origosta erillään. Alla oleva kuva havainnollistaa tilannetta. Tällä merkintätavalla saavutetaan etu, että diskriminanttifunktion kaikki painokertoimet saadaan estimoitua yhdellä kertaa yhtenäisen esitystavan vuoksi, eikä biastermiä tarvitse laskea erikseen. 1

80 / 99

81 / 99 4.. Moniluokkainen tapaus On olemassa eri tapoja käsitellä moniluokkainen tapaus. Moniluokkainen tapaus voitaisiin periaatteessa jakaa c-1:ksi kaksiluokkaiseksi tapaukseksi, jossa yksi luokka kerrallaan erotetaan muista luokista yhden diskriminanttifunktion avulla. Toinen mahdollisuus on määritellä diskriminanttifunktio jokaiselle luokkaparille, mikä johtaisi c(c-1)/ päätöspintaan. Nämä vaihtoehdot voivat toimia aivan hyvin sopivissa sovelluksissa. Ne kuitenkin yleensä jättävät osan piirreavaruudesta määrittelemättä eli päätösalueet eivät kokonaan kata piirreavaruutta. Tämä ongelma voidaan välttää määrittelemällä kullekin luokalle yksi diskriminanttifunktio ja käyttämällä aiemmin esiteltyä päätössääntöä. Päätä ω i, jos g i ( x) > g j ( x) kaikilla j i Jos vähintään kaksi saa suurimman arvon, älä luokittele

8 / 99 Tätä luokittelijaa kutsutaan lineaariseksi koneeksi, sillä se jakaa piirreavaruuden kattavasti päätösalueisiin hypertasoilla. Hypertasojen H ij yhtälöt voidaan ratkaista asettamalla pareittain g i ( x) = g j ( x) kullekin i-j-parille. On kuitenkin huomattava, että välttämättä kaikkia näin saatuja tasoja ei tarvita piirreavaruuden jakamisessa päätösalueisiin, kuten alla olevasta kuvastakin näkyy. Päätöspintojen yhtälöiksi saadaan: ( w i w j ) t x + ( w i0 w j0 ) = 0, jossa x on päätöspinnalla sijaitseva piste. Jos pisteet x 1 ja x sijaitsevat päätöspinnalla H ij, niin vähentämällä yhtälöt toisistaan saadaan w i -w j on hypertason H ij normaalivektori. ( w i w j ) t ( x 1 x ) = 0, eli vektori Lasketaan myös pisteen x etäisyys päätöstasosta. Merkitään vastaavasti kuin edellä: x x p r w i w j = + ---------------------, jolloin: w i w j g i ( x) g j ( x) ( w i w j ) t x p r w i w j = + --------------------- w i w j + ( w i0 w j0 ) = [( w i w j ) t x p + ( w i0 w j0 )] + r w i w j = r w i w j r = g i ( x) g j ( x) ------------------------------ w i w j

83 / 99 Pisteen sijoittuminen johonkin päätösalueeseen riippuu siitä, millä etäisyydellä ja puolella se on päätöstasoihin nähden. Tämä taas riippuu painokerroinvektorien erotuksista. Lineaarisessa koneessa päätösalueet ovat kuperia (convex) eivätkä voi jakautua edelleen useisiin alueisiin, mikä rajoittaa niiden käyttökelpoisuutta. Päätösalueiden yhtenäisyyden takia menetelmä sopii erityisesti tapauksiin, joissa luokkaehdolliset jakaumat p( x ω i ) ovat yksihuippuisia.

84 / 99 4.3. Lineaarisesti erottuvat luokat Tähän saakka olemme tarkastelleet päätöstasojen käyttämistä luokittelussa. Entä kuinka nämä päätöstasot määritetään? Tarkastellaan kahden luokan tapausta ja niiden välisen lineaarisen päätöspinnan hakemista. Olkoon joukko näytteitä y 1,...y n, joista osalla on leima ω 1 ja lopuilla leima ω. Haluamme käyttää näitä näytteitä määräämään painokerroinvektorin a lineaarisessa diskriminanttifunktiossa g(x)=a t y. Mikäli onnistumme löytämään kaikki näytteet oikein luokittelevan diskriminanttifunktion vektorin a, sanomme että luokat ω 1 ja ω ovat lineaarisesti erottuvia (linearly separable). Sovitaan, että luokkaan ω 1 kuuluva näyte y i luokitellaan oikein mikäli a t y i > 0, ja vastaavasti luokkaan ω kuuluva näyte y i luokitellaan oikein mikäli a t y i < 0. Tehdään käsittelyä yksinkertaistava muunnos datalle siten, että korvataan kaikkien luokkaan ω kuuluvat vektorit niiden negaatiolla, eli y i y i, jos y i ω. Nyt voidaan etsiä sellainen vektori a jolle a t y i > 0 kaikille näytteille. Kaikki näytevektorit siis osoittavat päätöstason positiiviselle puolelle. Sellaista vektoria a kutsutaan erotteluvektoriksi (separating vector) tai ratkaisuvektoriksi (solution vector). Koska siirrymme nyt tarkastelemaan vektorin a laskemista, siirrytään myös tarkastelemaan ratkaisun etsimistä painokerroinavaruuteen (weight space) johon vektori a osoittaa. Jokainen näyte y i asettaa rajoitteen ratkaisulle. Yhtälö a t y i = 0 määrää origon kautta kulkevan hypertason H i, jonka normaalivektori y i on. Ratkaisuvektorin tulee sijaita jokaisen hypertason H i positiivisella puolella, koska ratkaisussa a t y i > 0 ja kaikki vektorit y i sijoittuvat positiiviselle puolelle. Täten ratkaisuvektori sijoittuu n:n puoliavaruuden leikkausalueeseen, jota kutsutaan ratkaisualueeksi (solution region). Alla oleva kuva havainnollistaa tilannetta.

85 / 99 Kuten ratkaisualueen koosta näkyy, ratkaisuvektoreita voi olla useitakin. Ratkaisualueen pienentämiseksi on kehitetty useitakin menetelmiä, kuten: etsitään ratkaisuvektori a, jolle päätöstason minimietäisyys näytteisiin on suurin etsitään lyhin ratkaisuvektori a, jolle pätee: a t y b > 0, jossa b on marginaali. Jälkimmäinen menetelmä johtaa ratkaisualueeseen, joka sisältyy alkuperäiseen alueeseen ollen marginaalin b määräämän verran alkuperäistä suppeampi.

86 / 99 Näiden menetelmien tarkoituksena on löytää ratkaisuvektori a, joka olisi mahdollisimman keskellä ratkaisualuetta. Tämä siksi, että päätöstaso kulkisi mahdollisimman keskeltä luokkien ω 1 ja ω välissä, eli mahdollisimman etäällä niistä. Tämä taas siksi, että luokittelija kykenisi luokittelemaan mahdollisimman luotettavasti myös uudet näytteet, jotka äärellisen opetusaineiston koon ja satunnaisuuden takia luonnollisesti jakautuvat hieman eri tavalla. 4.3.1. Gradienttihakumenetelmiä painokerroinvektorin etsimiseen Käytetään lähestymistapaa, jossa etsitään ratkaisu lineaariselle epäyhtälöryhmälle a t y i > 0 käyttämällä tiettyä kriteerifunktiota (virhefunktio) J(a) joka minimoituu kun a on ratkaisuvektori. Siirrymme siis ratkaisemaan skalaariarvoisen funktion minimoimisongelmaa, mikä voidaan usein tehdä gradienttihaulla. Kriteerifunktio J(a) antaa jokaisessa a-avaruuden pisteessä lukuarvon, joka kuvastaa käytettävällä aineistolla luokittelijan tekemää virhettä kyseisellä a:n arvolla. Tästä muodostuu d-ulotteinen pinta (maisemaprofiili), jossa on kriteerifunktion muodosta riippuen eri määrä minimejä ja maksimeja. Sen syvimpään minimikohtaan pitäisi päästä, tai ainakin sovelluksen kannalta riittävän syvään minimiin. Mikäli minimejä on useita, syvin niistä on ns. globaali minimi, ja muut lokaaleja (paikallisia) minimejä.

87 / 99 Perusversio on yksinkertainen. Aloitamme satunnaisesti alustetusta vektorista a(1) ja laskemme gradienttivektorin J( a( 1) ). a:n seuraava arvo a() saadaan siirtymällä a-avaruudessa jyrkimpään laskusuuntaan, eli gradienttivektorin suhteen vastakkaiseen suuntaan. Gradienttivektori nimittäin osoittaa jyrkimpään noususuuntaan J(a)-pinnalla. Iteratiivisen laskennan merkintätavan mukaisesti:, jossa η( k) on iteraatiokerrasta riippuva positiivinen oppimisnopeuskerroin (learning rate), jolla voidaan hidastaa tai nopeuttaa hakua. Usein valitaan: η( k) = η( 1) k Algoritmi 1. Gradienttihaun perusversio. begin initialize a, kynnys θ, η (.), k=0 end do until return a k k + 1 a( k + 1) = a( k) η( k) J( a( k) ) a a η( k) J( a) η( k) J( a) < θ Kynnysarvo θ pysäyttää iteroinnin, kun a:n lisäys alkaa olla erittäin pieni, mikä tapahtuu oltaessa hyvin lähellä ratkaisua eli minimikohtaa. Näytejoukko ajetaan läpi niin monta kertaa, että ratkaisuvektori löytyy. Gradienttihakuun liittyy hyvin tunnettuja ongelmia. Esimerkiksi se löytää kyllä minimikohdan, mutta ei välttämättä riittävän hyvää saati globaalia, koska se ei pääse ylös löytämästään minimikohdasta jatkamaan hakua. Toinen ongelma on oppimisnopeuskertoimen valinta: liian pieni arvo johtaa hitaaseen algoritmin suupenemiseen, kun taas liian suuri saattaa estää minimin löytymisen. Kertoimelle on johdettu järkevän arvon tuottavia lausekkeita, joista yksi on: η( k) = J -------------------- J t H J, jossa H on Hessian matriisi sisältäen elementit J a i a j pisteessä a(k). Mikäli kriteerifunktio J on neliöllinen, H on vakio ja η( k) on k:sta riippumaton vakio.

88 / 99 Toinen gradianttihakumenetelmä on Newtonin algoritmi: Algoritmi. Newtonin gradienttihakualgoritmi. begin initialize a, kynnys θ do a a H 1 J ( a ) end until return a H 1 J ( a ) < θ Yleensä Newtonin algoritmi tuottaa nopeamman etenemisen askelta kohden kuin perusgradienttihaku. Tosin, ei toimi kun H on singulaarinen, koska sen käänteismatriisia ei tällöin voida laskea. Lisäksi, Newtonin algoritmi on laskennallisesti raskas käänteismatriisin laskemisen takia; kääntäminen vaatii O(d 3 ) laskentaoperaatiota. Tämän takia Newtonin algoritmia käytettäessä oppimiskerroin asetetaan tyypillisesti pieneksi ja otetaan sitten enempi iterointiaskelia.

89 / 99 4.4. Perceptronin kriteerifunktion minimointi Perceptron-menetelmän kehitti Frank Rosenblat 1961 ja sitä pidetään ensimmäisenä menestyneenä neuroverkkona, jossa tosin oli vain yksi neurooni. Gradienttihaussa tarvitaan kriteerifunktio J(a; y 1,...,y n ), jota minimoitaessa ratkaistaan epäyhtälöryhmä a t y i > 0. Yksi ilmeinen valinta J:lle on virheellisesti luokiteltujen näytteiden lukumäärä. Tämä on kuitenkin paloittain vakio funktio, minkä takia se on gradienttihakuun huono valinta. Parempi valinta on Perceptronin kriteerifunktio: J p ( a) = ( a t y) y Y, jossa Y(a) on väärinluokiteltujen näytteiden joukko. Mikäli on löytynyt sellainen a, että luokitteluvirheitä ei tule ja joukko Y(a) on tyhjä, kriteerifunktio määritellään nollaksi ja ratkaisu on löytynyt. Kuten edellä todettiin, näytevektorit y i on normalisoitu siten, että luokkaan ω kuuluvat vektorit on korvattu negaatioillaan. Täten, kun ratkaisu on löytynyt, kaikki a t y i > 0. Ratkaisua vielä etsittäessä jotkin näytteistä luokitellaan väärin, jolloin kyseisten näytteiden tapauksissa a t y i < 0. Nämä a t y i -termit kootaan yllä esitettyyn J p -lausekkeeseen, jolloin siitä tulee lukuarvoltaan positiivinen, ja sen minimoimista tulee jatkaa. Geometrisesti tulkittuna J p on verrannollinen väärinluokiteltujen näytteiden etäisyyksiin päätöspinnasta, sillä r i = a t y i a. Seuraavan sivun kuva havainnollistaa erilaisten kriteerifunktioiden tuottamia virhepintoja J p (a).

90 / 99 Koska funktion J p gradientin j:s komponentti on J p a j, saadaan: J p = a0 y a 0 J 0 y 0 ------- p = a = : y Y. y Y y d = ad y a d d y Y ( y)

91 / 99 Tästä saadaan Perceptron-algoritmi: Algoritmi 3. Perceptron gradienttihakualgoritmi, batch-versio. begin initialize a, kynnys θ, η (.), k=0 do k k + 1 a a + η( k) y y Y end return a until η( k) y < θ y Y Eli, painokerroinvektoria a päivitetään summaamalla siihen väärin luokiteltujennäytteiden summa oppimisnopeuskertoimella painotettuna! Batch-versio tarkoittaa sitä, että kaikki väärin luokitellut näytevektorit (batch) huomioidaan kerralla. Algoritmista on olemassa yksittäiseen väärin luokiteltuun näytteeseen perustuva versio, johon tutustutaan seuraavaksi. Seuraava versio päivittää painovektoria a aina kun tehdään virheellinen luokittelu. Oppimisnopeuskerroin on kiinnitetty vakioksi 1. (Fixed-increment single-sample Perceptron): Algoritmi 4. Perceptron gradienttihakualgoritmi, yhden näytteen versio. begin initialize a, k=0 do k = ( k + 1) mod n if a t y k 0 then a a + y end return a until a t y k > 0, k Tämä algoritmi on ehkä yksinkertaisin kehitetty menetelmä lineaarisen epäyhtälöryhmän ratkaisemiseksi. Se geometrinen tulkinta on opettavainen: Jos

9 / 99 näyte y k luokitellaan väärin, se on päätöstason väärällä puolella eli eri puolella kuin a. Käännetään tällöin tason suuntavektoria a vektorin y k suuntaan, jolloin todennäköisyys kasvaa että y k sijoittuu oikealle puolelle tasoa (sama puoli kuin missä a sijaitsee). Allaolevat kuvat havainnollistavat algoritmia: H y k y k a a H

93 / 99

94 / 99 Teoreema: Jos kaksiluokkainen näytejoukko on lineaarisesti erottuva, Algoritmi 4 löytää ratkaisun ja tekee sen äärellisellä määrällä iteraatiokierroksia. Todistus: Olkoon kyseessä lineaarisesti erottuva tapaus ja â eräs ratkaisuvektori ja α>0. Algoritmikuvauksesta saadaan väärin luokitellulle näytteelle: a( k + 1) αâ = ( a( k) αâ) + y k a( k + 1) αâ = a( k) αâ ( a( k) αâ) t + y k + y k a( k + 1) αâ a( k) αâ αâ t y k + y k Kolmas lauseke seuraa siitä, että a t y k < 0 β = max y i. Merkitään nyt: γ = min [ â t y i ] > 0 Valinnalla α = β γ saadaan: a( k + 1) αâ a( k) αâ αγ + β = a( k) αâ β Eli yksi iteraatio pienentää a-vektorin etäisyyttä ratkaisuvektorista vähintään tekijällä β. Puretaan lauseketta aina ensimmäiseen iteraation saakka: a( k + 1) αâ a( k) αâ a( k + 1) αâ β a( k 1) αâ β a( 1) αâ kβ Lausekkeen oikea puoli pienenee kohti nollaa alittaen sen tietyllä iteraatiokerralla. Koska lausekkeen vasen puoli on ei-negatiivinen, täytyy käydä niin, että vektori a lähestyy ratkaisuvektoria αâ ylitä arvoa: ja päätyy hyvin lähelle sitä askelmäärässä joka ei a( 1) αâ k 0 = ------------------------------- β Koska tämän mukaan iterointi päättyy äärellisen askelmäärän jälkeen ja toisaalta koska algoritmi jatkaa iterointia kunnes virheitä ei tapahdu, täytyy olla niin että

95 / 99 Algoritmi 4 löytää ratkaisun ja tämä tapahtuu äärellisessä ajassa! Asettamalla a(1)=0 saadaan k 0 :lle yksinkertainen muoto: α â β k 0 ---------------- â = β = ---------------- γ = max y i â ---------------------------------- min [ â t y i ] M.O.T. Nimittäjästä nähdään, että iteraatiomäärä kasvaa suureksi, kun osa näytevektoreista on lähes kohtisuorassa ratkaisuvektoria vastaan. Näin käy erityisesti silloin, kun näytteet sijaitsevat lähestulkoon vierekkäisissä samansuuntaisissa tasossa: Tässä vielä yksi versio Perceptronista: Algoritmi 5. Perceptron gradienttihakualgoritmi, muuttuva oppimisnopeus ja marginaali. begin initialize a, kynnys θ, η (.) do k = ( k + 1) mod n, k=0, marginaali b if a t y k b then a a + η( k)y k end return a until a t y k > b, k

96 / 99 4.5. Pienimmän neliövirheen hakumenetelmät Edellä kuvattuja gradienttihakumenetelmiä kutsutaan virheenkorjausmenetelmiksi (error-correcting procedures), koska ne keskittyvät vain väärin luokiteltuihin näytteisiin ja koettavat muuttaa painokertoimia siten että näytteet luokiteltaisiin jatkossa oikein. Nämä soveltuvat sovelluksiin, joissa luokitteluvirheen arvellaan olevan hyvin pieni. Nimittäin pienellä opetusaineistolla saattaa hyvinkin löytyä luokat täysin toisistaan erottava päätöstaso. Mutta riippumattomalla testiaineistolla luokittelu saattaa jo sisältää virheitä. Suuret opetusaineistot ovat todellisuudessa harvoin täysin erottuvia. Siirrymme nyt menetelmiin, jotka hyödyntävät kaikki näytteet ratkaisua haettaessa. Hakuongelma määritellään paremmin ymmärretyksi lineaarisen yhtälöryhmän ongelmaksi, jossa pyritään tavoitteeseen a t y i =b i, jossa termit b i ovat positiivisia vakioita. Siirrytään matriisimerkintään: kootaan y-vektorit vaakasuuntaisiksi riveiksi matriisiin Y, josta täten tulee n ( d + 1) -kokoinen. Merkitään nyt: y 10 y 1d : : : : : : y n0 y nd a 0 : a d = b 1 : : b n eli Ya = b Mikäli n=(d+1) ja Y on ei-singulaarinen, voidaan yhtälö ratkaista suoraan: a = Y 1 b. Yleensä n>>(d+1) eli yhtälöryhmä on ylimääritelty ja tarkkaa ratkaisua ei ole. Tällöin voidaan kuitenkin koettaa löytää sellainen a, joka minimoi virhevektorin e=ya-b sisältävän funktion. Yksi mahdollisuus on minimoida virhevektorin pituus, mikä on ekvivalentti neliösummavirheen minimoimisen kanssa. Menetelmää kutsutaan pienimmän neliövirheen menetelmäksi (minimum squarederror, MSE).

97 / 99 Kriteerifunktio on tällöin: J s ( a) = Ya b = i = 1 ( a t y i b i ) Koska kyseessä on neliöllinen funktio, sen minimikohta löytyy asettamalla gradienttivektori nollavektoriksi ja ratkaisemalla a: n n J s = a t y i b i = Y t ( Ya b) 0 i = 1 a Y t Ya = Y t b = ( Y t Y) 1 Y t b = Y + b, jossa Y + ( Y t Y) 1 Y t on Y:n pseudoinverssi. Mikäli Y on neliömatriisi ja eisingulaarinen, sen pseudoinverssi on sama kuin sen normaali käänteismatriisi: Y + Y = ( Y t Y) 1 Y t Y = I. Mutta yleensä YY + I. Nyt sanotaan, että a=y + b on MSE-ratkaisu yhtälölle Ya=b. Ratkaisu riippuu b:n arvosta; huonolla valinnalla menetelmä ei välttämättä löydä ratkaisua edes lineaarisesti erottuvalle tapaukselle. Esimerkki lineaarisen luokittelijan suunnittelusta: Olkoon datajoukko seuraava: ω 1 = {[ 1, ] t, [, 0] t }, ω = {[ 3, 1] t, [, 3] t }. Päätöspinta saadaan asettamalla lineaarinen diskriminantti nollaksi: g(x)=a t y=0. Matriisi Y ja sen

98 / 99 pseudoinverssi ovat: Y 1 1 = 1 0 Y + 5 4 13 1 3 4 7 1 = 1 1 6 1 1 6 1 3 1 0 1 3 0 1 3 1 3 Asetetaan mielivaltaisesti b=(1,1,1,1) t, jolloin a=y + b=(11/3, -4/3, -/3) t. x Päätössuoran yhtälö on siis: (11/3) - (4/3)x 1 - (/3)x = 0. Esimerkki loppuu. 4.5.1. Pienimmän keskineliövirheen menetelmä Kriteerifunktio voidaan minimoida myös gradienttimenetelmällä. Tällä on kaksi etua MSE-menetelmään nähden: 1) voidaan ratkaista vaikka Y t Y on singulaarinen, ja ) ei tarvita suurten matriisien käsittelyä. Kuten edellä nähtiin, kriteerifunktion gradientti on: n Tämä voitaisiin sijoittaa suoraan gradienttihakumenetelmän algoritmiin, jolloin saataisiin batch-versio. Nyt kuitenkin käytetään versiota, jossa käsitellään yksi näyte kerrallaan. Algoritmia nimitetään keksijöidensä mukaisesti Widrow-Hoff - menetelmäksi tai pienimmän keskineliövirheen menetelmäksi (least-mean-squared, LMS). Saadaan siis: Algoritmi 6. LMS begin initialize a, b, kynnys θ, η (.), k=0 do J s ( a) = Ya b k = ( k + 1) mod n x 1 J s = ( a t y i b i )y i i = 1

99 / 99 end return a until a a + η( k) ( b k a t y k )y k η( k) ( b k a t y k )y k < θ Ominaisuuksista voi todeta sen, että LMS-menetelmä ei välttämättä suppene täydellisesti erottavaan päätöstasoon, vaikka sellainen olisikin olemassa. Seuraavan sivun kuva havainnollistaa tätä. Sopivan b-vektorin valitseminen ei ole triviaali tehtävä. On olemassa sellaisia gradienttimenetelmiä, jotka hakevat sekä a:n että b:n samalla kertaa. Tällainen menetelmä on esimerkiksi Ho-Kashyap-menetelmä, joka kuitenkin sivuutetaan tällä kurssilla.