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

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

Luku 6. Hahmontunnistuksen perusteita

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

SGN-2500 Johdatus hahmontunnistukseen 2007 Luennot 4 ja 5

1. TILASTOLLINEN HAHMONTUNNISTUS

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

805306A Johdatus monimuuttujamenetelmiin, 5 op

1. LINEAARISET LUOKITTIMET

805306A Johdatus monimuuttujamenetelmiin, 5 op

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

Lineaariset luokittelumallit: regressio ja erotteluanalyysi

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

Mallipohjainen klusterointi

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

Moniulotteisia todennäköisyysjakaumia

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

1 Rajoittamaton optimointi

4.0.2 Kuinka hyvä ennuste on?

Mat Sovellettu todennäköisyyslasku A

Diskriminanttianalyysi I

Sovellettu todennäköisyyslaskenta B

Kanta ja Kannan-vaihto

Inversio-ongelmien laskennallinen peruskurssi Luento 7

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

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

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

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

Diskreettiaikainen dynaaminen optimointi

Tehtäväsarja I Tehtävät 1-5 perustuvat monisteen kappaleisiin ja tehtävä 6 kappaleeseen 2.8.

T DATASTA TIETOON

Tässä luvussa mietimme, kuinka paljon aineistossa on tarpeellista tietoa Sivuamme kysymyksiä:

Jos nyt on saatu havaintoarvot Ü ½ Ü Ò niin suurimman uskottavuuden

Matematiikan tukikurssi

Suodatus ja näytteistys, kertaus

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

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

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

Ortogonaaliprojektio äärellisulotteiselle aliavaruudelle

Matematiikan tukikurssi

Numeeriset menetelmät

2.5. Matriisin avaruudet ja tunnusluvut

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

Kokonaislukuoptiomointi Leikkaustasomenetelmät

FUNKTIONAALIANALYYSIN PERUSKURSSI Johdanto

Sovellettu todennäköisyyslaskenta B

E. Oja ja H. Mannila Datasta Tietoon: Luku 2

Insinöörimatematiikka D

Sarja. Lukujonosta (a k ) k N voi muodostaa sen osasummien jonon (s n ): s 1 = a 1, s 2 = a 1 + a 2, s 3 = a 1 + a 2 + a 3,...,

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

802320A LINEAARIALGEBRA OSA II

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

(b) Onko hyvä idea laske pinta-alan odotusarvo lähetmällä oletuksesta, että keppi katkeaa katkaisukohdan odotusarvon kohdalla?

riippumattomia ja noudattavat samaa jakaumaa.

805306A Johdatus monimuuttujamenetelmiin, 5 op

Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia: Mitä opimme?

2 exp( 2u), kun u > 0 f U (u) = v = 3 + u 3v + uv = u. f V (v) dv = f U (u) du du f V (v) = f U (u) dv = f U (h(v)) h (v) = f U 1 v (1 v) 2

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

MS-C1340 Lineaarialgebra ja

Tilastollisen analyysin perusteet Luento 1: Lokaatio ja hajonta

Matematiikan tukikurssi

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

Tekoäly ja koneoppiminen metsävaratiedon apuna

Luentorunko perjantaille

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

1 Sisätulo- ja normiavaruudet

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

7.4 Sormenjälkitekniikka

Todennäköisyyslaskenta IIa, syyslokakuu 2019 / Hytönen 2. laskuharjoitus, ratkaisuehdotukset

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

Matematiikan tukikurssi

Insinöörimatematiikka D, laskuharjoituksien esimerkkiratkaisut

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Tehtävänanto oli ratkaista seuraavat määrätyt integraalit: b) 0 e x + 1

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

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

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

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

Algoritmit 2. Luento 9 Ti Timo Männikkö

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

763306A JOHDATUS SUHTEELLISUUSTEORIAAN 2 Ratkaisut 2 Kevät 2017

Luento 8: Epälineaarinen optimointi

Injektio. Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim.

f (28) L(28) = f (27) + f (27)(28 27) = = (28 27) 2 = 1 2 f (x) = x 2

2. Bayesin päätösteoria

1. Tilastollinen malli??

n! k!(n k)! n = Binomikerroin voidaan laskea pelkästään yhteenlaskun avulla käyttäen allaolevia ns. palautuskaavoja.

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

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

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

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

Derivaatta: funktion approksimaatio lineaarikuvauksella.

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

Koska ovat negatiiviset. Keskihajontoja ei pystytä laskemaan mutta pätee ¾.

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

TILASTOLLINEN OPPIMINEN

Lause 4.2. Lineearinen pienimmän keskineliövirheen estimaattoi on lineaarinen projektio.

Transkriptio:

6. HAHMONTUNNISTUKSEN PERUSTEITA 6.1. Johdanto Hahmontunnistus on tieteenala, jossa luokitellaan joitakin kohteita niistä tehtyjen havaintojen perusteella luokkiin Esimerkki: käsinkirjoitettujen numeroiden, vaikkapa kirjeiden osoitteissa olevien postinumeroiden (02015 TKK) automaattinen tunnistus kirjeiden luokittelua varten Keskeiset ongelmat ovat havaintojen teko, niiden pelkistys ja esikäsittely, muuntaminen sopivimmaksi kuvaukseksi eli ns. piirreirrotus, sekä piirrevektorien perusteella tapahtuva luokittelu. Esim. 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 TKK, Informaatiotekniikan laboratorio 1

luokittelu on mahdollisimman tehokasta 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ääketieteelisten aineistojen seulonta, esim. irtosolunäytteet Laadunvalvonta, pullonpalautusautomaatit Dokumenttien automaattinen luku ja käsittely (shekit, lomakkeet,...) Auton rekisterinumeron tunnistus.. ja paljon muuta, Kyseessä on selkeä kasvuala. TKK, Informaatiotekniikan laboratorio 2

6.2. Hahmoalueet, erotinfunktio 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 1,..., 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: 1. Mitkä hahmot ovat keskenään samanlaisia? 2. Minkälaisia ryhmiä hahmot muodostavat? Vastauksia näihin etsitään geometriasta, ajattelemalla siis hahmot pisteinä d-ulotteisessa avaruudessa ja katsomalla niiden välisiä vektorietäisyyksiä. TKK, Informaatiotekniikan laboratorio 3

Myös todennäköisyyslaskennalla on tärkeä rooli kuten nähdään. Merkitään nyt luokkia merkinnällä ω 1,..., ω M (omega), siis niitä on M kappaletta (käsinkirjoitetut numerot: M = 10) Geometrisesti ajatellaan että koko d-ulotteinen vektoriavaruus jakaantuu M:ään alueeseen, ns, hahmoalueeseen R 1,..., 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. Alueet ovat mielivaltaisen muotoisia, ja voi olla vaikeaa laskennallisesti päätellä mihin alueeseen x kuuluu Siksi usein käytetään erotinfunktioita g 1 (x),..., g M (x) joiden avulla luokittelusääntö on seuraava: jos g j (x) = max i g i (x), niin x ω j TKK, Informaatiotekniikan laboratorio 4

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 1. Oleellista on löytää sellaiset hahmoalueet tai ekvivalentisti erotinfunktiot, että kun yo. sääntöä käytetään, luokitteluvirhe minimoituu Erotinfunktiot muodostetaan opetusjoukon avulla: se on joukko hahmovektoreita x joiden oikea luokka tiedetään Koska opetusjoukko on äärellinen, ei yleensä voida muodostaa virheetöntä luokitinta, eli kun uusia hahmovektoreita luokitellaan, menee luokka joskus väärin. TKK, Informaatiotekniikan laboratorio 5

6.3. Lähimmän naapurin luokitin Idea on hyvin yksinkertainen: olkoon uusi luokiteltava vektori x Etsi opetusjoukosta ne k vektoria, jotka ovat lähinnä x:ää (lähimmät naapurit) Usein etäisyysmittana käytetään euklidista etäisyyttä D(x,z) = x z = d (x i z i ) 2 (neliöjuurta ei käytännössä tarvitse ottaa, koska se ei vaikuta kun vertaillaan etäisyyksiä keskenään) Luokittele x siihen luokkaan, mihin enemmistö naapureista kuuluu. Siksi k kannattaa valita parittomaksi (k = 1, 3, 5,...). Tasapelin sattuessa heitä lanttia. i=1 TKK, Informaatiotekniikan laboratorio 6

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. Luokitinta voi kokeilla Web-demoilla, esim. http: //www.cs.cmu.edu/ zhuxj/courseproject/knndemo/knn.html TKK, Informaatiotekniikan laboratorio 7

6.4. Bayes-optimaalinen luokitin 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(ω 1 ),..., P(ω M ) ja posterioritodennäköisyyksiä sitten kun on tehty havainto, siis hahmovektori x on käytettävissä, P(ω 1 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 TKK, Informaatiotekniikan laboratorio 8

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ätteestä 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 Prioritodennäköisyydet estimoidaan tapauskohtaisesti (vrt. postinumerot) TKK, Informaatiotekniikan laboratorio 9

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 (kuva) Erotinfunktiona voidaan myös käyttää edellisten logaritmia, joka on usein laskennallisesti helpompi. TKK, Informaatiotekniikan laboratorio 10

Millaiseksi sääntö muodostuu jos p(x ω j ):t ovat normaalijakautuneita? Muistetaan: p(x ω j ) = K j exp ( 1 ) 2 (x m j) T C 1 j (x m j ) (1) missä m j = (µ 1j...µ dj ) T on keskiarvovektori (jakauman keskipiste, huippukohta) ja K j on normalisoiva termi K j = 1 (2π) n/2 det(c j ) 1/2 Nähdään että jos kovarianssimatriisit ovat samat (tai oletetaan samoiksi), kaikki termit K j ovat samat ja voidaan tiputtaa vertailussa pois. On sama verrataanko funktioiden p(x ω j ) vai niiden logaritmien arvoja (logaritmi on monotonisesti kasvava funktio) TKK, Informaatiotekniikan laboratorio 11

Luokittelu siis: jos [ (x m j ) T C 1 (x m j )] = max i [ (x m i ) T C 1 (x m i )], niin x ω j Katsotaan yksinkertaisuuden vuoksi 2 luokan tapausta Kun kehitetään auki neliömuodot ja taas tiputetaan yhteiset osat pois, jäljelle jää yksinkertainen sääntö: jos (m 1 m 2 ) T C 1 x > m T 2 C 1 m 2 m T 1 C 1 m 1 niin x ω 1, muuten x ω 2. Huomaa että vasen puoli on x:n lineaarinen funktio, päätöspinta luokkien ω 1 ja ω 2 välillä on hypertaso. TKK, Informaatiotekniikan laboratorio 12

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 1,..., x d ) T missä x i = 1 jos samaa mieltä kysymyksen i kanssa, x i = 0 jos eri mieltä. Kyselyn tekijä haluaa jakaa ihmiset kahteen luokkaan sillä perusteella, miten todennäköisesti on vastattu samaa mieltä. Olkoot x i :t riippumattomia toisistaan ja P(x i = 1 ω 1 ) = p, P(x i = 1 ω 2 ) = q, p > q. Oletetaan että etukäteisarviot luokkien suhteellisista suuruuksista (prioritodennäköisyydet) ovat P(ω 1 ), P(ω 2 ). Mikä on Bayesin luokitin? TKK, Informaatiotekniikan laboratorio 13

Muodostetaan ensin luokkatiheysjakaumat p(x ω 1 ), p(x ω 2 ). Mikä on esim. vektorin x = (11100101) todennäköisyys luokassa ω 1? Se on ppp(1 p)(1 p)p(1 p)p. Huomaa että tämä voidaan kirjoittaa muotoon Π 8 i=1 px i (1 p) 1 x i Tämä on siis p(x ω 1 ). Luokalle ω 2 vastaavasti mutta p:n tilalla q. Erotinfunktio luokalle ω 1 : lnp(x ω 1 ) + lnp(ω 1 ) = = d [x i lnp + (1 x i )ln(1 p)] + lnp(ω 1 ) i=1 d i=1 = ln p 1 p [x i ln p 1 p + ln(1 p)] + lnp(ω 1) d x i + dln(1 p) + lnp(ω 1 ). i=1 TKK, Informaatiotekniikan laboratorio 14

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 = 0.8, q = 0.5 tulee vertailusäännöksi xi > 0.661d. Tämän voi tulkita niin että kuulut luokkaan yksi jos vastasit samaa mieltä vähintään 66.1 prosenttiin kysymyksistä. TKK, Informaatiotekniikan laboratorio 15

6.5. 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 Nämä vastaavat usein joitakin mielekkäitä luokkia, ja koska joukkoja on paljon vähemmän kuin vektoreita, niiden luokittelu on helpompaa (Kuva). TKK, Informaatiotekniikan laboratorio 16

Matemaattisesti: meillä on taas n vektoria x 1,...,x n joiden dimensio on d (datamatriisin sarakkeet). Niillä ei ole nyt mitään luokkanimikkeitä. Tehtävänä on löytää c ryhmää (rypästä, klusteria) C 1,..., 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 = 25 ja c = 5 (hyvin pieni ryhmittelyongelma), on erilaisten ryhmitysten lukumäärä 2.436.684.974.220.751. Ongelma on siis kombinatorisesti hyvin vaikea. Ryhmittelyanalyysi on ohjaamatonta luokittelua koska ei ole opettajaa joka kertoisi oikeat luokat. TKK, Informaatiotekniikan laboratorio 17

Sovelluksia: taksonomia biologiassa: mitä ovat eläin- ja kasvilajit lääketiede, biologia (potilasaineistot, geenipankit) Yhteiskuntatieteet (kansanluokat, nelikentät) Kuva-analyysi (satelliittikuvat, visuaalinen laadunvalvonta) jne. TKK, Informaatiotekniikan laboratorio 18

Hierarkinen ryhmittely 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ää hierarkisena ryhmittelypuuna (Kuva) 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ä). Oleellinen kysymys silloin on: mikä on kahden ryhmän C i, C j välinen etäisyys? Kolme suosituinta mahdollisuutta: 1. Ryhmien keskipistevektorien välinen etäisyys TKK, Informaatiotekniikan laboratorio 19

2. Lyhin etäisyys vektorien x C i ja y C j välillä 3. Pisin etäisyys vektorien x C i ja y C j välillä. 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ä 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. TKK, Informaatiotekniikan laboratorio 20

Dynaaminen ryhmittely Tämä on eräs klassisimpia ohjaamattomia koneoppimismenetelmiä Nyt täytyy tietää ryhmien lukumäärä c Kutakin ryhmää C i edustaa 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ä. Järkevä ryhmittelykriteeri on nyt: minimoi J = c i=1 x C i x m i 2 = c i=1 J i TKK, Informaatiotekniikan laboratorio 21

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 Mitä siis voidaan tehdä? TKK, Informaatiotekniikan laboratorio 22

Tunnetuin menetelmä on ns. c-means -algoritmi (eli c:n keskipisteen algoritmi): 1. Valitse satunnaisesti c pistettä joukosta x 1,...,x n pisteiksi m 1,...,m c ; 2. Toista kunnes pisteet m 1,...,m c eivät muutu Sijoita kukin piste x 1,...,x n siihen ryhmään C i jonka keskipiste m i on lähinnä; Laske uudet keskipisteet kaavalla m i = 1 n i x C i x missä n i on C i :n pisteiden lukumäärä. Algoritmiin löytyy paljon demoja, esim. www.elet.polimi.it/upload/matteucc/clustering/ tutorial-html/appletkm.html TKK, Informaatiotekniikan laboratorio 23

Mitä algoritmissa tapahtuu? Ajatellaan kriteeriä J = c i=1 x C i x m i 2 = c i=1 J i ja katsotaan mitä tapahtuu jos siirrämme yhden vektorin x ryhmästä i ryhmään k Ainoastaan kaksi osasummista muuttuu: J i ja J k, koska kaikki muut ryhmät säilyvät ennallaan Niiden uudet arvot ovat J uusi i = J i x m i 2 (2) J uusi k = J k + x m k 2. (3) TKK, Informaatiotekniikan laboratorio 24

Koko kriteeri J pienenee jos J uusi i + J uusi k < J i + J k joka tapahtuu jos ja vain jos 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 2. 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. TKK, Informaatiotekniikan laboratorio 25

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ä. TKK, Informaatiotekniikan laboratorio 26

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: 1. Lähettäjä etsii vektoria x lähimmän koodivektorin m i ja lähettää vain sen indeksin i (koodaus) 2. 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. TKK, Informaatiotekniikan laboratorio 27