1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

Samankaltaiset tiedostot
1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

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

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

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

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

Luentorunko perjantaille

Mallipohjainen klusterointi

1. TILASTOLLINEN HAHMONTUNNISTUS

1. LINEAARISET LUOKITTIMET

Kokonaislukuoptiomointi Leikkaustasomenetelmät

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

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

Kognitiivinen mallintaminen. Nelli Salminen

Dynaamiset regressiomallit

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

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

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

Diskreettiaikainen dynaaminen optimointi

Tutkimustiedonhallinnan peruskurssi

Lineaariset luokittelumallit: regressio ja erotteluanalyysi

Diskriminanttianalyysi I

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

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

Inversio-ongelmien laskennallinen peruskurssi Luento 7 8

Esimerkki: Tietoliikennekytkin

MS-C1340 Lineaarialgebra ja

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

Pelaisitko seuraavaa peliä?

T Hahmontunnistuksen perusteet

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

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

Laskuharjoitus 9, tehtävä 6

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

ImageRecognition toteutus

1 Rajoittamaton optimointi

805306A Johdatus monimuuttujamenetelmiin, 5 op

1 Kannat ja kannanvaihto

Matriisilaskenta Luento 12: Vektoriavaruuden kannan olemassaolo

Johdatus tekoälyn taustalla olevaan matematiikkaan

. 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

pitkittäisaineistoissa

Ennustaminen ARMA malleilla ja Kalmanin suodin

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

Johdatus tilastotieteeseen

Avainsanojen poimiminen Eeva Ahonen

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

FUNKTION KUVAAJAN PIIRTÄMINEN

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

Klusterointi käyttäen EM-algoritmia

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

Luentorunko keskiviikolle Hierarkkinen ryvästäminen

Luku 7. Itseorganisoiva kartta

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ö

805306A Johdatus monimuuttujamenetelmiin, 5 op

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

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

Insinöörimatematiikka D

Algoritmit 1. Demot Timo Männikkö

ALGORITMIT & OPPIMINEN

Mat Lineaarinen ohjelmointi

Algoritmit 2. Luento 13 Ti Timo Männikkö

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

Ratkaisuehdotukset LH 8 / vko 47

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

4.5 Kaksivaiheinen menetelmä simplex algoritmin alustukseen

MS-C1340 Lineaarialgebra ja

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

SAS/IML käyttö ekonometristen mallien tilastollisessa päättelyssä. Antti Suoperä

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Kertausta: avaruuden R n vektoreiden pistetulo

Mat Lineaarinen ohjelmointi

2. Teoriaharjoitukset

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA

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

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

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!

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

Etsintä verkosta (Searching from the Web) T Datasta tietoon Heikki Mannila, Jouni Seppänen

Likimääräisratkaisut ja regularisaatio

Kognitiivinen mallintaminen Neuraalimallinnus, luento 1


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

6. Tietokoneharjoitukset

Harjoitustyö 3. Heiluri-vaunusysteemin parametrien estimointi

Sovellettu todennäköisyyslaskenta B

Numeeriset menetelmät

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

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

pitkittäisaineistoissa

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

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Differentiaalimuodot

DOB valmennus Data-analyysi. Koneoppiminen. CC by

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 satunnais alustuksesta 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-algoritmissä 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-algoritmissä 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, 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