Tämän luvun sisältö. Luku 6. Hahmontunnistuksen perusteita. Luokittelu (2) Luokittelu



Samankaltaiset tiedostot
E. Oja ja H. Mannila Datasta Tietoon: Luku 6

luokittelu on mahdollisimman tehokasta Esimerkkejä hahmontunnistussovelluksista: Satelliittikuvien tulkinta Tekstin tunnistus

Luku 6. Hahmontunnistuksen perusteita

1. TILASTOLLINEN HAHMONTUNNISTUS

SGN-2500 Johdatus hahmontunnistukseen 2007 Luennot 4 ja 5

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

805306A Johdatus monimuuttujamenetelmiin, 5 op

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

FUNKTIONAALIANALYYSIN PERUSKURSSI Johdanto

805306A Johdatus monimuuttujamenetelmiin, 5 op

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

Topologia Syksy 2010 Harjoitus 9

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

Diskriminanttianalyysi I

Mallipohjainen klusterointi

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA

P(X = x T (X ) = t, θ) = p(x = x T (X ) = t) ei riipu tuntemattomasta θ:sta. Silloin uskottavuusfunktio faktorisoituu

Tekstuurintunnistuksen lyhyt oppimäärä. Ts. pari tapaa erottaa tiiliseinä pensaasta.

1 2 x2 + 1 dx. (2p) x + 2dx. Kummankin integraalin laskeminen oikein (vastaukset 12 ja 20 ) antaa erikseen (2p) (integraalifunktiot

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

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

Testejä suhdeasteikollisille muuttujille

Kun datasta halutaan muodostaa malleja, ne ovat yleensä tilastollisia (esim. regressio, luokittelu, ryhmittely...) F(x 0 ) = P(x x 0 ) (1)

4.0.2 Kuinka hyvä ennuste on?

T Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti , 8:30-10:00 Kollokaatiot, Versio 1.1

jens 1 matti Etäisyydet 1: 1.1 2: 1.4 3: 1.8 4: 2.0 5: 3.0 6: 3.6 7: 4.0 zetor

Mat Sovellettu todennäköisyyslasku A

S Laskennallinen Neurotiede

Laskennallinen data-analyysi II

Lineaariset luokittelumallit: regressio ja erotteluanalyysi

Jatkuvat satunnaismuuttujat

Luentorunko perjantaille

Juuri 10 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

Preliminäärikoe Tehtävät Pitkä matematiikka / 3

805306A Johdatus monimuuttujamenetelmiin, 5 op

Kanta ja Kannan-vaihto

Yleiset lineaarimuunnokset

1 Rajoittamaton optimointi

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

Estimointi. Vilkkumaa / Kuusinen 1

Pythagoraan polku

Matematiikan tukikurssi

5. Numeerisesta derivoinnista

Ilkka Mellin Tilastolliset menetelmät. Osa 3: Tilastolliset testit. Tilastollinen testaus. TKK (c) Ilkka Mellin (2007) 1

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Sovellettu todennäköisyyslaskenta B

Moniulotteisia todennäköisyysjakaumia

MS-A0104 Differentiaali- ja integraalilaskenta 1 (ELEC2) MS-A0106 Differentiaali- ja integraalilaskenta 1 (ENG2)

P (X B) = f X (x)dx. xf X (x)dx. g(x)f X (x)dx.

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

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Logistinen regressio, separoivat hypertasot

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 5: Taylor-polynomi ja sarja

Numeeriset menetelmät

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

Johdatus tekoälyyn. Luento : Koneoppiminen. Patrik Hoyer. [ Kysykää ja kommentoikaa luennon aikana! ]

Ilkka Mellin Todennäköisyyslaskenta Osa 3: Todennäköisyysjakaumia Moniulotteisia todennäköisyysjakaumia

1. LINEAARISET LUOKITTIMET

MONISTE 2 Kirjoittanut Elina Katainen

Sovellettu todennäköisyyslaskenta B

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Mistä on kyse? Pilvien luokittelu satelliittikuvissa. Sisältö. Satelliittikartoitus. Rami Rautkorpi Satelliittikartoitus

2 Yhtälöitä ja epäyhtälöitä

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

2.5. Matriisin avaruudet ja tunnusluvut

/1. MTTTP5, luento Normaalijakauma (jatkuu) Binomijakaumaa voidaan approksimoida normaalijakaumalla

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

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

riippumattomia ja noudattavat samaa jakaumaa.

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

A-osa. Ratkaise kaikki tämän osan tehtävät. Tehtävät arvostellaan pistein 0-6. Taulukkokirjaa saa käyttää apuna, laskinta ei.

1.1 Vektorit. MS-A0007 Matriisilaskenta. 1.1 Vektorit. 1.1 Vektorit. Reaalinen n-ulotteinen avaruus on joukko. x 1. R n. 1. Vektorit ja kompleksiluvut

Johdatus todennäköisyyslaskentaan Moniulotteisia todennäköisyysjakaumia. TKK (c) Ilkka Mellin (2005) 1

Viikko 1: Johdantoa Matti Kääriäinen

Tekijä Pitkä matematiikka

Tilastollisen analyysin perusteet Luento 1: Lokaatio ja hajonta

MS-C1340 Lineaarialgebra ja

Inversio-ongelmien laskennallinen peruskurssi Luento 7

Avaruuden kolme sellaista pistettä, jotka eivät sijaitse samalla suoralla, määräävät

Positiivitermisten sarjojen suppeneminen

Luku 2. Datasta tietoon: mitä dataa? mitä tietoa?

805306A Johdatus monimuuttujamenetelmiin, 5 op

Insinöörimatematiikka D, laskuharjoituksien esimerkkiratkaisut

Demo 1: Simplex-menetelmä

Matematiikan tukikurssi

Tekoäly ja koneoppiminen metsävaratiedon apuna

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Koontitehtäviä luvuista 1 9

Yhden muuttujan funktion minimointi

Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5.

Puumenetelmät. Topi Sikanen. S ysteemianalyysin. Laboratorio Aalto-yliopiston teknillinen korkeakoulu

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat

MS-A010{3,4,5} (ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 2: Sarjat

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Matematiikan tukikurssi

x 4 e 2x dx Γ(r) = x r 1 e x dx (1)

Transkriptio:

Tämän luvun sisältö Luku 6. T-6. Datasta tietoon, syksy professori Erkki Oja Tietojenkäsittelytieteen laitos, Aalto-yliopisto 7.. Tämä luku käydään kahdella luennolla: ensimmäisellä luokittelu ja toisella ryhmittelyanalyysi. Luokittelu Lähimmän naapurin luokitin (knn) Bayes-optimaalinen luokitin Ryhmittelyanalyysi Hierarkkinen ryhmittely c-means ryhmittelyalgoritmi (k-means, KM) / 54 / 54 Luokittelu Hahmontunnistus on tieteenala, jossa luokitellaan joitakin kohteita niistä tehtyjen havaintojen perusteella luokkiin Keskeiset ongelmat ovat havaintojen teko, niiden pelkistys ja esikäsittely, muuntaminen sopivimmaksi kuvaukseksi eli ns. piirreirrotus, sekä piirrevektorien perusteella tapahtuva luokittelu. Esimerkki: käsinkirjoitettujen numeroiden, vaikkapa kirjeiden osoitteissa olevien postinumeroiden (76 Aalto) automaattinen tunnistus kirjeiden luokittelua varten. Postinumero pitää valokuvata ja kukin erillinen numero pitää digitaalisesti erotella ja normalisoida (esikäsittely), ja sen jälkeen etsiä sopivat numeeriset tunnusluvut (piirteet) joiden avulla luokittelu on mahdollisimman tehokasta Luokittelu () Toinen esimerkki: tietyn objektin havaitseminen muiden objektien seasta. Katso kurssin T-6.57 Computer Vision harjoitustyö Esimerkkejä hahmontunnistussovelluksista: Satelliittikuvien tulkinta Robottinäkö Tekstin tunnistus Puheen tunnistus, älykkäät käyttöliittymät Henkilön tunnistus (sormenjälki, puhe, nimikirjoitus, kasvokuva, silmän iris,...) Lääketieteellisten aineistojen seulonta, esim. irtosolunäytteet Laadunvalvonta, pullonpalautusautomaatit Dokumenttien automaattinen luku ja käsittely (shekit, lomakkeet,...) Auton rekisterinumeron tunnistus 3 / 54 4 / 54

Luokittelu (3) Hahmoalueet, erotinfunktio.. ja paljon muuta. Kyseessä on selkeä kasvuala. Hahmo on tunnistettavan kohteen numeerinen esitystapa, joka voi olla vektori, matriisi, puu, graafi, merkijono,... Tässä suppeassa esityksessä keskitytään taas vektoreihin: ajatellaan siis että kukin kohde on esitettävissä vektorina x = (x,..., x d ) T (pisteenä d-ulotteisessa vektoriavaruudessa). Se miten tällaiseen vektoriin päädytään on hyvin sovelluskohtaista ja itse asiassa ehkä vaikein osa koko hahmontunnistusjärjestelmän suunittelua; emme puutu siihen tässä. Kaksi keskeistä kysymystä silloin on:. Mitkä hahmot ovat keskenään samanlaisia?. Minkälaisia ryhmiä hahmot muodostavat? 5 / 54 6 / 54 Hahmoalueet, erotinfunktio () Vastauksia näihin etsitään geometriasta, ajattelemalla siis hahmot pisteinä d-ulotteisessa avaruudessa ja katsomalla niiden välisiä vektorietäisyyksiä (esim. euklidinen etäisyys) Myös todennäköisyyslaskennalla on tärkeä rooli kuten nähdään Merkitään nyt luokkia merkinnällä ω,..., ω M (omega), siis niitä on M kappaletta (esim. käsinkirjoitetut numerot: M = ) Geometrisesti ajatellaan että koko d-ulotteinen vektoriavaruus jakaantuu M:ään alueeseen, ns. hahmoalueeseen R,..., R M joiden keskinäiset leikkaukset ovat nollia ja joiden unioni on koko avaruus Jos hahmovektori x kuuluu alueeseen R j, päätellään että x:n luokka on ω j. Hahmoalueet, erotinfunktio (3) Esimerkki: Kuvassa on kolme hahmoaluetta, joista R kahdessa osassa. Alueiden keskinäiset leikkaukset tyhjiä, yhdiste koko R. Kuvassa siis x kuuluu alueeseen R 3 joten sen luokka on ω 3 Kuva: Hahmoalueet Alueet ovat mielivaltaisen muotoisia, ja voi olla vaikeaa laskennallisesti päätellä mihin alueeseen x kuuluu 7 / 54 8 / 54

Hahmoalueet, erotinfunktio (4) Siksi usein käytetään erotinfunktioita g (x),..., g M (x) joiden avulla luokittelusääntö on seuraava: jos g j (x) = max i g i (x), niin x ω j Erotinfunktio voi olla vaikkapa datasta estimoitu tiheysfunktio p j (x θ) Yhteys hahmoalueisiin on silloin se, että R j = {x g j (x) = max i g i (x)} Luokkaraja luokkien i ja j välillä on {x g i (x) = g j (x)}, siis niiden pisteiden joukko joissa erotinfunktiot saavat saman arvon. Se on pinta, jonka dimensio on d Esimerkki: Ylläolevassa esimerkkikuvassa siis (esimerkiksi) g 3 (x ) > g (x ) > g (x ). Koska hahmoavaruus d = (alueita), niin luokkarajat ovat käyriä Hahmoalueet, erotinfunktio Luokitteluvirheen minimointi Oleellista on löytää sellaiset hahmoalueet tai ekvivalentisti erotinfunktiot, että kun yo. sääntöä käytetään, luokitteluvirhe minimoituu Luokittelu on ohjattua oppimista ( supervised learning ). On käytettävissä joukko hahmovektoreita x, joiden oikea luokka ω tiedetään. Usein luokkatieto on kallista esimerkiksi asiantuntijan käsin luokittelemaan aineistoa Tunnettu joukko jaetaan tarvittaessa erillisiksi opetusjoukoksi ja testijoukoksi Hahmoalueet tai erotinfunktiot muodostetaan opetusjoukon avulla / 54 / 54 Hahmoalueet, erotinfunktio () Luokitteluvirheen minimointi Testijoukkoa voidaan käyttää luokitteluvirheen laskemiseen: annetaan testijoukko ilman luokkatietoa luokittimille, ja lasketaan kuinka usein luokitin päätyi väärään lopputulokseen Esimerkki Koska opetusjoukko on äärellinen, ei yleensä voida muodostaa virheetöntä luokitinta, eli kun uusia hahmovektoreita luokitellaan, menee luokka joskus väärin Lähimmän naapurin luokitin (knn) Idea on hyvin yksinkertainen: olkoon uusi luokiteltava vektori x R d, jolle pitäisi siis löytää oikea luokka ω Käytettävissä opetusjoukko (x, ω) j eli tunnetaan valmiiksi luokiteltua (M luokkaa) dataa x ωi (j) R d : {x ω (),..., x ω (n )},..., {x ωm (),..., x ωm (n M )}. Lasketaan etäisyydet pisteen x ja opetusjoukon pisteiden välillä (n = n +... + n M ) ja etsitään ne k vektoria, jotka ovat lähinnä x:ää (k lähintä naapuria) Usein etäisyysmittana käytetään euklidista etäisyyttä D(x, z) = x z = d (x i z i ) i= / 54 / 54

Lähimmän naapurin luokitin (knn) () Lähimmän naapurin luokitin (knn) (3) 5 4 3 3 4 Opetusaineisto, luokiteltavat pisteet ja etaisyydet pisteesta C() max dist = 7.43 min dist =.754 5 3 4 5 6 7 8 3 4 luokka/class A luokka/class B Kuva: Euklidinen etäisyys lähimpään naapuriin.75. Neliöjuurta ei käytännössä tarvitse ottaa, koska se ei vaikuta kun vertaillaan etäisyyksiä keskenään Luokitellaan x siihen luokkaan, mihin enemmistö naapureista kuuluu. Tasapelin sattuessa heitetään lanttia. 3.5 3.5.5.5.5 k = 3 3.5 3.5.5.5.5 k = 3 3 Kuva: Luokiteltava piste vinoneliö. Opetusaineistossa M = luokkaa (punaiset pallot {x pallo (),..., x pallo (8)} ja vihreät neliöt {x nelio (),..., x nelio (7)}). Vas. k =, vinoneliö luokitellaan punaiseksi palloksi. Kesk. k =, tasapeli, arvotaan. Oik. k = 3, kaksi neliötä, yksi pallo, vinoneliö luokitellaan vihreäksi neliöksi. 3.5 3.5.5.5.5 k = 3 3 / 54 4 / 54 Lähimmän naapurin luokitin (knn) (4) Bayes-optimaalinen luokitin Usein luokittelussa kaksi luokkaa M =. Tällöin k kannattaa valita parittomaksi (k =, 3, 5,...) Menetelmä on idealtaan yksinkertainen ja myös varsin tehokas Jos opetusjoukko on suuri ja dimensio d korkea, on lähimpien naapureiden haku raskas operaatio (sama ongelma kuin tietokannoissa); tähän on kehitetty monenlaisia menetelmiä, esim. hakupuita. Huomaa siis, että tietokone ei näe, mitkä ovat lähimmän naapurit vaan se joutuu laskemaan kaikki etäisyydet (ainakin ensimmäisellä kerralla) Luokitinta voi kokeilla Web-demoilla, esim. www.cs.cmu.edu/~zhuxj/courseproject/knndemo/knn.html Tämä perustuu taas Bayesin kaavaan ja filosofiaan Koska kyseessä on luokittelu, on tärkein muuttuja luokan ω i todennäköisyys, sekä ennen havaintojen saamista että sen jälkeen. Merkitään luokkien prioritodennäköisyyksiä P(ω ),..., P(ω M ) ja posterioritodennäköisyyksiä sitten kun on tehty havainto, siis hahmovektori x on käytettävissä, P(ω x),..., P(ω M x) Esim. postinumeroiden luokittelussa priori vastaa kysymykseen kuinka todennäköinen postinumeroissa on numero kolmonen ; tämän voi laskea postin tilastoista Posteriori vastaa kysymykseen kuinka todennäköisesti juuri tämä annettu numero on kolmonen 5 / 54 6 / 54

Bayes-optimaalinen luokitin () Bayesin kaavan mukaan näiden välinen yhteys on seuraava: P(ω i x) = p(x ω i)p(ω i ) p(x) Siellä olevien kahden uuden jakauman tulkinta: p(x) on kaikkien hahmovektoreiden yhteinen tiheysfunktio, p(x ω i ) on luokkaan ω i kuuluvien hahmovektoreiden tiheysfunktio, ns. luokkatiheysfunktio luokalle ω i Käytännössä luokkatiheysfunktiot voidaan estimoida opetusnäytteestä esim. olettamalla ne gaussisiksi ja laskemalla (suurimman uskottavuuden estimoinnilla) kullekin luokalle keskiarvovektori m i (i viittaa luokkaan) ja kovarianssimatriisi C i juuri siitä luokasta peräisin olevien opetusnäytteen vektorien perusteella Bayes-optimaalinen luokitin (3) Prioritodennäköisyydet estimoidaan tapauskohtaisesti (vrt. postinumerot) Järkevimmältä tuntuu MAP (maksimi-posteriori)-luokitus: erotinfunktiona käytetään posterioritodennäköisyyttä, eli luokittelusääntö: jos P(ω j x) = max i P(ω i x), niin x ω j Valitaan siis todennäköisin luokka. Bayesin kaavasta: jos p(x ω j )P(ω j ) = max i p(x ω i )P(ω i ), niin x ω j koska termi p(x) on kaikille sama ja voidaan tiputtaa pois vertailussa Jos prioritodennäköisyydet ovat samat, tulee vain jos p(x ω j ) = max i p(x ω i ), niin x ω j Erotinfunktiona voidaan myös käyttää edellisten logaritmia, joka on usein laskennallisesti helpompi. 7 / 54 8 / 54 Bayes-optimaalinen luokitin (4) Bayes-optimaalinen luokitin (5) Ero pelkkään suurimman uskottavuuden menetelmän (ML) antamaan luokkatiheysfunktioon p(x ω j ) on siis luokan prioritiedon hyväksikäyttö Kuvallinen esimerkki luokan priorin vaikutuksesta, kun mitattu 5 miehen pituus (sininen pallo) ja naisen pituus (punainen neliö), ja luokiteltavana uusi havainto x new = 7. A (5) B () 5 6 7 8 i p(x ω ) p(x ω ) A p(x ω B ) p(x ω )=p(x ω ) A B x B new 5 6 7 8 i i i p(x,ω ) = p(x ω ) p(ω ) p(x ω ) P(ω ) A A p(x ω ) P(ω ) B B p(x A)P(A)=p(x B)P(B) P(ω A ) = 5/34 P(ω ) = /34 B x A new 5 6 7 8 Kuva: (a) Opetusdata luokista A ja B sekä niistä estimoidut gaussiset todennäköisyysjakaumat p(x ω i ). (b) ML-luokittelu käyttäen p(x ω i ), jolloin x new = 7 luokittuu B:ksi. (c) Bayes-optimaalinen luokitin p(x ω i ) P(ω i ), jossa luokkatodennäköisyydet P(ω A ) = 5/34 ja P(ω B ) = /34. Nyt x new = 7 luokittuu A:ksi. Huomaa siis, että luokkaraja muuttuu. / 54 / 54

Bayes-luokitin normaalijakautuneelle datalle Millaiseksi sääntö muodostuu jos p(x ω j ):t ovat normaalijakautuneita? Muistetaan moniulotteisen normaalijakauman tiheysfunktio (Luku 5): ( p(x ω j ) = K j exp ) (x m j) T C j (x m j ) () missä m j = (µ j,..., µ dj ) T on keskiarvovektori (jakauman keskipiste, huippukohta) ja K j on normalisoiva termi K j = (π) n/ det(c j ) / Nähdään että jos kovarianssimatriisit ovat samat (tai oletetaan samoiksi), kaikki termit K j ovat samat ja voidaan tiputtaa vertailussa pois. Bayes-luokitin normaalijakautuneelle datalle () Millaiseksi sääntö muodostuu jos p(x ω j ):t ovat normaalijakautuneita? On sama verrataanko funktioiden p(x ω j ) vai niiden logaritmien arvoja (logaritmi on monotonisesti kasvava funktio) Luokittelu siis (olettaen myös luokkien priorit samoiksi): jos [ (x m j ) T C (x m j )] = max i [ (x m i ) T C (x m i )], niin x ω j Jos prioritodennäköisyydet eivät ole samat, tulevat niiden logaritmit myös mukaan Esimerkki: Katsotaan yksinkertaisuuden vuoksi luokan tapausta: Kun kehitetään auki neliömuodot ja taas tiputetaan yhteiset osat pois, jäljelle jää yksinkertainen sääntö: jos (m m ) T C x > m T C m m T C m niin x ω, muuten x ω. / 54 / 54 Bayes-luokitin normaalijakautuneelle datalle (3) Millaiseksi sääntö muodostuu jos p(x ω j ):t ovat normaalijakautuneita? Huomaa että vasen puoli on x:n lineaarinen funktio, päätöspinta luokkien ω ja ω välillä on hypertaso. Esimerkki D:ssä: σ A = σ B P(ω A ) = P(ω B ) p(x,ω i ) = p(x ω i ) p(ω i ) p(x ω A ) p(x ω B ) p(x ω A )=p(x ω B ) 5 6 7 8 Kuva: D-tapaus kahden luokan luokkatiheysfunktioista samalla keskihajonnalla σ = σ = σ ilman luokan prioria. Luokkarajaksi tulee symmetriasyistä hypertaso. Bayes-luokitin binääridatalle Millainen sääntö binääridatalle? Ajatellaan seuraavaa tapausta: joukolle ihmisiä kohdistetaan mielipidekysely, joissa d kysymystä, ja kuhunkin pitää vastata samaa mieltä tai eri mieltä. Koodataan yhden ihmisen vastaukset vektoriksi x = (x,..., x d ) T missä x i = jos samaa mieltä kysymyksen i kanssa, x i = jos eri mieltä. Kyselyn tekijä haluaa jakaa ihmiset kahteen luokkaan sillä perusteella, miten todennäköisesti on vastattu samaa mieltä. Käytetään Bernoulli-jakaumaa P(X = x i ) = p x i ( p) x i parametrilla p Olkoot x i :t riippumattomia toisistaan ja P(x i = ω ) = p, P(x i = ω ) = q, p > q. 3 / 54 4 / 54

Bayes-luokitin binääridatalle () Millainen sääntö binääridatalle? Oletetaan että etukäteisarviot luokkien suhteellisista suuruuksista (prioritodennäköisyydet) ovat P(ω ), P(ω ). Mikä on Bayesin luokitin? Muodostetaan ensin luokkatiheysjakaumat p(x ω ), p(x ω ). Mikä on esim. vektorin x = () todennäköisyys luokassa ω? Se on ppp( p)( p)p( p)p (kysymysten riippumattomuus: p(x,..., x d ω ) = p(x ω )... p(x d ω )) Huomaa että tämä voidaan kirjoittaa muotoon Π 8 i= px i ( p) x i Bayes-luokitin binääridatalle (3) Millainen sääntö binääridatalle? Tämä on siis p(x ω ). Luokalle ω vastaavasti mutta p:n tilalla q. Erotinfunktio g (x ω ) = p(x ω ) P(ω ) luokalle ω, kun siitä otetaan logaritmi: ln g (x ω ) = lnp(x ω ) + lnp(ω ) d = [x i lnp + ( x i )ln( p)] + lnp(ω ) = i= d i= = ln p p [x i ln p p + ln( p)] + lnp(ω ) d x i + dln( p) + lnp(ω ). i= 5 / 54 6 / 54 Bayes-luokitin binääridatalle (4) Millainen sääntö binääridatalle? Tästä on helppo muodostaa päätössääntö, kun prioritodennäköisyydet sekä p, q on annettu. Esim. jos priorit ovat samat, ne voi tiputtaa vertailussa pois; jos vaikkapa p =.8, q =.5 tulee vertailusäännöksi g (x ω ) > g (x ω ) x i >.66d i Tämän voi tulkita niin että kuulut luokkaan yksi, jos vastasit samaa mieltä vähintään 66. prosenttiin kysymyksistä. 7 / 54 Ryhmittelyanalyysi Edellä on oletettu, että on olemassa luokiteltu opetusnäyte eli joukko luokaltaan tunnettuja vektoreita, joiden avulla luokitin (esim. lähimmän naapurin luokitin tai Bayes-luokitin) voidaan rakentaa. Monessa ongelmassa näin ei kuitenkaan ole: vektoreiden luokitteleminen käsin voi olla vaikeaa tai kallista. Esim. satelliittikuvien analyysissä on kuva-aineistoa käytettävissä valtavia määriä, mutta se ei ole luokiteltua. Silloin usein turvaudutaan ryhmittelyanalyysiin jolla pyritään löytämään samankaltaisten vektorien joukkoja tai ryppäitä aineistosta. Joukot vastaavat usein joitakin mielekkäitä luokkia, ja koska joukkoja on paljon vähemmän kuin vektoreita, niiden luokittelu on helpompaa. 8 / 54

Ryhmittelyanalyysi () Esimerkki: D-datavektorit x(),..., x(8) ryhmitellään kolmeen joukkoon. Soikiot on piirretty lopuksi visualisoimaan, mitkä datapisteet (indeksinumerot) kuuluvat mihinkin joukkoon Ryhmittelyanalyysi (3) Jokaisen joukon sisällä vektorit ovat samankaltaisia toistensa kanssa, kun ne taas poikkeavat toisten joukkojen vektoreista paljon Esimerkki tulkinnallisesta tilanteesta : mikä olisi sopiva ryhmittelyn tulos? Ryhma A 8 7 Ryhma B 6 5 4 Ryhma C 3 3 4 5 6 Kuva: Datan ryhmittely kolmeen joukkoon. Kuva: Miten ryhmittelisit tämän datan? / 54 3 / 54 Ryhmittelyanalyysi (4) Kurssilla esitetään kaksi tunnettua ryhmittelyalgoritmia: hierarkkinen ja (dynaaminen) c-means-ryhmittely Eri ryhmittelyalgoritmit voivat tuottaa hyvin erilaisen lopputuloksen samalle aineistolle Ryhmittelyanalyysi Matemaattisia huomioita Meillä on taas n vektoria x(),..., x(n) joiden dimensio on d (datamatriisin sarakkeet). Niillä ei ole nyt mitään luokkanimikkeitä Tehtävänä on löytää c ryhmää (joukkoa, rypästä, klusteria) C,..., C c siten että niiden keskinäiset leikkaukset ovat tyhjät ja unioni on koko vektorijoukko Tyypillisesti siis tietty ryhmä C i on joukko vektorien indeksejä Esim. jos n = 5 ja c = 5 (hyvin pieni ryhmittelyongelma), on erilaisten ryhmitysten lukumäärä.436.684.74..75. Ongelma on siis kombinatorisesti hyvin vaikea Ryhmittelyanalyysi on ohjaamatonta luokittelua, koska ei ole opettajaa joka kertoisi oikeat luokat. 3 / 54 3 / 54

Ryhmittelyanalyysi Sovelluksia Hierarkkinen ryhmittely Algoritmi Sovelluksia: Taksonomia biologiassa: mitä ovat eläin- ja kasvilajit Lääketiede, biologia (potilasaineistot, geenipankit) Yhteiskuntatieteet (kansanluokat, nelikentät) Kuva-analyysi (satelliittikuvat, visuaalinen laadunvalvonta) jne. Idea on hyvin yksinkertainen: aluksi kukin vektori muodostaa oman ryhmänsä. Niitä on siis n kpl Sitten yhdistetään ne ryhmät jotka ovat lähinnä toisiaan Tätä jatketaan kunnes kaikki vektorit ovat samassa ryhmässä. Ryhmittely voidaan esittää hierarkkisena ryhmittelypuuna Puun voi katkaista sopivalta tasolta jos esim. tiedetään montako ryhmää halutaan, tai jossakin vaiheessa lähimpien ryhmien etäisyys kasvaa isoksi (jolloin niiden yhdistäminen ei enää tunnu järkevältä). 33 / 54 34 / 54 Hierarkkinen ryhmittely () Algoritmi Hierarkkinen ryhmittely Ryhmien yhdistäminen Kuva: Hierarkkinen ryhmittely käyttäen lyhintä etäisyyttä. Alussa neljä datapistettä on neljässä ryhmässä. Yhdistetään kaksi lähintä ryhmää etäisyydellä/kustannuksella 6. Piirretään ryhmittelypuuta. Jatketaan kunnes kaikki pisteet yhdessä ryhmässä. Edellisessä esimerkissä ryhmittelypuussa oli hyppy yhden ja kahden klusterin välissä: kaksi klusteria olisi luonnollinen valinta Oleellinen kysymys silloin on: mikä on kahden ryhmän C i, C j välinen etäisyys? Kolme suosituinta mahdollisuutta Lyhin ( single ) etäisyys vektorien x C i ja y C j välillä Pisin ( complete ) etäisyys vektorien x C i ja y C j välillä. 3 Ryhmien keskipistevektorien ( average ) välinen etäisyys Kuva: Ryhmien välisen etäisyyden määräytyminen: single, complete, average 35 / 54 36 / 54

Hierarkkinen ryhmittely () Ryhmien yhdistäminen Jokaisella on tietty vaikutus ratkaisuna tulevien ryhmien muotoon. Lyhin etäisyys suosii pitkulaisia ryhmiä, pisin etäisyys taas pallomaisia ryhmiä, keskipisteiden etäisyys on näiden väliltä Esimerkki etäisyysmitan vaikutuksesta Huomaa että kahdessa jälkimmäisessä tavassa ryhmittely voidaan tehdä jopa tuntematta vektoreita x(i), kunhan tiedetään kaikki niiden väliset etäisyydet d[x(i), x(j)] (vierekkäisyysmatriisi). Siten menetelmät sopivat myös muunlaiselle tiedon esitykselle kuin vektoreille (merkkijonot, puut, graafit,...), kunhan etäisyydet voidaan laskea. Kuitenkin ryhmien keskipistevektoreita käyttävä menetelmä edellyttää että keskipiste on laskettavissa, ja tällöin vektorit x(i) on tunnettava. Dynaaminen ryhmittely Tämä on eräs klassisimpia ohjaamattomia koneoppimismenetelmiä Nyt täytyy tietää (arvata, kokeilla) ryhmien lukumäärä c Kutakin ryhmää C i edustaa laskennallinen keskipistevektori m i Ryhmä C i määritellään joukkona C i = {x x m i x m j, j i} eli niiden vektoreiden joukko jotka ovat lähempänä C i :n omaa keskipistettä kuin mitään muuta keskipistettä. 37 / 54 38 / 54 Dynaaminen ryhmittely () Dynaaminen ryhmittely (3) Järkevä ryhmittelykriteeri on nyt: minimoi J = c i= x C i x m i = c i= Osasumma J i mittaa ryhmän C i sisäistä varianssia eli kuinka lähellä keskipistettä vektorit x ovat. Ongelma: kuinka J minimoidaan? Huomaa että J on siis ryhmittelyn funktio: pisteet x eivät liiku minnekään, niitä vain allokoidaan eri ryhmiin niin että kriteeri minimoituu. Kun yksikin piste siirtyy ryhmästä toiseen, kriteerin J arvo muuttuu. Kombinatorinen ratkaisu (kokeillaan kaikki mahdolliset ryhmittelyt ja valitaan se jossa J on pienin) ei ole laskennallisesti mahdollinen J i 3 / 54 Mitä siis voidaan tehdä? 4 / 54

c-means ryhmittelyalgoritmi (k-means, KM) Tunnetuin dynaaminen ryhmittelymenetelmä on ns. c-means -algoritmi (eli c:n keskipisteen algoritmi; vaihtoehtoinen nimi k-means, KM): Valitse satunnaisesti c pistettä joukosta x(),..., x(n) pisteiksi m,..., m c ; Toista kunnes pisteet m,..., m c eivät muutu Sijoita kukin piste x(),..., x(n) siihen ryhmään C i jonka keskipiste m i on lähinnä; Laske uudet keskipisteet kaavalla m i = n i x C i x c-means ryhmittelyalgoritmi (k-means, KM) () Algoritmi kuvallisesti: Kuva: Valittu c =, keskiarvopisteet m i (neliö) valittu pisteiden joukosta satunnaisesti. Algoritmissa vuoroin () sijoitetaan pisteet (pallo) siihen ryhmään, jonka keskiarvovektori (neliö) on lähinnä, ja () lasketaan uusi keskiarvopiste m i (katkoviivaneliö neliö). Kun muutoksia ryhmiin ei tule, suoritus päättyy. missä n i on C i :n pisteiden lukumäärä. 4 / 54 4 / 54 c-means ryhmittelyalgoritmi (k-means, KM) (3) Koska aloituspisteet arvotaan, voi eri ajokerroilla tulla erilaisia tuloksia.5.5.5 4 3 5 67 7 3 4 5 4 3 8 Klusteri # Klusteri # 3 3 Klusteri #3 33 34.5.5 3.5.5 6 8 5 6 87.5.5.5 4 3 5 67 7 3 4 5 4 3 8 Klusteri # Klusteri # 3 3 Klusteri #3 33 34.5.5 3.5.5 6 8 5 6 87.5.5.5 4 3 5 67 7 3 4 5 4 3 8 Klusteri # Klusteri # 3 3 Klusteri #3 33 34.5.5 3.5.5 Kuva: Valittu c = 3, keskiarvopisteet m i neliöinä. Kolme eri ajoa eri alkupisteillä. Algoritmiin löytyy demoja, esim. http://home.dei.polimi.it/matteucc/clustering/tutorial_html/appletkm.html 6 8 5 6 87 c-means ryhmittelyalgoritmi (k-means, KM) Mitä algoritmissa tapahtuu? Ajatellaan kriteeriä J = c i= x C i x m i = ja katsotaan mitä tapahtuu jos siirrämme yhden vektorin x ryhmästä i ryhmään k c i= Ainoastaan kaksi osasummista muuttuu: J i ja J k, koska kaikki muut ryhmät säilyvät ennallaan Niiden uudet arvot ovat Ji uusi = J i x m i () Jk uusi = J k + x m k. (3) J i 43 / 54 44 / 54

c-means ryhmittelyalgoritmi (k-means, KM) () Mitä algoritmissa tapahtuu? c-means ryhmittelyalgoritmi (k-means, KM) (3) Mitä algoritmissa tapahtuu? Koko kriteeri J pienenee jos J uusi i + J uusi k joka tapahtuu jos ja vain jos < J i + J k x m k < x m i. Siis aina kun jokin vektori siirtyy ryhmään jonka keskipiste on lähempänä kuin vanhan ryhmän keskipiste, kriteeri J pienenee Mutta juuri näinhän c-means-algoritmissa tapahtuu. Siis kriteeri J pienenee aina kun ryhmittely muuttuu (Lisäksi pitää todistaa että myös algoritmin. vaihe eli keskipisteiden päivitys pienentää kriteeriä: harjoitustehtäväksi.) Koska J on positiivinen, se ei voi pienentyä ikuisesti vaan sen on supettava johonkin arvoon. Algoritmi ei takaa että löytyisi kaikkein paras ryhmittely, jossa J:llä on kaikkein pienin arvonsa, vaan algoritmi suppenee paikalliseen minimiin Silti se on käytännössä hyvä ja suosittu menetelmä. 45 / 54 46 / 54 c-means ryhmittelyalgoritmi (k-means, KM) Yhteys koodausteoriaan c-means ryhmittelyalgoritmi (k-means, KM) () Yhteys koodausteoriaan c-means-algoritmilla on yhteys koodausteoriaan: ryhmäkeskipisteet m i voidaan ajatella koodeiksi eli kompressoiduksi esitykseksi kaikista ryhmän C i vektoreista Jos sekä lähettäjällä että vastaanottajalla on tiedossa koodikirja eli vektoreiden m i arvot, voi vektoreiden x koodauksen - dekoodauksen hoitaa seuraavasti: Lähettäjä etsii vektoria x lähimmän koodivektorin m i ja lähettää vain sen indeksin i (koodaus) Vastaanottaja etsii indeksiä i vastaavan koodivektorin m i ja käyttää sitä x:n tilalla (dekoodaus) Jos vektorit x ovat isoja, on bittien säästö hyvin merkittävää Haittapuolena on se että dekoodauksessa syntyy virhe x m i Virhe on sitä pienempi mitä pienempi on kriteeri J ja mitä enemmän koodivektoreita käytetään. 47 / 54 48 / 54

Yhteenveto Liite: Kuvia esitykseen, luku 6 Esimerkki luokitteluvirheestä Opetusdatasta hahmoalueet knn-luokittimelle, k= Tässä luvussa käsiteltiin luokittelua ja ryhmittelyä. Luokittelussa tunnemme hahmovektorien luokan, minkä avulla luokitin (erotinfunktio, hahmoalue) muodostetaan. Tämän jälkeen luokitin antaa uudelle datapisteelle luokkatiedon. Algoritmeista esiteltiin lähimmän naapurin luokitin (knn) ja Bayes-optimaalinen luokitin jatkuvalle ja binääridatalle. Ryhmittelyssä luokkainformaatiota ei ole. Datasta muodostetaan ryppäitä (klustereita), joissa hahmovektorit ovat keskenään samankaltaisia. Ne voidaan sitten käsitellä luokkina tai niiden koodivektorien avulla voidaan vähentää datan määrää. Luvussa esiteltiin hierarkkinen ryhmittely ja c-means-ryhmittelyalgoritmi. 4 / 54 NN: Opetusdata kahdessa luokassa, oikein ja vaarin luokitetut 6 Luokka + (opetus) Luokka (opetus) Oikein + [3] 4 Oikein [4] Vaarin + [4] Vaarin [6] 4 6 4 4 6 Kuva: knn-luokitin kun k =. Kahden luokan opetusaineiston x ja o sinisellä. Testiaineiston näytettä: vihreä plus luokiteltu rastiksi oikein, vihreä neliö luokiteltu oikein palloksi, punainen tähti on rasti joka luokiteltu virheellisesti palloksi, punainen kolmio on ympyrä joka luokiteltu virheellisesti rastiksi. Luokitteluvirhe (4+6)/ = %. Takaisin kalvoihin 5 / 54 Liite: Kuvia esitykseen, luku 6 Hierarkkinen ryhmittely: etäisyysmitan vaikutus Olkoon käytössä kuvan mukainen data: Liite: Kuvia esitykseen, luku 6 Hierarkkinen ryhmittely: etäisyysmitan vaikutus ().5.5.5 4 3 5 67 8 7 3 3 3 4 5 4 3 33 34.5.5 3.5.5 6 Kuva: Ryhmittelyesimerkin data. 8 5 6 87 Ryhmittelypuu (keskiarvoetaisyys).8.6.4..8.6.4. 45367 3 43 5 6 7 8 8456783333334.5.5.5 Data jaettuna 3 ryhmaan (keskiarvoet.) 6 7 5 4 3 4 3 5 67 3 4 8 Klusteri # Klusteri # 3 3 Klusteri #3 33 34.5.5 3.5.5 8 5 6 87 Tehdään tälle datalle hierarkkinen ryhmittely käyttäen ryhmien välisen etäisyydet mittaamiseen (a) keskiarvomittaa ( average ), (b) pienintä ( single ), (c) suurinta ( complete ) etäisyyttä. Ryhmittelyn jälkeen katkaistaan puu kolmen ryhmän (oksan) kohdalta ja piirretään muodostuneet ryhmät. Kuva: Keskiarvoetäisyys ( average ): Pyöreähköt ryhmät. 5 / 54 5 / 54

Liite: Kuvia esitykseen, luku 6 Hierarkkinen ryhmittely: etäisyysmitan vaikutus (3) Liite: Kuvia esitykseen, luku 6 Hierarkkinen ryhmittely: etäisyysmitan vaikutus (4).45.4.35.3.5..5. Ryhmittelypuu (lyhin etaisyys) 453 7 8 5 6 3 48345678333333467.5.5.5 Data jaettuna 3 ryhmaan (lyhin et.) 6 7 5 4 3 4 3 5 67 3 4 8 Klusteri # Klusteri # 3 3 Klusteri #3 33 34.5.5 3.5.5 Kuva: Lyhin etäisyys ( single ): Pitkulaiset ryhmät. 8 5 6 87 3.5 3.5.5.5 Ryhmittelypuu (pisin etaisyys) 45367 5 6 7 8 8 3 43456783333334.5.5.5 Data jaettuna 3 ryhmaan (pisin et.) 6 7 5 4 3 4 3 5 67 3 4 8 Klusteri # Klusteri # 3 3 Klusteri #3 33 34.5.5 3.5.5 Kuva: Pisin etäisyys ( complete ): Pyöreähköt ryhmät 8 5 6 87 Takaisin kalvoihin 53 / 54 54 / 54