Älykkäät järjestelmät

66
Älykkäät järjestelmät Tapio Grönfors Seppo Lammi Erkki Pesonen kevät 2003

Upload: xiang

Post on 27-Jan-2016

35 views

Category:

Documents


0 download

DESCRIPTION

Älykkäät järjestelmät. Tapio Grönfors Seppo Lammi Erkki Pesonen kevät 2003. Hahmontunnistus. Mitä se on ? Hahmontunnistus voidaan laajasti määritellä seuraavasti: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Älykkäät järjestelmät

Älykkäät järjestelmät

Tapio Grönfors Seppo LammiErkki Pesonen

kevät 2003

Page 2: Älykkäät järjestelmät

Hahmontunnistus Mitä se on ? Hahmontunnistus

voidaan laajasti määritellä seuraavasti: Se on joukko menetelmiä, joilla

luonnollisista kohteista kuten kuvista, puheesta tms. tunnistetaan joitakin mielekkäitä (olio)luokkia. (E. Oja: 'Neuraalilaskennan perusteet', 1996.)

engl. Pattern recognition; ruots. Mönsterigenkänning;

Page 3: Älykkäät järjestelmät

Hahmontunnistus perustuu hahmojen samanlaisuuteen Peruskysymys: "Milloin hahmo x

muistuttaa riittävästi hahmoa y, jotta ne kuuluvat samaan luokkaan?”

Hahmontunnistus on fyysisistä prosesseista tai kohteista tehtyjen mittausten kuvaus ja analysointi. Tavoitteena on käsitellä reaalimaailman havaintoja tietokoneella.

hahmo = todellisten kohteitten ideaalinen malli

Page 4: Älykkäät järjestelmät

Ihmisen vahvuudet hahmontunnistajana Pitkä ajanjakso havaintojen

analysointiin Kyky havaita olennaiset asiat Tehokas tietojenkäsittelylaitteisto

Eläimetkin tekevät hahmontunnistusta erittäin tehokkaasti, joten mitään korkeampaa älyä tämä toiminta ei vaadi?

Page 5: Älykkäät järjestelmät

Hahmontunnistuksen sovellusaloja …1. Dokumenttien käsittely, esimerkkinä optinen merkkienluku

(OCR). 2. Teollisuus- ja prosessiautomaatio, esimerkkeinä

painettujen piirien automatisoitu visuaalinen laadunvarmistus, paperin laadunvarmistus.

3. Lääketieteellinen kuva-ja signaalianalyysi, esimerkkeinä verisolujen automatisoitu luokittelu mikroskooppikuvien perusteella, automaattinen verenpaineen mittaus.

4. Puheen- ja puhujantunnistus, esimerkkeinä koneiden ohjaus puhekomentojen avulla, käyttäjän identifiointi ja valvonta.

5. Kaukokartoitus, robotiikka ja avaruustekniikka, esimerkkinä maaston luokittelu metsä-tyyppeihin sateliittikuvien perusteella.

Page 6: Älykkäät järjestelmät

Hahmontunnistusprosessin vaiheita 1: mittaukset ja esikäsittely

Aisteina anturit, esimerkiksi termopari, ultraäänikide, kamera tai mikroaaltokeilain

Anturit kerää raakadatan fyysisestä maailmasta

Esikäsittely pyrkii eliminoimaan häiriöt (kuvausvirheet, kohinan) ja kaventamaan informaatiokaistan olennaiseen

Page 7: Älykkäät järjestelmät

Hahmontunnistusprosessin vaiheita 2:piirteiden valinta ja erotus

Käytössä oleva tietomäärä on suuri, halutaan poistaa tunnistusprosessin kannalta tarpeeton!

Piirteiden valinta: kaikista piirteistä (esim. satelliittikuvan kanavista) valitaan sellainen osajoukko joka riittää tehtävän ratkaisemiseen

Muunnoksen avulla voidaan tietomäärän kokoa supistaa; hahmon sisältämä informaatiomäärä on pystyttävä tiivistämään mahdollisimman tehokkaasti olennaiseen

Ihmisen suorittama hahmontunnistus perustuu muutamiin tärkeimpiin ominaisuuksiin pyritään samaan

Page 8: Älykkäät järjestelmät

Hahmontunnistusprosessin vaiheita 3:Piirteiden esitysmuodon valinta

Tarvitaan tietorakenne piirteiden tallettamiseksi: Vektori (signaali), piirrevektorit Matriisi (digitaalinen kuva) Monimutkaisempia puu- ja

verkkorakenteet Yksittäinen piirre voidaan ajatella

numeeriseksi suureeksi

Page 9: Älykkäät järjestelmät

Hahmontunnistuksen vaiheita 4:varsinainen tunnistus

Hahmot jaotellaan joko tunnettuihin (ohjattu luokittelu) tai tuntemattomiin luokkiin (ohjaamaton luokittelu)

Mitataan jollain menetelmällä hahmojen saman- tai erikaltaisuuksia

Oleellista on myös määrittää tunnistuksen luotettavuus!

Page 10: Älykkäät järjestelmät

Hahmontunnistuksen lähestymistapoja

Laaja joukko erilaisia menetelmiä, joista tärkeimpiä: Tilastollinen eli päätösteoreettinen hahmontunnistus Rakenteellinen eli syntaktinen hahmontunnistus Tietämyspohjainen hahmontunnistus

Käytönnön sovelluksissa käytetään eri menetelmien yhdistelmiä (mm. syntaksiohjattu tilastollinen hahmontunnistus, sumea tilastollinen hahmontunnistus).

Engl.: The classification model

Page 11: Älykkäät järjestelmät

Tilastollisen ja rakenteellisen hahmontunnistuksen eroja

Tilastollinen havainnot numeerisia, tyyppillisesti vektorimuotoisia

esityksiä luokittelu perustuu (lineaariseen) tilastolliseen

päätösteoriaan neuroverkot ’laajentaa’ tilastollista hahmontunnistusta

epälineaarisella päätösteorialla Rakenteellinen

havainnot symbolisia esityksiä, joilla vektoria yleisempi rakenne, kuten graafi

luokittelu perustuu rakenteen selvittämiseen esimerkiksi kieliopillisella jäsentämisellä

voidaan kuvata symbolien suhdetta toisiinsa

Page 12: Älykkäät järjestelmät

Luokittelu Hahmo liitetään siitä tehtyjen havaintojen (mittausten,

syötteiden, inputs) perusteella johonkin ennaltamäärättyyn luokkaan.

Luokka on diskreetti satunnaismuuttuja. Esim. Käsikirjoitettujen numerojen liittäminen niitä vastaviin

luokkiin 0,1,…,9 ja NaN. Käytönnöllinen ongelma esimerkiksi ääntenlaskennassa vaalilipuista: periaatteessa ääretön määrä hahmoja luokiteltava vain äärelliseen, yleensä pieneen määrään eri luokkia.

(Sallittu) vaihtelun suuruus samaan luokkaan kuuluvien hahmojen välillä vs. eroavaisuudet eri luokkiin kuuluvien hahmojen välillä!

engl. Classification; classification -- assigning an input to a category

Page 13: Älykkäät järjestelmät

Ehjä Viallinen

Ehjä? 291 7

Viallinen? 384 318

Ehjä Viallinen

Ehjä? 581 94

Viallinen? 122 203

Hahmontunnistuksen luotettavuudesta Mikä on ’kustannus’ jos viallinen tuote

luokitellaan ehjäksi vs. ehjä tuote luokitellaan vialliseksi, lääketieteellinen diagnostiikka, yms.

true positive (TP):tuote ehjä ja hahmontunnistus luokittelee sen ehjäksitrue negative (TN):tuote viallinen ja hahmontunnistus luokittelee sen vialliseksifalse positive (FP):tuote viallinen, mutta hahmontunnistus luokittelee sen ehjäksifalse negative (FN):tuote ehjä, mutta hahmontunnistus luokittelee sen vialliseksi

todellinen luokka todellinen luokka

ennuste

ttu lu

okka

ennuste

ttu lu

okka

Page 14: Älykkäät järjestelmät

Hahmontunnistuksen herkkyys ja tarkkuus

Luokittimen herkkyys (sensitivity): oikeiden positiivisten tulosten suhteellinen osuus

kaikista oikeasti positiivisista tapauksista true positive rate Esim. 291 / (291 + 384), 581 / (582 + 122)

Luokittimen tarkkuus (specificity): oikeiden negatiivisten tulosten suhteellinen osuus

kaikista negatiivisista tapauksista true negative rate Esim. 318 / (318 + 7), 203 / (203 + 94)

Page 15: Älykkäät järjestelmät

Lisää herkkyydestä ja tarkkuudesta

Kaikki arvot suhdelukuja [0,1] Väärien positiivisten osuus:

false positive rate (väärien positiivisten osuus) = 1 – tarkkuus

(oikeiden positiivisten osuus)+(väärien negatiivisten osuus) = 1

(oikeiden negatiivisten osuus)+(väärien positiivisten osuus) = 1

Page 16: Älykkäät järjestelmät

Toimintaominaiskäyrä (ROC-käyrä)

receiver operating characteristic curve Oletetaan että olemassa parametri t,

joka vaikuttaa luokittimen herkkyyteen ja tarkkuuteen tutkimalla luokittimen luokittelukykyä eri parametrin arvoilla voidaan piirtää kaksiulotteinen graafinen kuvaaja true positive rate ja false positive rate arvojen käyttäytymisestä

Page 17: Älykkäät järjestelmät

ROC-käyrä Hyödytön luokitin: ROC-

käyrä kulkee diagonaalisuorana pisteiden (0,0) ja (1,1) välillä

Ideaaliluokitin: ROC-käyrä kulkee pisteestä (0,0) pystysuorasti pisteeseen (0,1) ja sitten vaakasuorasti pisteeseen (1,1)

Page 18: Älykkäät järjestelmät

Luokittimen laadusta

ideaali

parempi

huonompi

lantinheitto

Page 19: Älykkäät järjestelmät

Piirteet Hahmoon voi liittyä periaatteessa

hyvin suuri määrä havaittavia tai mitattavia ominaisuuksia, joita voidaan käyttää syötteinä luokittelussa. Kaikki eivät kuitenkaan vaikuta luokitteluun.

Hahmon luokitteluun valittuja syötteitä kutsutaan piirteiksi.

engl. Features

Page 20: Älykkäät järjestelmät

Piirreirroitus Piirreirroitus (tai piirre-erotus) on kaikille

hahmontunnistustehtäville yhteinen vaihe, jossa määritetään hahmoja karakterisoivat ominaisuudet (l. piirteet), joita käytetään luokitteluun.

Piirteiden valintaan ja irroitukseen kiinnitetään vähemmän huomiota kuin hahmontunnistuksen muihin menetelmiin.

engl. Feature extraction

Page 21: Älykkäät järjestelmät

Hahmontunnistus on mallinnusprosessi

Reaalimaailmasta luodaan hahmon muodossa (yksinkertaistettu, approksimoiva) malli, joka on vuorovaikutuksessa siihen piirteidensä (inputs) ja luokituksen (outputs) välityksellä.

Mallin ydin on piirteet ja luokat liittävä luokittelija.

Page 22: Älykkäät järjestelmät

Piirrevektori ja piirreavaruus Luokittelussa tarvittavien – mahdollisesti

erityyppisten – piirteiden yhdistelmää kutsutaan piirrevektoriksi.

Kukin d-ulotteinen piirrevektori on tällöin piste d-ulotteidessa piirreavaruudessa .

Piirrevektori on d-ulotteinen satunnaisvektori, jolla oletetaan olevan jatkuva jakauma (ellei toisin mainita)

dffff ,...,, 21

engl. Feature vectors; engl. Feature space

Page 23: Älykkäät järjestelmät

Piirteiden ongelmat Piirteiden tulisi olla sellaiset, joiden hajonta

samalla hahmolla olisi mahdollisimman pieni, mutta joiden poikkeama eri hahmojen piirteistä mahdollisimman suuri.

Ongelmanasettelut: ”How to avoid high sensitivity of irrelevant features?”,”How do we determine how good a subset of features are?”,”How do we search for the best set of features?”

Piirteiden on sisällettävä informaatiota, joka poistaa epävarmuutta!

Page 24: Älykkäät järjestelmät

Luokista ja hahmoista Todennäköisyydet

Luokan c prioritodennäköisyys (prior probability)

Luokan c posterioritodennäköisyys (posterior probbability) piirrevektorin arvolla d

)Ρ()( cCcP

)|Ρ()|( dDcCdcP

Page 25: Älykkäät järjestelmät

Entropia ja informaatio Entropia kuvaa sekä epävarmuuden

määrää että informaation määrä: järjestelmän tapausten keskimääräinen

informaatio mitattavan suureen epävarmuus

Energian kaltainen perussuure (jolla lisäksi läheinen suhde energiaan termodynamiikan kautta)

Informaatioteoreettinen entropia eli haje

Page 26: Älykkäät järjestelmät

Diskreetin järjestelmän entropia perustuu tulosvaihtoehtojen

esiintymistodennäköisyyksiin pi, N eri tulosvaihtoehtoa, pi = 1

jos logaritmin kantaluku on 2, yksikkö on bit, jos kantaluku e, yksikkö on nat ja jos kantaluku 10, yksikkö on dit

Hyvin epätodennäköisen tapahtuman sisältämä informaatio on suuri

N

iiin ppH

1

log

Page 27: Älykkäät järjestelmät

Binaaridatan entropia

Entropia saa suurimman arvonsa kun sanomien/tapahtumien/luokkien todennäköisyydet ovat yhtäsuuria.

Page 28: Älykkäät järjestelmät

Entropian muita ominaisuuksia1. entropia voi saada vain ei-negatiivisia arvoja2. entropia saa arvon nolla, jos jokin mahdollisista

tapauksista on täysin varma muiden ollessa täysin mahdottomia (informaatio puuttuu varmassa tapauksessa)

3. entropia ei lisäänny täysin mahdottoman tapauksen lisäämisestä kaikkien tapauksien joukkoon

4. entropia on jatkuva5. tapausten järjestysten vaihtaminen ei vaikuta

entropiaan (vaihdannaisuus)6. entropia on suurimmillaan eri tapausten yhtä

suurilla todennäköisyyksillä (maksimientropia)

Page 29: Älykkäät järjestelmät

Piirteiden valinta Usein yksittäisen piirteen merkitys on

vähäinen. Laskennallisesti suuri joukko heikkoja tai

merkityksettömiä piirteitä on tehoton ratkaisu, voi aiheuttaa myös ennakoimattomia luokitusongelmia (kohina, distortio, ...). Exhaustive methods Stepwise selection Feature combination

engl. Feature selection

Page 30: Älykkäät järjestelmät

Exhaustive methods Ainoa ehdottomasti varma menetelmä löytää

parhaat piirteet, mutta koska brute force, usein laskennallisesti mahdoton!

Systemaattisesti läpikäydään kaikki mallin piirteiden osajoukot ja kullekkin osajoukolle:

1. Laaditaan luokittelija2. Käyttäen erillistä testiaineistoa määritellään sen

luokituskyky (virhe)3. Tallennetaan osajoukko jolla paras luokituskyky (pienin

virhe) Ongelmia

1. suuri piirreavaruus d (kombinatorinen räjähdys)2. ylioppiminen testiaineistolle, yleisyys kuitenkin katoaa

Page 31: Älykkäät järjestelmät

Stepwise selection Laskennallista kuormaa voidaan vähentää

valitsemalla piirteitä yksitellen: Eteenpäinvalinta (Forward selection): Valitaan paras

piirre ja sen jälkeen valitaan se yksittäinen piirre joka eniten lisää luokituskykyä; toistetaan niin kauan kuin luokituskykyä voidaan parantaa.

Taaksepäin eliminointi (Backward elimination): Jäljellä olevasta joukosta poista se piirre joka pienentää luokituskykyä vähiten (tai jonka poistaminen jopa parantaa sitä); toisteaan niin kauan kuin haluttu luokituskyky saadaan.

Molemma yllämainitut ovat heuristisia menetelmiä ja eivät voi taata optimaalisuutta!

Page 32: Älykkäät järjestelmät

Luokituksen malli tilastollisessa hahmontunnistuksessa

Luokitus koostuu kahdesta peräkkäisestä vaiheesta, jotka on toteutettu itsenäisinä järjestelminä: piirreirrotus ja luokittelu.

Kuvaus d-ulotteisesta piirreavaruudesta c-ulotteiseen luokkien joukkoon.

engl. The standard classification model

Page 33: Älykkäät järjestelmät

Yksinkertainen luokittelija

Luokittelutehtävä voidaan muotoilla matemaattisesti ja ratkaista matriisi- ja todennäköisyyslaskennan välineillä. Tässä yhteydessä otamme intuitiivisemman katsauksen välineisiin ilman todistuksia. Matemaattinen esitys löytyy mm. http://www.rni.helsinki.fi/opetus/hahmo02/

Luokitin on yksinkertaisesti funktio, joka kertoo arvauksen siitä mistä luokasta piirrevektori on peräisin!

Page 34: Älykkäät järjestelmät

Tilastollisten luokittimien perustyypit

Tilastollisen hahmontunnistuksen luokittimet jaetaan kahteen perustyyppiin:

1. Parametrinen luokittelija, tyypillisin esimerkki on Bayesin luokittelija, joka kuten kaikki parametriset luokittimet, perustuu tilastolliseen malliin, jossa oletetaan tunnetuksi luokkien hahmovektoreiden todelliset todennäköisyysjakaumat. Samoin oletetaan tunnetuksi luokkien esiintymistodennäköisyydet.

2. Ei-parametrinen luokittelija, tyypillisin esimerkki on lähimmän naapurin luokittelija. Siinä ei oleteta tunnetuksi mitään luokkien todellisesta tiheysfunktioista, vaan ainoastaan opetusjoukko, joka sisältää näytteitä kustakin luokasta.

Page 35: Älykkäät järjestelmät

Erotinfunktio ja Bayesin luokitin

discriminant function Bayesin luokitin g erotinfunktiolla Dk:

arg max on funktio, joka palauttaa sen argumentin k arvon, jolla arg max funktion sisällä oleva k:n funktio saavuttaa maksiminsa

arg max palauttaa indeksiltään numeerisesti pienimmän maksimoivista argumenteista (tasapelitilanteessa!)

arg min voidaan määritellä vastaavasti minimin avulla

)(maxarg)(,...,1

XDXg kck

Page 36: Älykkäät järjestelmät

Bayesin luokitin Vaatimuksena on että tunnetaan luokkien

posterioritodennäköisyydet piirrearvaruudessa P(c|d)

Luokitin arvaa piirrevektorin X olevan peräisin käytettävissä olevan tiedon nojalla todennäköisimmästä luokasta, eli siitä, jonka posterioritodennäköisyys on suurin

)|(maxarg)(,...,1

* XkPXgck

Page 37: Älykkäät järjestelmät

Esimerkkiluokitin

Luokat w1 ja w2: luokka w1 valitaan piirrevektorin arvoilla alueella r1 ja luokka w2 alueella r2

esim. x = pituus ja w1 = ”nainen”, w2 = ”mies”

Page 38: Älykkäät järjestelmät

Päätösrajat

Hahmon luokittelija jakaa piirreavaruuden päätösalueiksi kutsuttuihin osiin. Kaikki samaan päätösalueeseen kuuluvat piirrevektorit kuuluvat samaan luokkaan. Päätösalueita erottaa päätösrajoiksi kutsutut pinnat. Päätösalueiden muoto voi olla hyvinkin kompleksinen!

engl. Decision boundaries

Page 39: Älykkäät järjestelmät

Lineaariset luokittimet Lineaarisen luokittimen päätöspinta

oletetaan lineaariseksi (esim. suora), mikä helpottaa luokittimen rakentamista.

Lineaarinen luokitinfunktio:

missä X on d-ulotteinen piirrevektori, W on d-ulotteinen piirrevektori

Lineaarinen luokitin voidaan ajatella verkkona toisistaan riippumattomia luokittimia luokille k = 1,…,c

ock

Tk wXWXg

,...,1

)(sisätulo

Page 40: Älykkäät järjestelmät

Fisherin lineaarinen erotin Menetelmässä piirreavaruuden datapisteet

projisoidaan 1-ulotteiselle suoralla. Piirrevektori voi silti olla moniulotteinen.

Luokat oletetaan normaalisti jakautuneiksi. Suoran määrittelee vektori W, jolle

projisoimalla piirrevektori X, saadaan pisteen sijainti y suoralla.

Toiveena on, että jakamalla suora kahteen osaan kohtisuoralla pinnalla, saadaan parhaiten erotteleva kahden luokan välinen lineaarinen päätöspinta!

Page 41: Älykkäät järjestelmät

Fisherin lineaarisen erottimen esimerkki

engl.: Fisher linear discriminant

Page 42: Älykkäät järjestelmät

Mallin sovitus Mallin sovituksessa verrataan

luokiteltavaa (kohinaista) hahmoa (kohinattomiin) malleihin, jotka on valittu edustaviksi esimerkeiksi kustakin luokasta.

Vertaillaan eroavuuksia tai vastaavuuksia, päätös samankaltaisuudesta tehdään niiden pohjalta

engl. Template matching

Page 43: Älykkäät järjestelmät

Esimerkki mallin sovituksesta

Oikeanpuolisten sarakkeiden 16 x 16 pistematriisinumeroita verrataan vasemman sarakkeen kohinattomiin malleihin.

Vertailu voidaan tehdä joko laskemalla vastaavuudet (musta hahmossa – musta mallissa, valkea hahmossa – valkea mallissa) tai eroavuudet (musta hahmossa kun mallissa valkea ja päinvastoin). Tehokas menetelmä kun ainoat muutokset hahmossa johtuu kohinasta (ns. additive noise), mutta toimii huonosti jos hahmosssa vääristymää l. distortiota (kallistumia, kiertymiä, rypistymiä, siirtymiä, ...).

Page 44: Älykkäät järjestelmät

Pienimmän etäisyyden luokittimet

Oletetaan x tuntemattoman hahmon piirrevektoriksi ja vektorit m1, m2, …, mc malleiksi eli ”täydellisiksi”, kohinattomiksi piirrevektoreiksi, joista kukin edustaa yhtä luokista 1, 2, …, c. Tällöin voidaan määritellä tuntemattoman hahmon ja mallin etäisyys (l. normi):

Dk = || x – mk ||

Pienimmän etäisyyden luokitin laskee etäisyydet Dk kaikkien mallien (1,…,k) ja tuntemattoman hahmon piirrevektorin välillä ja valitsee luokaksi pienimmän etäisyyden luokan (pienimmän virheen luokan).

engl. Minimum-distance classifiers

Page 45: Älykkäät järjestelmät

Etäisyysmitat/-funktiot Etäisyyden eli normin määrittelemiseen on useita eri

tapoja joita kutsutaan metriikoiksi, tässä etäisyysmitoiksi. Hamming: Eroavien bittien määrä kahdessa bittivektorissa

(piirreavaruudessa) Manhattan: Kahden pisteen välinen etäisyys mitattuna

suorakulmaisia akseleita pitkin (piirreavaruudessa)• Mieti: the moves of a rook in chess

Euclidean: Suoran viivan pituus kahden pisteen välillä (piirreavaruudessa)

Mahalanobis: Kovariansiin liittyvä etäisyys elliptisessä avaruudessa

• Mahalanobiksen edut: koordinaattiakselien skaalaus, piirteiden välinen riippumattomuus, ylilineaariset päätösrajat

Page 46: Älykkäät järjestelmät

Etäisyydestä yleisemmin Periaatteessa samankaltaisuus/ erinlaisuus

voi perustua mihin informaatioon tahansa! Yleensä käytetään seuraavia pelisääntöjä:

refleksiivisyys d(X,X)=0, eli hahmon etäisyys itseensä on olematon

symmetrisyys d(X,Y) = d(Y,X) kolmioepäyhtälö d(X,Y) d(X,Z) + d(Z,Y)

Etäisyysmitan d(X,Y) avulla voidaan piirrevektorit järjestää jonkin piirreavaruuden pisteen suhteen järjestykseen.

Page 47: Älykkäät järjestelmät

Etäisyysmitoista binaarisille arvojoukoille

Yksittäinen piirre on 0 tai 1 (bitti); piirrevektorit X,Y [0,1]k

Verrataan piirrevektoreita piirteittäin i = 0,…,k-1 a on lukumäärä esiintymistä Xi = 1 ja Yi = 1 b on lukumäärä esiintymistä Xi = 0 ja Yi = 1 c on lukumäärä esiintymistä Xi = 1 ja Yi = 0 d on lukumäärä esiintymistä Xi = 0 ja Yi = 0

Binaaristen piirrevektorien etäisyys voidaan ilmaista eritavoin lukumäärien a, b, c ja d suhteina.

Page 48: Älykkäät järjestelmät

Etäisyysmitoista binaarisille arvojoukoille Yksinkertainen täsmäys

Jaccard etäisyys

Dice etäisyys

cba

aYXd jaccard

),(

cba

aYXddice

2

2),(

dcba

daYXdsimple

),(

Page 49: Älykkäät järjestelmät

Yleinen Minkovskin eli L-metriikka

Yleinen muoto josta johdettavissa muut

p=1 (Manhattan eli kortteli)

p=2 (Euklidinen)

p

i

p

ii YXYXd

1

minkovski ),(

i

iicityblock YXYXd ),(

i

iieuclid YXYXd2

),(

Page 50: Älykkäät järjestelmät

Päätösrajat pienimmän etäisyyden luokittimessa

Pienimmän etäisyyden luokittimessa nämä päätösrajat ovat pisteitä, jotka ovat yhtä etäällä kahdesta tai useammasta luokan sovitettavasta mallista (template).

Euklidisessa metriikassa tämä tarkoittaa että päätösrajat ovat viivoja ja tasoja, erityisesti kohtisuorassa kahta luokan mallia yhdistävästä suorasta.

Page 51: Älykkäät järjestelmät

k-lähimmän naapurin luokitin

idea: piirrevektorin X luokaksi arvataan se luokka c mikä esiintyy useimmiten piirrevektorin k lähimmän mallivektorin ympäristössä

periaatteeltaan yksinkertainen, suhteellisen robustinen, mutta laskennaltaan kompleksinen

1-lähimmän naapurin luokitin tutustuttiin edellä

k-NN-classifier

Page 52: Älykkäät järjestelmät

k-lähimmän naapurin luokitin

Opetusjoukko luokiteltuja hahmovektoreja muodostaa itsessään luokittelijan (tilastollisia jakaumi yms. ei tarvita).

Intuitiivinen tausta niiden käyttöön luokittelijana on, että lähellä (jollakin metriikalla) olevat tunnistamattomat havainnot kuuluvat samaan luokkaan.

Page 53: Älykkäät järjestelmät

Enemmistö ratkaisee

the majority vote Tutkitaan mihin luokkaan enemmistö

tuntemattoman piirrevektorin X k-lähimmästä naapurista kuuluu. Nimetään tuntematon X enemmistön mukaan kuuluvaksi luokkaan c.

Page 54: Älykkäät järjestelmät

Edellytyksiä hyvälle k-lähimmän naapurin luokittelijalle

Naapurikoko k yleensä pariton (ja usein k=3). Siis, k pitää olla riittävän suuri, jotta virheluokittelun todennäköisyys minimoituu sekä k pitää olla riittävän pieni (suhteessa opetusaineiston kokoon), jotta naapuruston pisteet ovat riittävän läheltä antaakseen luotettavan arvion todellisesta luokasta.

Luokitetun aineiston (opetusaineiston) tulee olla suuri hyvät hakualgoritmit.

Page 55: Älykkäät järjestelmät

Yksinkertaisen luokittelijan rajoitukset

1. Piirteet eivät sisällä (riittävästi) informaatiota hahmojen erottelemiseksi luokkiin:

• etsi ja/tai valitse paremmat piirteet

2. Jotkin piirteet (joiden tarkoitus on mitata hahmon eri ominaiuuksia) ovat keskenään riippuvia tai toisiinsa vaikuttavia, siten että ne pyrkivät vaihtelemaan yhdessä:

• valitse riippumattomat piirteet, valitse toinen metriikka, tarkista skaalaus

3. Piirreavaruuteen ei synny yhtenäisiä päätösalueita (syystä tai toisesta, yleensä jakautuu hyvin moniin aliluokkiin):

• uudelleensuunnittele piirrejoukko

Page 56: Älykkäät järjestelmät

Yksinkertaisen luokittelijan rajoitukset

4. Euklidisten etäisyysmittojen lineaariset päätösrajat eivät ole riittäviä erottamaan luokkia toisistaan:

1. uudelleensuunnittele piirrejoukko, 2. valitse metriikka joka pystyy ylilineaarisiin päätösrajoihin

(esim. Mahalanobis), 3. neuraalilaskennan menetelmät (myöhemmin kurssissa)

5. Yhtä “luonnollista” luokkaa vastaa usea piirreavaruuteen jakautunut aliluokka:

• käytä ryvästysmenetelmiä etsimään aineistossa olevat aliluokat ja etsi niiden vastineet luokille

Page 57: Älykkäät järjestelmät

Luokittelijan muodostaminen

Useita lähestymistapoja1. Jos jokaisen luokan piirrevektorien todennäköisyysjakaumat

tunnetaan, voidaan soveltaa ns. Bayesin luokittelusääntöä , joka minimoi virheluokituksen riskin tai todennäköisyyden. • Useimmiten piirteiden oletetaan noudattavan normaalijakaumaa. Usean

piirteen tapauksessa tarvitaan monen muuttujan todennäköisyysjakaumia laskennallisesti hyvin työlästä.

2. Jos todennäköisyysjakaumia ei tunneta, mutta opetusjoukossa riittävästi näytteitä (prototyyppejä) kunkin luokan hahmoista on, voidaan jakaumat oppia (estimoida). • Mikäli jakauman periaatteellinen muoto tunnetaan, riittää pelkästään jakaumien

parametrien oppiminen (keskiarvot ja hajonnat).

3. Jos jakaumia ei tunneta ja näytteitä opetusjoukossa on liian vähän luotettavaa estimointia varten, on turvauduttava ei-parametrisiin menetelmiin. Luokitin pyritään oppimaan suoraan opetusjoukosta ja täten suoraan määräämään piirreavaruuden päätöspinnat. • Tunnettu esimerkki on k:n lähimmän naapurin menetelmä.

Page 58: Älykkäät järjestelmät

Mallin validointi Luokittelijan hyvyys (=keskeinen

ominaisuus!) määräytyy sen virhesuhteen (engl. error rate) mukaan. Luokittelija testataan aineistolla jonka hahmovektorien luokat on tunnettu ja verrataan tulosta!

engl. Validation

Page 59: Älykkäät järjestelmät

Mallin validointimentelmiä testing on the training data: Testiaineistona

käytetään mallin muodostuksessa käytettyä opetusaineistoa. Hyvä ’välttämätön ehto’ on että malli luokittaa hyvin opetusaineistonsa.

holdout method: Käytetään erillistä testiaineistoa jakamalla opetusaineisto ennen opetusta kahteen osaan, joista toista ei käytetä opettamiseen. Hyvä, mutta vaatii aineistolta enemmän kokoa.

k-fold cross-validation: Jaetaan opetusaineisto k yhtäsuureen osaan, joista k-1 käytetään opettamiseen ja 1 testaamiseen toistaen opetetus-/testausvaiheet k kertaa. Hyvä, joskin aikaavievä.

Page 60: Älykkäät järjestelmät

Oppiminen esimerkeistä Learning the mean vector: Jos käytettävissä on

samaan luokkaan kuuluvat piirrevektorit {x(1),x(2),...,x(n)} (opetusjoukko, näytteet), voidaan malli muodostaa keskiarvoistamalla m(n) = [x(1) + x(2) + ... + x(n)]/n

Sequential learning: Malli voi olla myös asteittain tarkentuva (uusia samaan luokkaan kuuluvia piirrevektoreita ilmaantuu lisää), jolloin m(n+1) = (n/n+1) m(n) + (1/n+1) x(n+1)

engl.Learning from examples

Page 61: Älykkäät järjestelmät

Klusterointi eli ryvästäminen

Muodostaako opetusjoukko luonnollisia ryhmittymiä, jotka vastaavat tiettyä luokkaa?

Yhteenkuuluvia piirrevektoreita voidaan etsiä klusteroinilla eli ryvästämisellä: The k-means procedure The fuzzy-k-means procedure * The sequential-k-means procedure * Self-organizing feature maps

The problem of finding subclasses in a set of examples from a given class is called unsupervised learning. The problem is easiest when the feature vectors for examples in a subclass are close together and form a cluster.

engl. Clustering

Page 62: Älykkäät järjestelmät

The k-means procedure Oletetaan että opetusjoukossa on n piirrevektoria

x1,x2,...,xn, jotka voidaan ryvästää k ryppääseen, jossa k < n. Klusterin i keskiarvo (keskipiste) olkoon vektori mi. Jos klusterit eli ryväkset ovat hyvin erottuvia, voidaan ne erotella pienimmän etäisyyden luokittimella.

Seuraavalla algoritmilla:• Arvaa alkuarvot klusterien keskiarvoille m1,m2,...,mk

• REPEAT• Käytä keskiarvoja mi luokittelemaan piirrevektorit x1,x2,...,xn

• FOR i = 1 TO k• Korvaa mi kaiklla klusteriin i kuuluvien piirrevektorien keskiarvolla

• UNTIL yhdenkään klusterin keskiarvo mi ei muutu

Page 63: Älykkäät järjestelmät

Aineiston opittavuus Swingler (1996), menetelmä perustuu

informaatioteoriaan ja entropiaan molemminpuolisen informaation ja entropian suhde paljastaa aineiston opittavuuden.

Luokkien todennäköisyydet P(yi) ja entropia-arvo:

Luokan yi ehdollinen entropia, kun se kuuluu piirrevektorille xi :

)(log)()( ii

i yPyPYH

),(

)(log),()|(

ji

jj

i ji xyP

xPxyPXYH

Page 64: Älykkäät järjestelmät

Molemminpuolinen informaatio ja opittavuus

Molemminpuolinen informaatio

Opittavuussuhde (välillä 0..1):

Arvon ollessa lähellä ylärajaa 1, on aineisto hyvin opittavaa

)|()();();( XYHYHXYIYXI

)(

);(

YH

XYIr

Page 65: Älykkäät järjestelmät

Aineiston sironta Kiinnittää Swinglerin suhdetta paremmin huomion tapausten

sijoittumiseen piirreavaruudessa! Sironnan laskenta:

1. valitaan opetusaineiston piirrevektoreista satunnainen aloitustapaus, laskuri a = 0

2. valitaan (halutulla metriikalla) tapauksen lähin naapuritapaus ja poistetaan edellinen tapaus

3. jos lähin naapuritapaus on eri luokassa, kasvatetaan laskuria a yhdellä

4. palataan kohtaan 2, kunnes aineisto on läpikäyty Tulkinta:

aineisto jossa luokat ovat täysin sekaisin, on paljon vaihtelua eli lukua a kasvaa suureksi

aineisto jossa luokat ovat sijoittuneet piirreavaruuteen paikallisesti eri alueille, vaihtelua on vähän (aluokkien määrä)

Siermala, 1999

Page 66: Älykkäät järjestelmät

Osio vaihtuu … Hahmontunnistuksen menetelmien

edelleenkehitys ja soveltaminen: koneoppiminen (machine learning):

luokittelujen tai toimintojen automaattinen oppiminen esimerkeistä

tiedonlouhinta/-jalostus (data mining): suurissa data-aineistoissa ilmenevien säännönmukaisuuksien automaattinen havaitseminen

neuroverkot: yksinkertaistettujen hermosolumallien motivoima menetelmien perhe