1 / 66

Älykkäät järjestelmät

Ä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:

xiang
Download Presentation

Älykkäät järjestelmät

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Älykkäät järjestelmät Tapio Grönfors Seppo LammiErkki Pesonen kevät 2003

  2. 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;

  3. 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

  4. 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?

  5. Hahmontunnistuksen sovellusaloja … • Dokumenttien käsittely, esimerkkinä optinen merkkienluku (OCR). • Teollisuus- ja prosessiautomaatio, esimerkkeinä painettujen piirien automatisoitu visuaalinen laadunvarmistus, paperin laadunvarmistus. • Lääketieteellinen kuva-ja signaalianalyysi, esimerkkeinä verisolujen automatisoitu luokittelu mikroskooppikuvien perusteella, automaattinen verenpaineen mittaus. • Puheen- ja puhujantunnistus, esimerkkeinä koneiden ohjaus puhekomentojen avulla, käyttäjän identifiointi ja valvonta. • Kaukokartoitus, robotiikka ja avaruustekniikka, esimerkkinä maaston luokittelu metsä-tyyppeihin sateliittikuvien perusteella. …

  6. 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

  7. 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

  8. 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

  9. 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!

  10. 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

  11. 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

  12. 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

  13. Hahmontunnistuksen luotettavuudesta • Mikä on ’kustannus’ jos viallinen tuote luokitellaan ehjäksi vs. ehjä tuote luokitellaan vialliseksi, lääketieteellinen diagnostiikka, yms. todellinen luokka todellinen luokka ennustettu luokka ennustettu luokka true positive (TP):tuote ehjä ja hahmontunnistus luokittelee sen ehjäksi true negative (TN):tuote viallinen ja hahmontunnistus luokittelee sen vialliseksi false positive (FP):tuote viallinen, mutta hahmontunnistus luokittelee sen ehjäksi false negative (FN):tuote ehjä, mutta hahmontunnistus luokittelee sen vialliseksi

  14. 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)

  15. 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

  16. 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ä

  17. 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)

  18. Luokittimen laadusta ideaali parempi huonompi lantinheitto

  19. 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

  20. 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

  21. 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.

  22. 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) engl. Feature vectors; engl. Feature space

  23. 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!

  24. Luokista ja hahmoista • Todennäköisyydet • Luokan c prioritodennäköisyys (prior probability) • Luokan c posterioritodennäköisyys (posterior probbability) piirrevektorin arvolla d

  25. 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

  26. 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

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

  28. Entropian muita ominaisuuksia • entropia voi saada vain ei-negatiivisia arvoja • entropia saa arvon nolla, jos jokin mahdollisista tapauksista on täysin varma muiden ollessa täysin mahdottomia (informaatio puuttuu varmassa tapauksessa) • entropia ei lisäänny täysin mahdottoman tapauksen lisäämisestä kaikkien tapauksien joukkoon • entropia on jatkuva • tapausten järjestysten vaihtaminen ei vaikuta entropiaan (vaihdannaisuus) • entropia on suurimmillaan eri tapausten yhtä suurilla todennäköisyyksillä (maksimientropia)

  29. 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

  30. 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: • Laaditaan luokittelija • Käyttäen erillistä testiaineistoa määritellään sen luokituskyky (virhe) • Tallennetaan osajoukko jolla paras luokituskyky (pienin virhe) • Ongelmia • suuri piirreavaruus d (kombinatorinen räjähdys) • ylioppiminen testiaineistolle, yleisyys kuitenkin katoaa

  31. 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!

  32. 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

  33. Yksinkertainen luokittelija Luokitin on yksinkertaisesti funktio, joka kertoo arvauksen siitä mistä luokasta piirrevektori on peräisin! • 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/

  34. Tilastollisten luokittimien perustyypit • Tilastollisen hahmontunnistuksen luokittimet jaetaan kahteen perustyyppiin: • 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. • 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.

  35. 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

  36. 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

  37. 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”

  38. 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

  39. 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 sisätulo

  40. 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!

  41. Fisherin lineaarisen erottimen esimerkki engl.: Fisher linear discriminant

  42. 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

  43. 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ä, ...).

  44. 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

  45. 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

  46. 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.

  47. 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.

  48. Etäisyysmitoista binaarisille arvojoukoille • Yksinkertainen täsmäys • Jaccard etäisyys • Dice etäisyys

  49. Yleinen Minkovskin eli L-metriikka • Yleinen muoto josta johdettavissa muut • p=1 (Manhattan eli kortteli) • p=2 (Euklidinen)

  50. 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.

More Related