Luku 7. Itseorganisoiva kartta

Samankaltaiset tiedostot
Tämän luennon sisältö. Luku 7. Itseorganisoiva kartta. SOM-algoritmin perusidea Kertaus: c-means. Itseorganisoiva kartta (SOM)

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

805306A Johdatus monimuuttujamenetelmiin, 5 op

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

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

T DATASTA TIETOON

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

Matemaatiikan tukikurssi

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

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

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

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

Luento 8: Epälineaarinen optimointi

Kenguru 2012 Student sivu 1 / 8 (lukion 2. ja 3. vuosi)

Kenguru Student (lukion 2. ja 3. vuosi) sivu 1 / 6

Osoita, että kaikki paraabelit ovat yhdenmuotoisia etsimällä skaalauskuvaus, joka vie paraabelin y = ax 2 paraabelille y = bx 2. VASTAUS: , b = 2 2

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

isomeerejä yhteensä yhdeksän kappaletta.

Johdatus tekoälyn taustalla olevaan matematiikkaan

MS-A0004/A0006 Matriisilaskenta

Mallipohjainen klusterointi

10. lokakuuta 2011 Basics of Multivariate Methods 2011 Laskuharjoitus 4: Itseorganisoituva kartta (SOM) ja Sammon-kartta

3.2.2 Tikhonovin regularisaatio

6.4. Järjestyssuhteet

Cantorin joukon suoristuvuus tasossa

Helsingin seitsemäsluokkalaisten matematiikkakilpailu Ratkaisuita

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

805306A Johdatus monimuuttujamenetelmiin, 5 op

1 Sisätulo- ja normiavaruudet

Ratkaisuehdotukset LH 8 / vko 47

802320A LINEAARIALGEBRA OSA II

Datatähti 2019 loppu

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

1. Esitä rekursiivinen määritelmä lukujonolle

Derivaatta: funktion approksimaatio lineaarikuvauksella.

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 1: Moniulotteiset integraalit

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

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

Matematiikan tukikurssi

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

Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.

MS-A0207 Differentiaali- ja integraalilaskenta 2 Luento 5: Gradientti ja suunnattu derivaatta. Vektoriarvoiset funktiot. Taylor-approksimaatio.

Epäeuklidista geometriaa

Matematiikan ja tilastotieteen laitos Matematiikka tutuksi Harjoitus 2, malliratkaisut

Nopeus, kiihtyvyys ja liikemäärä Vektorit

5.6 Yhdistetty kuvaus

Luento 8: Epälineaarinen optimointi

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

Konformigeometriaa. 5. maaliskuuta 2006

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta.

Laskennallinen data-analyysi II

Kenguru 2019 Student lukio

MS-C1340 Lineaarialgebra ja

Digitaalitekniikan matematiikka Luku 5 Sivu 1 (22) Lausekkeiden sieventäminen F C F = B + A C. Espresso F = A (A + B) = A A + A B = A B

ax + y + 2z = 0 2x + y + az = b 2. Kuvassa alla on esitetty nesteen virtaus eräässä putkistossa.

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

Matematiikan ja tilastotieteen laitos Reaalianalyysi I Harjoitus Malliratkaisut (Sauli Lindberg)

Logistinen regressio, separoivat hypertasot

Moniulotteisia todennäköisyysjakaumia

Simplex-algoritmi. T Informaatiotekniikan seminaari , Susanna Moisala

MS-A0002 Matriisilaskenta Luento 1:Vektorit ja lineaariyhdistelyt

Yksittäisten maatilojen tarkastelu korkeaulotteisessa talousavaruudessa itseorganisoivan kartan avulla

Kenguru 2013 Ecolier sivu 1 / 6 (4. ja 5. luokka) yhteistyössä Pakilan ala-asteen kanssa

Induktiota käyttäen voidaan todistaa luonnollisia lukuja koskevia väitteitä, jotka ovat muotoa. väite P(n) on totta kaikille n = 0,1,2,...

. 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

Kognitiivinen mallintaminen. Nelli Salminen

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

2 Pistejoukko koordinaatistossa

Determinantti 1 / 30

Ei välttämättä, se voi olla esimerkiksi Reuleaux n kolmio:

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

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

s = 11 7 t = = 2 7 Sijoittamalla keskimmäiseen yhtälöön saadaan: k ( 2) = 0 2k = 8 k = 4

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

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

Työ 2324B 4h. VALON KULKU AINEESSA

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Kenguru 2018 Cadet (8. ja 9. luokka)

Tarkennamme geneeristä painamiskorotusalgoritmia

Matematiikan taito 9, RATKAISUT. , jolloin. . Vast. ]0,2] arvot.

Matriisien tulo. Matriisit ja lineaarinen yhtälöryhmä

Luento 12: Duaalitehtävä. Tarkennuksia Lagrangen kertoimen tulkintaan. Hajautettu optimointi.

jäsentäminen TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 26. marraskuuta 2015 TIETOTEKNIIKAN LAITOS

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

Lineaarialgebra b, kevät 2019

Dynaamiset regressiomallit

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015

Paretoratkaisujen visualisointi

Nimitys Symboli Merkitys Negaatio ei Konjuktio ja Disjunktio tai Implikaatio jos..., niin... Ekvivalenssi... jos ja vain jos...

Mohrin-Mascheronin lause kolmiulotteisessa harppi-viivaingeometriassa

Transkriptio:

1 / 44 Luku 7. Itseorganisoiva kartta T-61.2010 Datasta tietoon, syksy 2011 professori Erkki Oja Tietojenkäsittelytieteen laitos, Aalto-yliopisto 24.11.2011

2 / 44 Tämän luennon sisältö 1 Itseorganisoiva kartta Itseorganisoiva kartta (SOM) Itseorganisoivan kartan yhteys biologiaan Itseorganisoivan kartan suppenevuus 1-ulotteisessa tapauksessa Käytännön valintoja Mihin SOM:ia käytetään?

3 / 44 Itseorganisoiva kartta (SOM) Itseorganisoiva kartta (Self-Organizing Map, SOM) on informaatiotekniikan laboratoriossa professori Teuvo Kohosen 1980-luvun alussa kehittämä neuroverkkomalli Siitä on tullut 25 vuoden aikana eräs eniten käytettyjä neuroverkkoalgoritmeja maailmassa (viitteitä SOM:ään löytyy yli 7000) Katsotaan tässä luvussa mikä SOM on, mikä on sen yhteys neuroverkkoihin, miten se toimii ja esimerkkien avulla joitakin sovellusmahdollisuuksia. SOM-foneemikirjoitin SOM-köyhyyskartta

SOM-algoritmin perusidea Kertaus: c-means Hyvä lähtökohta SOM-algoritmin ymmärtämiselle on ryhmittelyanalyysin c-means-algoritmi (Luku 6). Sehän meni seuraavasti: 1 Valitse satunnaisesti c vektoria opetusjoukosta x 1,..., x n pisteiksi m 1,..., m c ; 2 Toista kunnes pisteet m 1,..., m c eivät muutu Sijoita kukin vektori 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 vektoreiden lukumäärä. 4 / 44

5 / 44 SOM-algoritmin perusidea (2) Kertaus: c-means Tässä on oleellisesti kaksi vaihetta: 1. Voittajan valinta: Voidaan ajatella että ryhmät, joita edustavat niiden keskipistevektorit m 1,..., m c, kilpailevat kustakin opetusvektorista x j ja se, joka on lähinnä, voittaa kilpailun. Matemaattisesti: voittaja vektorille x j on indeksi b jolle b = b(x j ) = argmin i=1,...,c x j m i 2. Voittajan mukautuminen/oppiminen: kun voittaja on kaapannut uuden vektorin, sen täytyy päivittää keskipistevektorinsa m b. c-means-algoritmissa tämä tehdään vasta kun kaikki x j :t on uudelleensijoitettu ryhmiin, mutta sen voi tehdä myös lennossa eli aina heti kun yksikin vektori on uudelleensijoitettu (ns. ISODATA-algoritmi).

SOM-algoritmin perusidea (3) Kertaus: c-means SOM-algoritmi on helpompi ymmärtää jos kirjoitetaan keskipisteen päivitys uudella tavalla: olkoon m uusi b keskipiste sen jälkeen, kun uusi vektori x j on lisätty ryhmään C b Silloin myös ryhmän koko n b kasvaa yhdellä Pätee: m uusi b = = = 1 n b + 1 [ x C b x + x j ] (1) 1 n b + 1 [x j + n b m b ] (2) 1 n b + 1 [x j + (n b + 1)m b m b ] (3) = m b + 1 n b + 1 [x j m b ] (4) 6 / 44

7 / 44 SOM-algoritmin perusidea (4) Kertaus: c-means Geometrisesti tämä merkitsee että uusi keskipiste m uusi b on liikkunut vanhan keskipisteen m b ja uuden opetusvektorin x j välisellä janalla pienen matkan kohti x j :tä, ikään kuin x j vetäisi sitä puoleensa. Liike on sitä pienempi mitä enemmän ryhmässä on pisteitä Kuva: c-means-algoritmin päivitysaskel Siinä siis oli c-means-algoritmi hiukan uudelleenmuokattuna.

8 / 44 SOM-algoritmin perusidea Voittajan yhteistyö naapurien kanssa SOM sisältää vielä yhden aivan uuden periaatteen, joka tekee siitä eri menetelmän kuin c-means: 3. Voittajan yhteistyö naapureidensa kanssa: Kun edellä vain voittajan keskipistevektori m b liikkui, niin SOM-menetelmässä myös voittajan naapureiden keskipistevektorit liikkuvat. Tämä sisältää kaksi kysymystä: 1. Mikä on voittajan naapuri? 2. Miten naapureiden keskipistevektorit liikkuvat?

9 / 44 SOM-algoritmin perusidea Voittajan naapurusto Naapurusto määritellään aivan uudella tavalla (ei ole sama kuin esim. lähimmän naapurin luokitin!) Ajatellaan että itse asiassa keskipistevektorit ovat joidenkin laskentayksiköiden tai keinotekoisten neuroneiden painovektoreita, ja nämä yksiköt tai neuronit on järjestetty säännölliseen hilaan m 1 m 5 m 9 m 13 m 2 m 6 m 10 m 14 m 3 m 7 m 11 m 15 m 4 m 8 m 12 m 16

10 / 44 SOM-algoritmin perusidea (2) Voittajan naapurusto Kuva: Kaksiulotteinen SOM-verkko: neuronin m 11 naapureita ovat m 7, m 10, m 12 ja m 15 Tämä voisi vastata todellista fyysistä laskentapiiriä tai pientä aivokuoren osaa, vaikka SOM lähes aina toteutetaan ohjelmoimalla Hila on yleensä 2-ulotteinen kuten kuvassa, mutta voi olla myös 1- tai 3-ulotteinen (tai K-ulotteinen mutta silloin visualisointi vaikeaa).

11 / 44 SOM-algoritmin perusidea (3) Voittajan naapurusto Nyt hila määrittelee naapurit: esim. 2-ulotteisessa hilassa lähimmät naapurit ovat viereiset laskentayksiköt oikealle, vasemmalle, ylös, alas (ns. 4-naapurusto, kuvassa m 11 :n naapurit ovat m 7, m 10, m 12 ja m 15 ), tai lisäksi diagonaalisesti (ns. 8-naapurusto) tai siihen voi kuulua myös seuraavat 16 ympäröivää yksikköä jne. 1-ulotteisessa hilassa yksiköt b 1, b + 1, tai myös b 2, b + 2 jne. (naapuruston koosta myöhemmin)

12 / 44 SOM-algoritmin perusidea Naapureiden keskipistevektorien päivittäminen Entäs toinen kysymys: Miten naapureiden keskipistevektorit liikkuvat? Merkitään kaavassa (4) olevaa kerrointa 1/(n b + 1) merkinnällä α, ja nyt saadaan SOM-päivityskaava painovektoreille: m uusi b = m b + α[x j m b ] voittajayksikölle b m uusi k = m k + α[x j m k ] voittajan b naapuriyksiköille k m uusi l = m l muille yksiköille. Osoittautuu että α:ksi voidaan valita sopivan pieni luku, jonka ei tarvitse olla yhtäsuuri kuin 1/(n b + 1)

13 / 44 SOM-algoritmin perusidea (2) Naapureiden keskipistevektorien päivittäminen SOM poikkeaa c-means:stä siinä, että myös voittajan naapureita opetetaan. Alla olevassa kuvassa on 1-ulotteinen SOM, jossa painovektorit m 1, m 2 ja m 3 vierekkäisen vektorin naapurustolla. Kun m 3 voittaa ( best matching unit, BMU), niin sitä ja myös sen naapuria m 2 siirretään uuden datan suuntaan Kuva: SOM-kartan (1D) päivittyminen: sekä voittaja että sen naapuri päivittyvät

14 / 44 SOM-algoritmin perusidea (3) Naapureiden keskipistevektorien päivittäminen Tässä kaavassa esitetään vain yksi askel SOM-algoritmia, yhdelle opetusvektorille Opetusta on jatkettava koko opetusjoukon yli, ja useaan kertaan (joitakin kymmeniä kertoja tyypillisesti) Koko esimerkki 2D-data ja 2D-kartta opetuksen aikana Mitä tapahtuu? Kaksi asiaa: 1. Painovektorit levittäytyvät koko opetusjoukon alueelle (vrt. ryhmittely) 2. Naapuriyksiköiden painovektorit pyrkivät olemaan lähekkäin (ns. topologinen kartta)

15 / 44 SOM-algoritmin perusidea Kartan ja datan visualisointi Opetuksen tuottaman painovektorien levittäytyminen ja naapureiden läheisyys voidaan kuvata graafisesti kahdella tavalla näyttämällä itse SOM-karttahilan ja kussakin neuronissa sen painovektorin SepalL SepalW PetalL PetalW 7.26 5.97 4.67 7.26 5.97 3.91 3.18 2.45 3.91 3.18 3.74 1.41 6.07 3.74 1.22 0.185 2.25 1.22 4.67 2.45 1.41 0.185 d d d d Kuva: 2-ulotteisen SOM-kartan neljä kompenttitasoa (4-ulotteiset painovektorit), kun syötteenä 4-ulotteista dataa. Karttahila ja painovektorit komponenteittain

16 / 44 SOM-algoritmin perusidea (2) Kartan ja datan visualisointi näyttämällä syöteavaruuden (jonka silloin oltava 1-, 2- tai tietokoneavusteisesti 3-ulotteinen) ja siinä olevat opetusvektorit ja SOM-painovektorit. Naapuruus näytetään yhdistämällä naapurineuronien painovektorit viivalla ( elastinen verkko ) Kohosen kaktus

17 / 44 Yhteys biologiaan Isojen aivojen aivokuorella (apinoilla, kissoilla, hiirillä, ihmisillä, yms.) on sensorisia alueita, jotka käsittelevät esim. näköhavaintoja Erityisen paljon on tutkittu, kuinka yksinkertaiset visuaaliset havainnot, esimerkiksi tietynsuuntaiset viivat, kuvautuvat aivoihin Osoittautuu että näköaivokuoren tietyllä alueella on ns. suuntakarttoja, joissa kaikki eri suuntaiset viivat on koodattu samaan tapaan kuin SOM-pinnalla: kaikki suunnat ovat edustettuina, ja viereiset neuronit koodaavat lähes samansuuntaisia viivoja Suuntakartat eivät määräydy geneettisesti vaan oppimisen kautta

18 / 44 Yhteys biologiaan (2) SOM-algoritmi jäljittelee yksinkertaista oppimislakia, jolla todelliset hermosolut saattaisivat muodostaa topologisia suuntakarttoja. Kuva: Hermosoluja

19 / 44 Suppenevuus 1-ulotteisessa tapauksessa Katsotaan nyt edellä esitettyä SOM-algoritmia: m uusi b = m b + α[x j m b ] voittajayksikölle b m uusi k = m k + α[x j m k ] voittajan b naapuriyksiköille k m uusi l = m l muille yksiköille. Oletetaan mahdollisimman yksinkertainen tapaus: 1-ulotteinen hila, 1- ulotteinen opetusdata: silloin painovektorit ovat skalaareja, suoran pisteitä m 1,..., m c. Naapurusto määritellään niin että neuronin j naapurit ovat j 1, j + 1 paitsi päissä joissa neuronilla 1 on naapurina vain 2 ja neuronilla c vain c 1. Ajatellaan iso joukko opetusvektoreita (nyt skalaareja) x.

20 / 44 Suppenevuus 1-ulotteisessa tapauksessa (2) Tässä tapauksessa on mahdollista todistaa että painoluvut m i järjestyvät varmasti opetuksessa joko suuruus- tai pienuusjärjestykseen, jos 0 < α < 1. Ensinnäkin, voidaan aina konstruoida sopiva joukko opetuslukuja x siten että ne järjestävät m i :t 1D-kartan järjestyminen Toiseksi, jos m i :t ovat järjestyksessä, niitä on mahdoton saada enää epäjärjestykseen. Oletetaan että m c > m c 1 >... > m 2 > m 1. Oletetaan että b:s yksikkö voittaa. Silloin vain m b 1, m b, m b+1 muuttavat paikkaa, muut pysyvät ennallaan.

Suppenevuus 1-ulotteisessa tapauksessa (3) Silloin m uusi b mb 1 uusi = m b + α(x m b ) m b 1 α(x m b 1 ) = (1 α)(m b m b 1 ) > 0 joten niiden kohdalla järjestys säilyy. Aivan samoin osoitetaan että mb+1 uusi muusi b > 0. Sitten mb 1 uusi b 2 = m b 1 + α(x m b 1 ) m b 2 = m b 1 m b 2 + α(x m b 1 ) mutta tämä on positiivinen koska m b 1 m b 2 > 0 ja toisaalta x m b 1 > 0. Jälkimmäinen pätee siksi, että yksikkö b on voittaja ja siis x on lähempänä m b :tä kuin m b 1 :tä. Aivan samoin osoitetaan että mb+2 uusi muusi b+1 > 0. 21 / 44

22 / 44 Käytännön valintoja Yleisimmät hilat ovat 1- tai 2-dimensioisia, koska kartta on silloin helppo visualisoida 2-dimensioisella hilalla on kaksi perusrakennetta: suorakaidehila ja kuusikulmiohila m 1 m 4 m 7 m 10 m 13 m 1 m 4 m 7 m 10 m 13 m 2 m 5 m 8 m 11 m 14 m 2 m 5 m 8 m 11 m 14 m 3 m 6 m 9 m 12 m 15 m 3 m 6 m 9 m 12 m 15 Kuva: SOM:n suorakaidehila ja kuusikulmiohila Kuusikulmio- eli heksagonaalihilan etu on se, että kullakin yksiköllä on 6 naapuria jotka kaikki ovat yhtä etäällä siitä

23 / 44 Käytännön valintoja (2) Reunoilla naapurusto on epätäydellinen, paitsi jos hila ajatellaan kierretyksi munkkirinkeliksi (toruspinnaksi), jolloin se on jatkuva eikä mitään reunoja ole Toroidi 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 2 1 0 1 2 1 0 1 Kuva: SOM-hila munkkirinkilinä

24 / 44 Käytännön valintoja (3) Naapuruston koko: käytännössä osoittautuu, että SOM-algoritmissa on syytä pienentää naapurustoa vähitellen, samoin algoritmissa olevaa α-kerrointa. Näin saadaan parempia tuloksia. Nämä molemmat voidaan itse asiassa yhdistää kirjoittamalla SOM-algoritmi hieman toiseen muotoon: Sen sijaan että olisi m uusi b = m b + α[x j m b ] voittajayksikölle b m uusi k = m k + α[x j m k ] b:n naapuriyksiköille k m uusi l = m l muille yksiköille. kirjoitetaankin tämä seuraavasti: m uusi k = m k + αh(k, b)[x j m k ] kaikille yksiköille k

25 / 44 Käytännön valintoja (4) Tämä on täysin sama kuin edellä oleva SOM-algoritmi, jos kaavassa oleva uusi termi, ns. naapuruusfunktio on { 1 jos k kuuluu voittajan b naapurustoon h(k, b) = 0 muuten Jotta kaavat olisivat aivan yhdenpitävät, on oltava myös h(b, b) = 1 eli pitää ajatella että b itsekin kuuluu omaan naapurustoonsa Nyt naapuruston valintaa voidaan pehmentää valitsemalla funktioksi h(k, b) sileämpi funktio, esim. gaussinen h(k, b) = e βd 2 (k,b) missä d(k, b) on yksikön k etäisyys voittajasta b hilaa pitkin mitattuna (huomaa että nytkin h(b, b) = 1)

26 / 44 Käytännön valintoja (5) Esim. yksiulotteisessa hilassa missä on yksiköt 1, 2,..., c, määritellään d(k, b) = k b Paljon tämänkaltaisia virityksiä on valmiina ohjelmapaketissa SOM Toolbox http://www.cis.hut.fi/projects/somtoolbox/

27 / 44 Mihin SOM:ia käytetään? On taas erotettava toisistaan SOM:in oppimisalgoritmi, josta edellä puhuttiin, ja valmiin opetetun SOM-kartan käyttö Kartan käyttöä luonnehtii oheinen kuva: SOM muodostaa kuvauksen (funktion) syöteavaruuden R d ja karttahilan välille

28 / 44 Mihin SOM:ia käytetään? (2) Kuva: SOM: kuvaus syöteavaruuden ja karttahilan välillä

29 / 44 Mihin SOM:ia käytetään? (3) Kukin syöteavaruuden piste x (esim. kukin opetusjoukon vektori) kuvautuu hilaan siihen yksikköön joka on x:lle voittaja, eli yksikköön b = b(x) = argmin i=1,...,c x m i Siten SOM on ryhmittelyalgoritmi, jos kukin hilapiste ajatellaan omana ryhmänään (klusterinaan). Tiettyyn hilapisteeseen kuvautuu samankaltaisia vektoreita x Verrattuna tavalliseen ryhmittelyyn (esim. c-means) SOM:illa on ylimääräinen ominaisuus: vierekkäisiin hilapisteisiin kuvautuu yleensä myös samankaltaisia vektoreita Siten syöteavaruuden se alue, johon opetusvektorit kuuluvat, kuvautuu lähes jatkuvasti (topologisesti) hilaan

30 / 44 Mihin SOM:ia käytetään? (4) Hilaa voi nyt käyttää ikäänkuin karttapintana tietokoneen ruudulla hakemaan erilaisia syöteavaruuden osia, se on siis tehokas visualisointikeino hyvinkin korkeadimensioiselle datalle Kukin hilapiste k kuvautuu vastaavasti syöteavaruuteen R d pisteeseen m k Siten SOM on myös vektorikoodausalgoritmi. Kuvaus syöteavaruuden ja SOM-hilan välillä ei kuitenkaan matemaattisessa mielessä voi olla puhtaasti topologinen (jatkuva molempiin suuuntiin), koska hilan dimensio on yleensä 2 ja syöteavaruuden d > 2. Kartassa on siellä täällä hyppäyksiä (vrt. tapaus 2-ulotteinen syöteavaruus, 1-ulotteinen kartta).

31 / 44 Mihin SOM:ia käytetään? Esimerkkejä WEBSOM: menetelmä suurten tekstiaineistojen kuvaamiseksi kartalle PicSOM: kuvatietokantojen interaktiivinen hakumenetelmä Teollisuusssovelluksia.

32 / 44 Yhteenveto Tässä luvussa esiteltiin itseorganisoiva kartta (SOM), jota voidaan käyttää korkeaulotteisen datan ryhmittelyyn ja visualisointiin. SOM:n keksijä on akateemikko Teuvo Kohonen.

Liite: Kuvia esitykseen, luku 7 33 / 44 Foneemikirjoitin Kuva: Erilaiset puheen spektrit kuvautuvat SOM-karttapinnalle. Neuronissa on piirrettynä äännettä vastaava spektrikuvio. Takaisin kalvoihin

Liite: Kuvia esitykseen, luku 7 Köyhyyskartta Kuva: Valtioiden taloudelliset indikaattorit SOM-karttapinnalla. Korkeaulotteinen data on saatu visualisoitua mielekkääksi 2-ulotteiseksi kuvaksi. Vierekkäisiin neuroneihin kuvautuu samankaltaisia datavektoreita (maita). Takaisin kalvoihin 34 / 44

Liite: Kuvia esitykseen, luku 7 35 / 44 Esimerkki 2D-data ja 2D-kartta opetuksen aikana Alkutilanne: datanäytteitä (+) yksikköneliössä ja 6 6 -kokoinen suorakulmaisen hilan SOM-kartta järjestäytymättömänä. Mustat pallot painovektoreita m j. 2 Data ja alkuperainen SOM kartta 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Liite: Kuvia esitykseen, luku 7 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 5/500 opetusaskelta 50/500 opetusaskelta 1.4 1.2 1 0.8 0.6 0.4 0.2 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 10/500 opetusaskelta 250/500 opetusaskelta 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 15/500 opetusaskelta 500/500 opetusaskelta 36 / 44 Esimerkki 2D-data ja 2D-kartta opetuksen aikana (2) Opetuksen aikana kartta levittäytyy ja järjestyy opetusjoukon alueelle. Kuvat 5, 10, 15, 50, 250 ja 500 kierroksen jälkeen. 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Liite: Kuvia esitykseen, luku 7 37 / 44 Esimerkki 2D-data ja 2D-kartta opetuksen aikana (3) Alkutilanne #2: datanäytteitä (+) yksikköneliössä ja 6 6 -kokoinen suorakulmaisen hilan SOM-kartta järjestäytymättömänä. Mustat pallot painovektoreita m j. 2 Data ja alkuperainen SOM kartta 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

Liite: Kuvia esitykseen, luku 7 1.5 1 0.5 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 5/500 opetusaskelta 50/500 opetusaskelta 1.4 1.2 1 0.8 0.6 0.4 0.2 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 10/500 opetusaskelta 250/500 opetusaskelta 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 15/500 opetusaskelta 500/500 opetusaskelta 38 / 44 Esimerkki 2D-data ja 2D-kartta opetuksen aikana (4) Opetuksen aikana kartta levittäytyy ja järjestyy opetusjoukon alueelle. Kuvat 5, 10, 15, 50, 250 ja 500 kierroksen jälkeen. 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Lähde: SOM Toolboxin som_demo1. Takaisin kalvoihin

Liite: Kuvia esitykseen, luku 7 39 / 44 SOM:n komponenttitasoesitys Datana tässä esimerkissä on käytetty klassista Fisherin liljadataa (Iris), jossa 150 neliulotteista havaintoa kolmesta liljalajista ( Setosa, Virginica, Versicolor ). Mitatut ominaisuudet aluslehden ( Sepal ) pituus ( L ) ja leveys ( W ) sekä terälehden ( Petal ) vastaavat. SepalL 5.1000 4.9000... SepalW 3.5000 3.0000... X = PetalL 1.4000 1.4000... PetalW 0.2000 0.2000... Setosa Setosa... Koska data x R 4, niin myös painovektorit m R 4.

Liite: Kuvia esitykseen, luku 7 40 / 44 SOM:n komponenttitasoesitys (2) SepalL SepalW PetalL PetalW 7.26 5.97 4.67 7.26 5.97 3.91 3.18 2.45 3.91 3.18 3.74 1.41 6.07 3.74 1.22 0.185 2.25 1.22 4.67 2.45 1.41 0.185 d d d d Painovektorikartat komponenteittain eli ns. komponenttitasot. Yhden painovektorin m 12 R 4 kohta on osoitettu punaisella pisteellä. Kyseisen kohdan arvot ovat pieniä muuttujille SepalL, PetalL ja PetalW, mutta verrattain suuri muuttujalle SepalW.

Liite: Kuvia esitykseen, luku 7 41 / 44 SOM:n komponenttitasoesitys (3) Setosa Setosa Setosa Setosa Setosa Setosa Setosa Setosa Setosa Setosa Setosa Setosa Setosa Setosa Setosa Setosa Setosa Versicolor Versicolor Versicolor Versicolor Versicolor Versicolor Versicolor Versicolor Versicolor Versicolor Versicolor Versicolor Versicolor Versicolor Versicolor Versicolor Virginica Versicolor Versicolor Virginica Virginica Virginica Versicolor Versicolor Versicolor Versicolor Virginica Virginica Virginica Virginica Virginica Virginica Virginica Virginica Virginica Virginica Virginica Virginica Virginica Vasemmalla ns. U-matriisi, joka näyttää harmaasävyllä vierekkäisten m i :n etäisyydet, joista voi päätellä klusterirajoja. Värillinen täplä osoittaa kuinka monen havainnon lähin m i on. Setosa-laji (punainen) on selkeästi erillään kahdesta muusta lajista, koska PetalL ja PetalW ovat pieniä (kts. komponenttitasot). Oikealla kunkin neuronin pääasiallisin laji. Takaisin kalvoihin

Liite: Kuvia esitykseen, luku 7 42 / 44 Elastinen verkko: Kohosen kaktus Kuva: Kohosen kaktus : kolmiulotteinen data ja kaksiulotteinen SOM. Kartta pyrkii täyttämään kolmiulotteisen muodon taipumalla datan mukaan. Takaisin kalvoihin

Liite: Kuvia esitykseen, luku 7 43 / 44 1D-kartan järjestyminen sopivalla 1D-datalla x Yksiulotteiset painovektorit m 4, m 1, m 3 ja m 2 suoralla. Tavoitteena etsiä sellainen datasyöte x 1, x 2,... että painovektorit tulevat järjestykseen. Opetusvektori (piste) x vasemmalla. Lähimpänä m 4. Voittaja m 4 ja sen naapuri m 3 liikkuvat.

Liite: Kuvia esitykseen, luku 7 1D-kartan järjestyminen sopivalla 1D-datalla x (2) Uusi opetuspiste x. Lähimpänä m 1. Voittaja m 1 ja sen naapuri m 2 liikkuvat. Uusi opetuspiste x 3. Lähimpänä m 3. Liikutetaan voittajaa m 3 ja sen naapureita m 2 ja m 4. Nyt kartta on järjestynyt m 4 < m 3 < m 2 < m 1. Takaisin kalvoihin 44 / 44