1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

Samankaltaiset tiedostot
1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

Kevät 2003 Luennot: Timo Honkela, Krista Lagus Laskuharjoitukset: Vesa Siivola

1. TILASTOLLINEN HAHMONTUNNISTUS

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

Luentorunko keskiviikolle Hierarkkinen ryvästäminen

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

Hierarkkinen ryvästäminen

Algoritmit 2. Luento 6 Ke Timo Männikkö

Algoritmit 2. Luento 7 Ti Timo Männikkö

Algoritmi on periaatteellisella tasolla seuraava:

Algoritmit 1. Luento 9 Ti Timo Männikkö

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

Klusterointiongelma. Luento 6: Klusterointi. Usein suotavia ominaisuuksia. Usein suotavia ominaisuuksia

10. Painotetut graafit

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

1. JOHDANTO. 1.1 Johdattelevia esimerkkejä. 1. Kuinka monta ihmishahmoa näet kuvassa?

isomeerejä yhteensä yhdeksän kappaletta.

j n j a b a c a d b c c d m j b a c a d a c b d c c j

Silmukkaoptimoinnista

Klusterointi hierarkkisilla ja kombinatorisilla menetelmillä - sovelluksena tilastomenetelmien peruskurssiaineisto

Sovellettu todennäköisyyslaskenta B

Sovellettu todennäköisyyslaskenta B

Mallipohjainen klusterointi

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

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

2. Uskottavuus ja informaatio

DOB valmennus Data-analyysi. Koneoppiminen. CC by

1. LINEAARISET LUOKITTIMET

ABHELSINKI UNIVERSITY OF TECHNOLOGY

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

Hierarkkinen klusterointi

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

MS-C1340 Lineaarialgebra ja

Algoritmit 1. Luento 8 Ke Timo Männikkö

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

Harjoitus 7: NCSS - Tilastollinen analyysi

805306A Johdatus monimuuttujamenetelmiin, 5 op

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

Estimointi. Estimointi. Estimointi: Mitä opimme? 2/4. Estimointi: Mitä opimme? 1/4. Estimointi: Mitä opimme? 3/4. Estimointi: Mitä opimme?

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005

Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa Linkkikeskukset ja auktoriteetit (hubs and authorities) -algoritmi

Johdatus tilastotieteeseen Estimointi. TKK (c) Ilkka Mellin (2005) 1

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Algoritmit 2. Luento 11 Ti Timo Männikkö

MS-C1340 Lineaarialgebra ja

Sovellettu todennäköisyyslaskenta B

1. Tilastollinen malli??

Mat Lineaarinen ohjelmointi

Avainsanojen poimiminen Eeva Ahonen

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

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

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

Luentorunko perjantaille

1 Kannat ja kannanvaihto

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Klusterointi käyttäen EM-algoritmia

MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 8: Newtonin iteraatio. Taso- ja avaruusintegraalit

Identifiointiprosessi

TILASTOLLINEN OPPIMINEN

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

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

Matriisilaskenta Luento 12: Vektoriavaruuden kannan olemassaolo

Jäsenyysverkostot Kytkökset ja limittyneet aliryhmät sosiaalisten verkostojen analyysissä

, 3.7, 3.9. S ysteemianalyysin. Laboratorio Aalto-yliopiston teknillinen korkeakoulu

Kokonaislukuoptimointi

Ilkka Mellin Tilastolliset menetelmät Osa 2: Otokset, otosjakaumat ja estimointi Estimointi

Regressioanalyysi. Vilkkumaa / Kuusinen 1

Lineaarisen kokonaislukuoptimointitehtävän ratkaiseminen

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

pitkittäisaineistoissa

Algoritmit 1. Luento 10 Ke Timo Männikkö

Väliestimointi (jatkoa) Heliövaara 1

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.

Sovellusohjelmointi Matlab-ympäristössä: Vertaisverkon koneiden klusterointi

MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

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

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

klusteroi data haluttuun määrään klustereita tee n-gram -mallit klustereista (tasoitus) estimoi sekoitteiden painokertoimet λ k

Numeeriset menetelmät

Kokonaislukuoptiomointi Leikkaustasomenetelmät

Algoritmit 1. Luento 13 Ti Timo Männikkö

Datanäytteiden piirteiden skaalaus/normalisointi (1)

Algoritmit 2. Luento 13 Ti Timo Männikkö

Todennäköisyyden ominaisuuksia

Inversio-ongelmien laskennallinen peruskurssi Luento 2

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Osa 2: Otokset, otosjakaumat ja estimointi

2.8. Kannanvaihto R n :ssä

Transkriptio:

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI Ohjaamattomassa oppimisessa on tavoitteena muodostaa hahmoista ryhmiä, klustereita, joiden sisällä hahmot ovat jossain mielessä samankaltaisia ja joiden välillä on selkeitä eroja Erilaisia klustereita: 1

Käytettävissä oleville havainnoille ei ole valmiina mitään luokitustietoa ( labeling ). Myös klustereiden lkm voi olla tuntematon Ohjaamattoman oppimisen menetelmiä voidaan myös käyttää ongelmissa, joissa havainnoilla on luokitustieto, mutta halutaan selvittää luokkien sisäinen rakenne Ohjaamattoman oppimisen menetelmät voidaan jakaa lähestymistavoiltaan kahteen luokkaan: Parametriset menetelmät: yritetään yhtäaikaisesti selvittää sekä havaintojen luokittelu että luokkien tnjakaumien parametrit (mikstuurimallit & EM-algoritmi!) Epäparametriset menetelmät: jaetaan havainnot eri luokkia vastaaviksi osajoukoiksi, luokkien tnjakaumia ei estimoida 2

Ensimmäinen lähestymistapa on suoraviivainen laajennus tilastolliselle hahmontunnistukselle; jälkimmäinen lähestymistapa on tilastollisessa mielessä epäoptimaalinen, mutta laskennallisesti yleensä huomattavasti helpommin käsiteltävä Klusterointiongelman ratkaiseminen voidaan jakaa seuraaviin vaiheisiin: 3 Piirteiden valinta (esikäsittely & normalisointi!) Samankaltaisuus/erilaisuusmitan valinta havaintoparien, havaintojen ja klustereiden, sekä klusteriparien välille (piirteiden samanarvoinen kohtelu!) Klusterikriteerin valinta Klusterointialgoritmin valinta Tulosten validointi erilaisten testien avulla Tulosten tulkinta

Huom! Saatu ratkaisu on erittäin subjektiivinen, koska sama havaintojoukko voidaan jakaa hyvin erilaisiin klustereihin riippuen em valinnoista. Yleensä ratkaisun tulkinnan ja sen hyvyyden arvioinnin suorittaa sovellusalan asiantuntija Havaintojen klusterointia voidaan käyttää luokittelun lisäksi seuraaviin tarkoituksiin: Datan tiivistys: havainto esitetään piirrevektorin sijasta klusterin koodinumeron avulla (LVQ!) Havaintoihin liittyvien hypoteesien muodostus (SOM!) ja testaus Havaintoihin perustuva ennustaminen: havainnon puuttuvat tiedot ennustetaan muiden samaan klusteriin kuuluvien havaintojen perusteella 4

Erilaisia klustereiden määrittelytapoja Luonnolliset klusterit ( natural clusters ): piirreavaruuden alueita, joissa havainnot ovat suhteellisen tiheässä ja joiden välissä havainnot ovat suhteellisen harvassa Todennäköisyyksiin perustuvat klusterit: havainto x kuuluu siihen klusteriin C k, jonka a posteriori tn on korkein eli P (C k x) P (C i x) i = 1,..., m Yksikäsitteinen ( hard, crisp ) klusterointi: C i, i = 1,..., m (1) m i=1 C i = X (2) C i C j =, i j, i, j = 1,..., m (3) (C i on i. klusteri, m klustereiden lkm ja X kaikki havainnot) 5

Sumea ( fuzzy ) klusterointi. Havainnon kuulumisasteet eri klustereihin ilmaistaan jäsenyysfunktioiden ( membership functions ) avulla: u j : X [0, 1], j = 1,..., m (4) m u j (x i ) = 1, i = 1,..., N (5) j=1 0 < N u j (x i ) < N, j = 1,..., m (6) i=1 (x i on i. havainto, u j klusteriin C j liittyvä kuuluvuusfunktio, m klustereiden lkm, X kaikki havainnot ja N havaintojen lkm) 6

1.1 Sequential clustering algorithms Havainnot x 1,..., x N käydään läpi yksitellen, mahdollisesti useammin kuin yhden kerran Tuottavat havainnoille yhden klusteroinnin Klustereiden lkm:ää m ei tarvitse tietää etukäteen Havainnon ja klusterin samankaltaisuutta kuvataan funktion d(x, C) avulla Klusteriparin samankaltaisuutta kuvataan funktion d(c i, C j ) avulla 7

Basic Sequential Algorithmic Scheme, BSAS Klusterointialgoritmin, jossa havainnot käsitellään yksitellen, perusversio: Määrätään klustereiden lkm:n yläraja q ja kynnysarvo Θ havainnon ja klusterin samankaltaisuudelle Lähdetään liikkeelle yhdestä klusterista: m 1 = 1, C m1 = {x 1 } Käydään havainnot x i läpi yksitellen i = 2,..., N ja Etsitään klusteri C k, jolle pätee d(x i, C k ) = min 1 j mi 1 d(x i, C j ) Jos d(x i, C k ) > Θ ja m i 1 < q, silloin m i = m i 1 + 1 ja C mi = {x i } Muuten m i = m i 1, C k = C k {x i } ja päivitetään d(x, C k ) Havaintojen läpikäyntijärjestyksellä, funktion d(x, C) ja kynnysparametrin Θ valinnalla on huomattava vaikutus BSAS-tyyppisen klusterointialgoritmin löytämään ratkaisuun 8

Funktion d(x, C) valinta vaikuttaa löydettävien klustereiden rakenteeseen. Jos esim. klusteri C k esitetään yhden vektorin m k avulla ja määritellään d(x, C k ) = d(x, m k ), algoritmilla on taipumus löytää kompakteja klustereita Kynnysparametri Θ vaikuttaa suoraan löydettävien klustereiden lkm:ään Sopiva Θ:n arvo (tai klustereiden lkm) voidaan estimoida seuraavasti: Kokeillaan erilaisia kynnysparametrin arvoja Θ = a, a + c, a + 2c,..., b Suoritetaan klusterointi jokaisella kynnysarvolla N kertaa ja käydään havainnot läpi aina erilaisessa satunnaisessa järjestyksessä Lasketaan jokaiselle kynnysarvolle keskimääräinen klusterien lkm ja piirretään tuloksista kuvaaja m(θ) Kohdat, joissa m(θ) on pitkään vakioarvoinen, ovat hyviä Θ:n arvoja 9

10

BSAS-tyyppisen klusterointialgoritmin varjopuolia: Päätös siitä, mihin klusteriin havainto x i kuuluu, perustuu vain aikaisemmin käsiteltyihin havaintoihin x 1,..., x i 1 eikä koko havaintoaineistoon X Kerran tehtyä päätöstä uudesta klusterista ei voida perua. Siksi lopullisessa klusteroinnissa voi olla joitain hyvin samankaltaisia klustereita, jotka olisi järkevä yhdistää Lopputulos riippuu siitä, missä järjestyksessä havainnot käydään läpi 11

BSAS-tyyppisille klusterointialgoritmille onkin olemassa erilaisia variaatiota, jotka huomioivat paremmin em ongelmat: Muodostetaan havaintojen 1.:llä läpikäyntikierroksella m kpl:tta yhdestä havainnosta koostuvia klustereita. Jaetaan seuraavilla kierroksilla loput havainnot näihin klustereihin Määrätään kynnysarvo klusteriparin väliselle samankaltaisuudelle ja tutkitaan onko ratkaisussa kaksi klusteria, jotka ovat keskenään liian samankaltaiset. Jos on, yhdistetään samankaltaisin pari ja päivitetään klustereiden numerointi ja samankaltaisuusmitat d(c i, C j ). Toistetaan, kunnes kaikki klusterit ovat riittävän erilaisia Tarkistetaan lopuksi, mitkä ovat eri havaintoja parhaiten vastaavat klusterit ja jaetaan havainnot uudestaan näihin parhaisiin klustereihin. Päivitetään havaintojen ja klustereiden samankaltaisuusmitat d(x, C). Toistetaan, kunnes havaintojen jako klustereihin ei enää muutu 12

1.2 Hierarkiset klusterointialgoritmit Hierarkiset klusterointialgoritmit muodostavat havainnoille klusterointiratkaisujen sarjan, joilla on selkeä sisäkkäinen ( nested ) rakenne Algoritmit voidaan jakaa kahteen alaluokkaan: kasaaviin ( agglomerative ) ja pilkkoviin ( divisive ) algoritmeihin Kasaavat algoritmit muodostavat klusterointiratkaisujen sarjan yhdistelemällä klustereita. Algoritmi lähtee liikkeelle tilanteesta, jossa jokainen havainto vastaa yhtä klusteria (m = N). Algoritmin edetessä klustereiden lkm pienenee, kunnes kaikki havainnot kuuluvat yhteen klusteriin (m = 1) Pilkkovat algoritmit toimivat päinvastoin. Aluksi kaikki havainnot kuuluvat yhteen klusteriin (m = 1) ja algoritmin edetessä klustereita jaetaan kahtia, kunnes jokaisessa klusterissa on tasan yksi havainto (m = N) 13

Kasaava klusterointialgoritmi muodostaa klusterointiratkaisujen sarjan R 0,..., R N 1, joilla on seuraava sisäkkäinen rakenne: R 0 R 1 R N 1 (7) (R 0 = {{x 1 },..., {x N }}, R N 1 = {X} = {x 1,..., x N }) Pilkkova klusterointialgoritmi muodostaa ratkaisujen sarjan R 0,..., R N 1, joilla on seuraava sisäkkäinen rakenne: R N 1 R N 2 R 0 (8) (R 0 = {X} = {x 1,..., x N }, R N 1 = {{x 1 },..., {x N }}) 14

Hierarkisen klusterointialgoritmin tuottama ratkaisusarja voidaan esittää dendrogrammin avulla: Dendrogrammin tasot vastaavat ratkaisuja, joissa on tietty määrä klustereita Sopivan klustereiden lkm valitsee usein asiantuntija dendrogrammin avulla (pitkäikäiset klusterit!) 15

Generalized Agglomerative Scheme GAS Kasaavan, hierarkisen klusterointialgoritmin yleistetty muoto: Klustereiden samankaltaisuutta/erilaisuutta mitataan funktion g(c i, C j ) avulla Alustus: aseta R 0 = {C i = {x i }, i = 1,..., N} ja t = 0 Toista kunnes kaikki havainnot ovat yhdessä klusterissa eli R t = {X} t=t+1 Etsi ratkaisuun R t 1 kuuluvista klustereista pari (C i.c j ), jolle { min r,s g(c r, C s ), jos g on erilaisuusmitta g(c i, C j ) = max r,s g(c r, C s ), jos g on samankaltaisuusmitta (9) Määritä uusi klusteri C q = C i C j ja ratkaisu R t = (R t 1 {C i, C j }) {C q } 16

Päivitä klustereiden numerointi ja funktio g Edellä esitetyn GAS-tyyppisen klusterointialgoritmin heikkous on se, että klustereiden yhdistämistä ei voida koskaan perua Askeleella t klustereiden lkm on N t ja yhdistettävän klusteriparin löytämiseksi on tehtävä ( ) N t (N 1)(N t 1) = (10) 2 2 klustereiden välistä vertailua Kaikilla askelilla vertailuja tarvitaan yhteensä N 1 t=0 ( ) N t = 2 N k=1 ( ) k = 2 (N 1)N(N + 1) 6 (11) 17

Matrix Updating Algorithmic Scheme MUAS Eräs GAS-tyyppisten klusterointialgoritmien alalaji on matriisiteoriaan perustuvat MUAS-tyyppiset algoritmit, joissa päivitetään klustereiden samankaltaisuus/erilaisuusmatriisia P (X). P :n alkio (i, j) on klustereiden C i ja C j samankaltaisuutta/erilaisuutta kuvaava funktio d(c i, C j ) MUAS-algoritmin perusversio: Alustus: R 0 = {{x i },..., {x N }}, P 0 = P (X), t = 0 Toista kunnes kaikki havainnot ovat yhdessä klusterissa eli R t = {X} t=t+1 Etsi klusterit C i ja C j s.e. d(c i, C j ) = min r,s=1,...,n,r s d(c r, C s ) Määritä uusi klusteri C q = C i C j ja ratkaisu R t = (R t 1 {C i, C j }) {C q } Muodosta matriisi P t matriisista P t 1 18

Usein klustereiden erilaisuutta kuvataan funktion d(c i, C j ) avulla, jonka päivityssääntö voidaan kirjoittaa seuraavassa muodossa: d(c q, C s ) =a i d(c i, C s ) + a j d(c j, C s ) + bd(c i, C j ) + c d(c i, C s ) d(c j, C s ) (12) Parametrien a i, a j, b ja c arvot riippuvat valitusta funktiosta d(c i, C j ) Kun a i = a j = 1/2, b = 0 ja c = 1/2 eli d(c q, C s ) = min{d(c i, C s ), d(c j, C s )}, (13) kyseessä on ns. single link klusterointialgoritmi Kun a i = a j = 1/2, b = 0 ja c = 1/2 eli d(c q, C s ) = max{d(c i, C s ), d(c j, C s )}, (14) kyseessä on ns. complete link klusterointialgoritmi 19

Single link suosii pitkulaisia klustereita; complete link taas kompakteja klustereita Graph Theory-based Algorithmic Scheme GTAS GTAS-tyyppiset algoritmit ovat GAS-tyyppisten algoritmien alalaji, jotka perustuvat graafiteoriaan Näissä algoritmeissa havaintojoukko X esitetään graafin avulla s.e. jokainen solmu vastaa yhtä havaintoa ja solmut, joiden välillä on polku, kuuluvat samaan klusteriin 20

Solmujen yhtenäisyyden lisäksi voidaan klustereille asettaa lisävaatimus h(k), esim: Kaikki klusterin solmuparit on kytketty toisiinsa vähintään k:lla polulla, joilla ei ole yhteisiä solmuja Kaikki klusterin solmuparit on kytketty toisiinsa vähintään k:lla polulla, joilla ei ole yhteisiä kaaria Jokaisen solmun asteluku on vähintään k GTAS-tyyppinen algoritmi saadaan suoraan GAS-algoritmin perusversiosta korvaamalla g(c i, C j ) rajoitusehdon h(k) huomioivalla funktiolla g h(k) (C i, C j ): 21

MST-algoritmi on eräs GTAS-tyyppinen algoritmi, joka perustuu minimivirittäjä-puuhun ( Minimum Spanning Tree ) ja jolle missä w ij = d(x i, x j ) g(c r, C s ) = min i,j {w ij : x i C r, x j C s }, (15) MST-algoritmi ja single link tuottavat saman ratkaisun, mikäli d(x i, x j ) d(x k, x l ), kun i k tai j l Esimerkki MST-algoritmilla muodostetusta klusteroinnista: 22

Generalized Divisive Scheme GDS Pilkkovan klusterointialgoritmin yleistetty muoto: Klustereiden erilaisuutta mitataan funktion g(c i, C j ) avulla Alustus: aseta R 0 = {X}, t = 0 Toista kunnes jokainen havainto vastaa yhtä klusteria eli R t = {{x 1 },... {x N }} t = t + 1 Käy läpi kaikki klusterit C i, i = 1,..., t, ja etsi jaot (C 1 i, C 2 i ), jotka maksimoivat g(c 1 i, C 2 i ):n Pilko klusteri C j = arg max Ci,i=1,...,t g(c 1 i, C 2 i ) Määritä uusi ratkaisu R t = (R t 1 {C j }) {C 1 j, C 2 j } Päivitä klustereiden numerointi ja funktio g GDS-tyyppinen klusterointialgoritmi on laskennallisesti hyvin vaativa 23