SOM

Self-Organization Map

Itseorganisaatiokartta

 

 

 

 

 

Artturi Alaharjula , 11002W, 29.3.2000

Joensuun Yliopisto, Tietojenkäsittelytieteen laitos, Laudaturseminaari

 


1. Johdanto

Oppivien ja älykkäiden järjestelmien sovelluksia on tullut 1990-luvulla enemmässä määrin julkisuuteen. Soveltamisalue on rajaton, mutta eri menetelmien vahvuudet ja heikkoudet ovat määritelleet niiden ensimmäiset käyttötarkoitukset. Sovelluksista suurin osa on säätö- ja mittaustehtävissä, prosessien ohjauksessa ja erilaisten analyysien tukena. Toisen suuren osa-alueen ovat muodostaneet taloushallinnon sovellukset, joissa näitä käytetään tilastotiedon sisäisten yhteyksien havainnointiin sekä ennustamiseen. Lisäksi yhden osa-alueen muodostavat hahmontunnistussovellukset, joita käytetään tietokonenäössä, puheentunnistuksessa ja satelliittikuvien tulkinnassa. Kuvassa 1 on mainittu oppivien ja älykkäiden järjestelmien erilaisia käyttötarkoituksia esimerkkinä.

Kuva 1.

Julkisyhteisöt

Rahoitus/tukipäätösten tekeminen, dokumenttien automaattinen käsittely, postikoodien tunnistus

Puolustusvoimat

Autonomiset laitteet ja aseet, kuljetuslogistiikka, kohteen tunnistus

Tiedonsiirto

Tiedon kompressointi, tietoverkon reititys, vikadiagnostiikka tietoverkoissa

Talous

Pörssikurssien ennustaminen, riskin arviointi, asiakkaan käyttäytymisen mallintaminen

Teollisuus

Mittaus, säätö ja ohjaus, vikadiagnostiikka, teollisuuslaitoksen logistinen suunnittelu

Lääketiede

Sydänfilmin analysointi, lääketieteellinen kuvankäsittely, potilasdiagnostiikka

Vartiointi

Kulunvalvontajärjestelmät, riskitekijöiden tunnistus

Kulutuselektroniikka

Kodinkoneet, valokopiokone, auton moottori, jarrut, jousitus, jne.

 

 

2. Oppivat ja älykkäät järjestelmät

Oppivien ja älykkäiden järjestelmien rajaaminen on vaikeata, jopa turhaakin. Tunnetuimpia näistä menetelmistä ovat neurolaskenta, sumeat järjestelmät ja geneettiset algoritmit.

Neurolaskennan avulla voidaan paljastaa tietomassoissa olevia lainalaisuuksia ja ryhmittymiä, joita on vaikeata tulkita ja löytää vanhoilla menetelmillä. Neurolaskennan älykkyys perustuu menetelmän kykyyn oppia tehtävien ratkaisut esimerkkien mukaan ja aikaisemmin ratkaistujen tehtävien soveltamiseen ennakkotapauksina. Laskenta suoritetaan neuroverkoilla, jotka koostuvat karttayksiköistä. Näillä on olemassa monta syötettä, mutta ainoastaan yksi vastine. Verkon opetusvaiheessa jokaista syötettä muutetaan ns. painokertoimella, jonka seurauksesta syötteiden vaikutusta verkon käyttäytymiseen vahvistetaan tai heikennetään.

Sumeat järjestelmät rakennetaan joukoista sumeita sääntöjä, joiden totuusarvot sovitetaan lukuina yhden (true) ja nollan (false) välille. Siis sääntöjen yhteisvaikutus määrä lopullisen tuloksen.

Geneettiset algoritmien joukko edustaa uusinta ajatusmallia oppivissa ja älykkäissä järjestelmissä. Tämä menetelmä perustuu pitkälti yrityksen ja erehdyksen menetelmän käyttöön ongelmanratkaisuissa. Yritys voidaan selventää menetelmäksi kehittää uusia muunnelmia nykyisistä ratkaisuista ja erehdys on taas testi, joka hylkää huonosti toimivat ratkaisut.

 

 

3. Neurolaskennan menetelmät

Neurolaskennan algoritmit voidaan jakaa kolmeen eriluokkaan: kiinteäpainoiset verkot, ohjatun oppimisen verkot ja itseoppivat verkot.

Kiinteissä verkoissa ei suoranaista oppimista tapahdu, vaan neuronien painot ovat edeltä käsin määritelty. Painojen määrittäminen tapahtuu matemaattisin menetelmin, josta tunnetuin on energiafunktion käyttö.

Kuva 2. Kiinteäpainoiset verkot

Ohjattu oppiminen on kaikkein suosituin neuroverkkoluokka. Tässä tapauksessa neuroverkko opetetaan joukolla syötteitä ja vastauksia, jolloin syntyy yleistävä laskentakaava. Laskennallisesti opetus on liian aikaan vievää, mutta opetusvaiheen jälkeen tapahtuva käyttö on tehokasta.

Kuva 3. Ohjattu oppiminen

Itseoppimisessa tunnetaan syöteinformaatio, mutta ei vastetta. Oppimisen tehtävänä on löytää samanlaisuuksia, koska näitä voidaan hyödyntää informaation tulkinnassa. Tätä menetelmää voidaan havainnollistaa siten, että syöteinformaation käyttäytymisestä muodostetaan malli neurolaskennalla. Opetusalgoritmissa neuronit kilpailevat keskenään siitä, mikä edustaa syötettä parhaimmin. Tunnetuin ohjaamattoman opetuksen menetelmistä on professori Teuvo Kohosen kehittämä itseorganisaatiokartta.

Kuva 4. Itseoppiminen

 

4. Itseorganisaatiokartta: SOM

Itseorganisaatiokartta kykenee käsittelemään valtaisat määrät informaatioita siten, että se etsii aineistosta keskinäisiä riippuvaisuuksia ja järjestää sitten aineiston sen mukaan. Suorituksen aikana järjestelmä oppii keräämästään ja luokittamastaan tiedosta. Menetelmä on levinnyt käyttöön ympäri maailman, ja tähän mennessä siitä on julkaistu yli 3700 tutkimusta.

Itseorganisaatiokartta on yleensä yksi- tai kaksiulotteisen muotoinen neuroverkko, jossa jokainen karttayksikkö on yksi prosessointiyksikkö eli neuroni. Kartalle olevat neuronit ovat vuorovaikutuksessa ympärillä sijaitsevien neuronien kesken. Kartan opetus perustuu ns. ohjaamattomaan opetukseen, jolloin kartan opetusvaiheessa ei käyttäjän tarvitse keskustella kartan kanssa. Opetusjoukolle ei määritellä vastineita, vaan ne syntyvät oppimisprosessin tuloksena.

Itseorganisoituvalla piirrekartalla on kaksi tärkeää omaisuutta: vektorikvantisointi ja jatkuva "topologinen " kuvaus kahden avaruuden välillä. Tämä merkitsee sitä, että neuronit pyrkivät muuttamaan painokertoimiaan kohti tilaa, jossa jokainen neuroni on keskimääräisesti yhtä usein aktiivinen ja aktiivisuudet ovat jakautuneet mahdollisimman tasaisesti erilaisten syötteiden joukkoon. Lisäksi neuronit, jotka ovat verkossa lähellä toisiaan reagoivat samantyyppisiin syötteisiin, kun taas verkossa kauempana olevat neuronit reagoivat erityyppisiin syötteisiin. Topologista itseorganisaatioverkkoa voidaan soveltaa moniin tehtäviin, joissa datan klusterointi, ryhmittely, korrelaatioiden etsiminen ym. ovat myös tärkeitä.

Esimerkki 1.

 

4.1 Kartan toiminta

Ennen opetuksen aloittamista on karttayksiköt alustettava, tällöin taulukolle annetaan alkuarvot. Alustaminen voidaan suorittaa yksinkertaisimmin satunnaisella alustamisella tai alustamalla satunnaisesti valittuihin opetusjoukon arvo-alueen arvoihin. Havainnollisesti on todettu, että opetus karkean alustuksen jäljiltä johtaa usein järkevään lopputulokseen. Kuitenkin alustuksen laatu vaikuttaa kartan järjestymisnopeuteen opetuksen kuluessa.

Kartan opetus tehdään lukemalla tiedostosta tai tietokannasta arvoja, jotka syötetään opetusalgoritmille piste kerrallaan. Opetusdatan etäisyys kartan jokaiseen karttayksikköön (neuroniin) lasketaan kaavasta 1.

Kaava 1. etäisyysij = SQRT((x1 - y1) 2+( x2 - y2) 2+ .... (xn - yn) 2), jossa

xn = tiedoston tai tietokannan n-solun arvo

yn = verkon neuronin n-solun arvo

Kun kartan jokainen karttayksikkö on käyty läpi, niin tällöin on löytynyt pienin etäisyyksien arvo syötteen ja kartan neuronin välillä. Tämä merkitsee sitä, että tämä kartan yksikkö on kaikista lähimpänä sitä opetusdatan arvoa sillä hetkellä. Tämän jälkeen kartan neuronin ja sitä ympäröivien neuronien arvoa muutetaan kertoimella lähemmäksi opetusdataa kaavan 2 mukaan.

Kaava 2. yij = yij + a(xi - yij ) , jossa

yij = verkon neuronin arvo

xi = tiedoston tai tietokannan arvo

a = muutoskerroin

Teuvo Kohonen mainitsee kirjassaan alustavaksi säännöksi tuhannen opetusaskeleen luokkaa oleva ensimmäinen, karkean opetuksen vaihe. Ensimmäisellä kierroksilla a arvo on lähellä ykköstä ja se pienenee luokittelun edistyessä kohti nollaa lineaarisesti tai on funktion mukaisesti ajan suhteen vähenevä. Lisäksi vaaditaan, että 0<a<1. a kertoimella muutetaan neuronin sisältöä ja tämän ympärillä olevia neuronien arvoja muutetaan esim. a/2 arvolla. Alussa a:n ollessa lähellä ykköstä, niin kartan liikkeet ovat suuria, mutta a:n arvon laskiessa nolla kohti muutokset pienevät ja muuttuvat ainoastaan ns. hienosäädöksi.

Kuva 2.

n

O

O

O

O

O

4

O

O

O

O

O

3

O

O

X

O

O

2

O

O

O

O

O

1

O

O

O

O

O

1

2

3

4

n

 

 

4.2 Kartan sovelluksia

Erityisesti SOM:n sovelluskohteita on paljon, joista voidaan mainita mm. paperin sekä puun pintavikojen automaattinen laadunvalvonta ja luokittelu. Tietoliikenteessä SOM:a käytetään esim. puhelinliikenteen analysoimiseen ja signaalien suodatukseen sekä virheiden korjaukseen ja havainnointiin. Eräs viimeisimmistä sovelluksista on avaruuskaukoputki Hubblen keräämien tietojen analysointi. Tällöin tuhansille galakseille löydettiin ennestään tuntematon luokitus.

WEBSOM on kehitetty Helsingin teknillisen korkeakoulun Neuroverkkojen tutkimuskeskuksessa. WEBSOM on menetelmä, jossa tekstidokumentit järjestetään kartoiksi tiedon etsimistä varten. Tämä ohjelma perustuu SOM-algoritmiin, joka järjestää dokumentit kaksi ulotteiselle kartalle siten, että tosiinsa lähellä olevat dokumentit sijaitsevat lähellä toisiaan. Tietokartta vastaa melko pitkälle tapaa, miten ihminen ajattelee; yhdestä asiasta tulee mieleen toinen. WEBSOM:a voidaan soveltaa esim. Internet-tietohakuun, mutta tällöin hakupohjana ei voi olla koko Internet vaan siitä tarkemmin rajattu aineisto.

 

5. Yhteenveto

Itseoraganisaatiokartta on käytetympiä neutraalilaskennan menetelmiä. Se on tehokas työväline moniulotteisen datan ryhmittelyssä. Kartta soveltuu hyvin yleisiin ja tiettyihin ryhmittelyihin, joka on syy sen suureen suosioon. Poikkeuksellisesti kartta ei sovellu yksittäisten tietojen käsittelyyn ja analysointiin.

Lähdeluettelo

  1. Helsingin Sanomat : Tieto & Kone. Tieto järjestyy kartaksi. 23.4.1999
  2. Helsingin Sanomat : Tieto & Kone. Neurovelhon elämän työ. 1.10.1999
  3. Pasi Koikkalainen : Neurolaskennan mahdollisuudet. Teknologian kehittämiskeskus (TEKES). TEKES 43/94, 1994 (kuvat)
  4. Teuvo Kohonen,Self-Organizing Maps. Springer, Berlin, Heidelberg, 1995.
  5. WEBSOM-Self-Organizing maps for Internet Exploration. Neutral Networks Research Centre, Helsinki University of Technology. http://websom.hut.fi/websom/
  6. Neuroverkkojen tutkimusyksikkö. http://www.hut.fi/Ajankohtaista/Neurocentrum/Neuroverkot.html
  7. The Self-organizing Map (SOM). http://www.cis.hut.fi/research/