1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

Samankaltaiset tiedostot
1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

Luentorunko perjantaille

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

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

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

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

Kokonaislukuoptiomointi Leikkaustasomenetelmät

1. TILASTOLLINEN HAHMONTUNNISTUS

Duaalisuus kokonaislukuoptimoinnissa. Mat , Sovelletun matematiikan tutkijaseminaari, kevät 2008, Janne Karimäki

Mallipohjainen klusterointi

Luentorunko keskiviikolle Hierarkkinen ryvästäminen

1. LINEAARISET LUOKITTIMET

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

Diskriminanttianalyysi I

Diskreettiaikainen dynaaminen optimointi

Dynaamiset regressiomallit

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

Laskuharjoitus 9, tehtävä 6

Kognitiivinen mallintaminen. Nelli Salminen

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

Tällä kerralla ohjelmassa. Kognitiivinen mallintaminen Neuraalimallinnus Kertausta: Perseptronin oppimissääntö

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

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

1 Rajoittamaton optimointi

Lajittelumenetelmät ilmakehän kaukokartoituksen laadun tarkkailussa (valmiin työn esittely)

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

Tutkimustiedonhallinnan peruskurssi

Lineaariset luokittelumallit: regressio ja erotteluanalyysi

Ennustaminen ARMA malleilla ja Kalmanin suodin

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

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

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

T Hahmontunnistuksen perusteet

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

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

Esimerkki: Tietoliikennekytkin

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

Johdatus tilastotieteeseen

MS-C1340 Lineaarialgebra ja

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

DOB valmennus Data-analyysi. Koneoppiminen. CC by

ALGORITMIT & OPPIMINEN

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

Johdatus tekoälyn taustalla olevaan matematiikkaan

Mat Lineaarinen ohjelmointi

Pelaisitko seuraavaa peliä?

TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio. Kimmo Berg. Mat Optimointioppi. 9. harjoitus - ratkaisut

pitkittäisaineistoissa

Tänään ohjelmassa. Kognitiivinen mallintaminen Neuraalimallinnus laskarit. Ensi kerralla (11.3.)

Insinöörimatematiikka D

ImageRecognition toteutus

Klusterointi käyttäen EM-algoritmia

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

805306A Johdatus monimuuttujamenetelmiin, 5 op

Luku 7. Itseorganisoiva kartta

1 Kannat ja kannanvaihto

Matriisilaskenta Luento 12: Vektoriavaruuden kannan olemassaolo

1. Mitä tehdään ensiksi?

Mat Lineaarinen ohjelmointi

805306A Johdatus monimuuttujamenetelmiin, 5 op

. 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

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

Avainsanojen poimiminen Eeva Ahonen

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

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

805324A (805679S) Aikasarja-analyysi Harjoitus 3 (2016)

9. Tila-avaruusmallit

FUNKTION KUVAAJAN PIIRTÄMINEN

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

Algoritmit 2. Luento 7 Ti Timo Männikkö

JOHDATUS TEKOÄLYYN TEEMU ROOS

2. Teoriaharjoitukset

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

Algoritmit 1. Luento 5 Ti Timo Männikkö

Sovellettu todennäköisyyslaskenta B

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

Algoritmit 1. Demot Timo Männikkö

Kognitiivinen mallintaminen Neuraalimallinnus, luento 1

805306A Johdatus monimuuttujamenetelmiin, 5 op

Harjoitustyö 3. Heiluri-vaunusysteemin parametrien estimointi

Hierarkkinen ryvästäminen

Metsäalueen kuviointi laserkeilausaineiston ja soluautomaatin avulla

4. Luennon sisältö. Lineaarisen optimointitehtävän ratkaiseminen Simplex-menetelmä

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

Algoritmit 1. Demot Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö

Ratkaisuehdotukset LH 8 / vko 47

pitkittäisaineistoissa

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

T DATASTA TIETOON

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

Inversio-ongelmien laskennallinen peruskurssi Luento 2

JOHDATUS TEKOÄLYYN TEEMU ROOS

MS-C1340 Lineaarialgebra ja

Tieto- ja tallennusrakenteet

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Este- ja sakkofunktiomenetelmät

Transkriptio:

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI 1

1.1 Funktion optimointiin perustuvat klusterointialgoritmit Klusteroinnin onnistumista mittaavan funktion J optimointiin perustuvissa klusterointialgoritmeissä ratkaisu esitetään usein parametrivektorin Θ = (Θ T 1,..., Θ T m) T, missä Θ i on klusteriin C i liittyvät parametrit, avulla Parametrivektoreiden avulla voidaan määrittää löydettävien klustereiden rakenne (esim. hypertaso, hyperpallon kuori, toruksen kuori jne). Tämä on hyödyllinen ominaisuus esim. tietokonenäön sovellutuksista (kohteen ja taustan erottaminen toisistaan) Tehdään siis a priori oletus klustereiden rakenteesta ja esitetään se parametrien avulla Klustereiden lkm m oletetaan yleensä tunnetuksi 2

C-means tai k-means -algoritmi Muita nimiä ovat LBG (Linde-Buzo-Gray), Isodata, Lloydin -algoritmi Valitse luokkien lukumäärä c Aseta alkuarvot luokkien mallivektoreille m j Toista kunnes mallivektorit m j eivät enää muutu Luokittele näytteet x k hakemalla kutakin näytettä lähin mallivektori Päivitä luokkien mallivektorit laskemalla keskiarvo luokkaan osuneista näytteistä m k = 1 N k x i C k x i, missä N i on klusteriin C i kuuluvien havaintojen lkm Eniten käytetty klusterointialgoritmi Haittana: algoritmi antaa eri tuloksen eri ajokerroilla, johtuen mallivektorien satunnaisalustuksesta 3

C-means -algoritmin variaatio Klusterit C 1,..., C c esitetään prototyyppivektoreiden Θ = (m T 1,..., m T c ) T avulla ja klusteroinnin onnistumisen mittaamiseen käytetään seuraavanlaista kustannusfunktiota: J SSE = c i=1 x k C i x k m i 2 (1) J SSE :n minimi voidaan löytää seuraavalla algoritmilla: Valitaan prototyyppivektoreille m 1,..., m c satunnaiset alkuarvot Toista kunnes klusterointi eli prototyyppivektorit eivät enää muutu Jaetaan havainnot klustereihin s.e. x C j, jos N j N j + 1 x m j 2 N i N i 1 x m i 2 i = 1,..., c, (2) 4

Todistus: missä N i on klusteriin C i kuuluvien havaintojen lkm Päivitetään prototyyppivektorit seuraavasti: m k = 1 N k x i C k x i Oletetaan, että havainto x j siirretään klusterista C i klusteriin C j Uuden klusterin C j prototyyppivektori on m j = 1 N j + 1 x k C j x k = m j + x j m j N j + 1 (3) Uuteen klusteriin C j liittyvä kustannus on silloin J SSE (C j) = x k C j N j x k m j 2 = J SSE (C j )+ N j + 1 x j m j 2 (4) 5

Vastaavasti, uuteen klusteriin C i liittyvä kustannus on J SSE (C i) = J SSE (C i ) J SSE :n kokonaismuutos on J SSE = N i N i 1 x j m i 2 (5) N j N j + 1 x j m k 2 N i N i 1 x m i 2 (6) ( C-means -algoritmin perusversio ei ota kantaa kuinka havainnot jaetaan klustereihin ja kuinka klustereiden prototyyppivektoreita päivitetään) 6

1.2 Kilpailuun perustuvat klusterointialgoritmit Kilpailuun perustuvissa klusterointialgoritmeissä klusterit C 1,..., C m esitetään yleensä vektoreiden w 1,..., w m avulla Vektoreita (klustereita) w 1,..., w m päivitetään havaintojen perusteella s.e. ne siirtyvät niihin kohtiin avaruutta, joissa havaintoja on tiheässä Vektorit w 1,..., w m kilpailevat keskenään. Havaintoa parhaiten vastaavaa voittajavektoria päivitetään s.e. se vastaa entistä paremmin havaintoa. Hävinneitä vektoreita ei päivitetä lainkaan tai päivitetään pienemmällä opetuskertoimella kuin voittajavektoria Kilpailuun perustuvan klusterointialgoritmin yleistetty muoto ( General Competitive Learning Scheme GCLS): Alustus: t = 0, m = m init (alkuarvaus klustereiden lkm:lle), (A) kaikkien tarvittavien parametrien alustus mm vektorit w 1,..., w m Toista kunnes vektorit w 1,..., w m eivät enää muutu merkittävästi tai 7

t = t max (yläraja iteraatioaskelien lkm:lle) t = t + 1 Poimi satunnainen havainto x X (B) Etsi havaintoa x parhaiten vastaava vektori w j (C) Jos (x ja w j eivät ole riittävän samankaltaiset) TAI (jokin muu ehto) JA (m < m max ) (yläraja klustereiden lkm:lle), päivitä m = m + 1 ja määritä w m = x (D) Muuten, päivitä vektorit w 1,..., w m seuraavasti: { w j (t 1) + ηh(x, w j (t 1)), jos w j on voittaja w j (t) = w j (t 1) + η h(x, w j (t 1)), jos w j ei ole voittaja (7) (η ja η ovat opetuskertoimia ja h(, ) on jokin ongelmaan sopiva funktio) Useimmat kilpailuun perustuvat klusterointialgoritmit voidaan esittää GCLStyyppisinä, kunhan kohdissa (A)-(D) tehdään sopivat valinnat 8

Oppiva vektorikvantisaatio Oppiva vektorikvantisaatio ( Learning Vector Quantization, LVQ) on esimerkki GCLS-tyyppisestä klusterointialgoritmistä LVQ-algoritmissa oletetaan klustereiden lkm m = m init = m max tunnetuksi LVQ-algoritmi saadaan kilpailuun perustuvien klusterointialgoritmien yleistetystä muodosta, kun (A) Alustetaan vektorit w 1,..., w m satunnaisesti (ei muita parametrejä!) (B) w j on havaintoa x parhaiten vastaava voittajavektori, jos d(x, w j ) = min k=1,...,m d(x, w k ). Funktio d(, ) on vektoreiden välinen etäisyys (C) Ehto ei toteudu koskaan, koska klustereiden lkm on kiinnitetty 9

(D) Vektoreita päivitetään seuraavasti: { w j (t 1) + η(x w j (t 1)), w j (t) = w j (t 1), jos w j on voittaja muuten (8) Jos havaintojen luokat tunnetaan, voidaan vektorit w 1,..., w m varata tietyille luokille ja tehdä päivitys seuraavasti: w j (t 1) + η(x w j (t 1)), jos w j on oikea voittaja w j (t) = w j (t 1) η(x w j (t 1)), jos w j on väärä voittaja w j (t 1), muuten (9) (η on opetuskerroin) 10

LVQ-esimerkki: voittajavektori w(t) päivitetään vektoriksi w(t+1) havainnon x perusteella: 11

Itseorganisoituva kartta ( Self-Organizing Map SOM) SOM-algoritmissa havainnot yritetään esittää hilaan (kartta) järjestettyjen vektoreiden (karttayksiköiden) w 1,..., w m avulla SOM-algoritmin tavoitteena on asettaa vektoreiden arvot siten, että ne edustavat mahdollisimman hyvin havaintoja ja että hilassa toisiaan lähellä olevien vektoreiden arvot ovat samankaltaisempia kuin hilassa kaukana toisistaan olevien vektoreiden arvot SOM-algoritmi saadaan kilpailuun perustuvien klusterointialgoritmien yleistetystä muodosta, kun (A) Alustetaan vektorit w 1,..., w m (ei muita parametrejä) (B) w BMU on havaintoa x parhaiten vastaava voittajavektori (Best Matching Unit), jos d(x, w j ) = min k=1,...,m d(x, w k ). Funktio d(, ) on vektoreiden välinen etäisyys 12

(C) Ehto ei toteudu koskaan, koska vektoreiden lkm on kiinnitetty (D) Päivitä vektoreita seuraavasti: w j (t) = w j (t 1) + ηh(j, BMU)(x w j (t 1)), (10) missä η on opetuskerroin ja h(, ) on naapurustofunktio, joka määrää mitkä ovat voittajavektorin päivitettäviä naapureita SOM-algoritmin antamaa tulosta voidaan analysoida ns. U-matriisin (kertoo kuinka samankaltaisia naapurivektorit ovat) ja komponenttitasojen (kertovat millaisia arvoja piirteet saavat erikohdissa karttaa) avulla U-matriisista voidaan edelleen hakea klustereita esim. K-means algoritmilla käyttäen apuna jotain validointimenetelmää 13

SOM:n komponenttitasot 14

U-matriisi (Unified distance matrix) 15

Klusteroitu U-matriisi 16

Erilaisia 2-ulotteisia hiloja ja naapurustoja: 17

18

19

Adaptiivinen hahmontunnistus Toteutus SOM:n ja LVQ:n avulla: SOM:illa opetetaan alustavasti luokkien mallivektorit LVQ:lla hienosäädetään malleja käyttäen apuna dataa, jonka luokat tiedetään mallivektorit jäädytetään ja niitä voidaan käyttää uuden datan luokittelussa. Syöte SOM LVQ Luokittelu tulos Opettaja 20

1.3 Klusteroinnin validointimenetelmiä Klustereiden pitkäikäisyys eli herkkyys parametrien suhteen sequentiaalisten algoritmien kynnysarvot hierarkisen klusteroinnin ratkaisujen etäisyysmitat dendrogrammit ja niiden analysointi 21

Validointi-indeksit, lasketaan klustereille etäisyysmittoja klusterin sisäiset etäisyydet; kuinka kompakti/tiivis klusteri on? klusterien väliset etäisyydet; kuinka kaukana klusteri on toisista klustereista? yleensä halutaan kompakteja klustereita, jotka ovat etäällä toisistaan. (ainakin tällaista voi kutsua klusteriksi) yleisesti ottaen validointi-indeksit muodostavat jonkun kombinaation näistä kahdesta. 22

Davies-Bouldin -indeksi: Optimaalinen klustereiden määrä minimoi indeksin. 1 m m max {S c(c k ) + S c (C l ) } (11) l k d ce (C k, C l ) k=1 jossa m on klustereiden määrä, S c klusterin sisäinen etäisyys ja d ce klustereiden välinen etäisyys, C k ja C l ovat klusterit. 23