Hahmontunnistus ja Bayesilainen luokitin: käytännön sovellus



Samankaltaiset tiedostot
1. TILASTOLLINEN HAHMONTUNNISTUS

1. JOHDANTO. 1.1 Johdattelevia esimerkkejä. 1. Kuinka monta ihmishahmoa näet kuvassa?

805306A Johdatus monimuuttujamenetelmiin, 5 op

Hahmontunnistuksen perusteet T , 3ov, L Syksy Matti Aksela

SGN-2500 Johdatus hahmontunnistukseen 2007 Luennot 4 ja 5

Harjoitus 2: Matlab - Statistical Toolbox

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

2. Jatkoa HT 4.5:teen ja edelliseen tehtavään: Määrää X:n kertymäfunktio F (x) ja laske sen avulla todennäköisyydet

T DATASTA TIETOON

Hahmontunnistuksen perusteet T , 3ov, L Syksy Harjoitustyö: Matti Aksela

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

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

805306A Johdatus monimuuttujamenetelmiin, 5 op

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

HAHMONTUNNISTUKSEN PERUSTEET

HAHMONTUNNISTUKSEN PERUSTEET

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

Harjoitus 7: NCSS - Tilastollinen analyysi

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

805306A Johdatus monimuuttujamenetelmiin, 5 op

JOHDATUS TEKOÄLYYN TEEMU ROOS

Normaalijakaumasta johdettuja jakaumia

Bayesilainen päätöksenteko / Bayesian decision theory

805306A Johdatus monimuuttujamenetelmiin, 5 op

JOHDATUS TEKOÄLYYN TEEMU ROOS

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

MTTTA1 Tilastomenetelmien perusteet 5 op Luento Kokonaisuudet johon opintojakso kuuluu

Tämän luvun sisältö. Luku 6. Hahmontunnistuksen perusteita. Luokittelu (2) Luokittelu

Yhteistyötä sisältämätön peliteoria jatkuu

JOHDATUS TEKOÄLYYN TEEMU ROOS

Sovellettu todennäköisyyslaskenta B

Tilastotieteen aihehakemisto

Todennäköisyyslaskun kertaus. Vilkkumaa / Kuusinen 1

Mallipohjainen klusterointi

11. laskuharjoituskierros, vko 15, ratkaisut

Sovellettu todennäköisyyslaskenta B

MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Johdatus todennäköisyyslaskentaan Normaalijakaumasta johdettuja jakaumia. TKK (c) Ilkka Mellin (2005) 1

Esimerkkejä vaativuusluokista

Estimointi. Vilkkumaa / Kuusinen 1

1. LINEAARISET LUOKITTIMET

Tilastollinen aineisto Luottamusväli

Osa 2: Otokset, otosjakaumat ja estimointi

Sovellettu todennäköisyyslaskenta B

Tutkimustiedonhallinnan peruskurssi

χ = Mat Sovellettu todennäköisyyslasku 11. harjoitukset/ratkaisut

Mat Tilastollisen analyysin perusteet, kevät 2007

Tentin materiaali. Sivia: luvut 1,2, , ,5. MacKay: luku 30. Gelman, 1995: Inference and monitoring convergence

Ilkka Mellin Tilastolliset menetelmät Osa 2: Otokset, otosjakaumat ja estimointi Estimointi

MONISTE 2 Kirjoittanut Elina Katainen

30A02000 Tilastotieteen perusteet

ABHELSINKI UNIVERSITY OF TECHNOLOGY

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Estimointi. Estimointi. Estimointi: Mitä opimme? 2/4. Estimointi: Mitä opimme? 1/4. Estimointi: Mitä opimme? 3/4. Estimointi: Mitä opimme?

6. laskuharjoitusten vastaukset (viikot 10 11)

Kertausluento. Tilastollinen päättely II - 2. kurssikoe

riippumattomia ja noudattavat samaa jakaumaa.

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

/1. MTTTP5, luento Normaalijakauma (jatkuu) Binomijakaumaa voidaan approksimoida normaalijakaumalla

Sovellettu todennäköisyyslaskenta B

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

Sovellettu todennäköisyyslaskenta B

Väliestimointi (jatkoa) Heliövaara 1

Lisää Diskreettejä jakaumia Lisää Jatkuvia jakaumia Normaalijakaumasta johdettuja jakaumia

pitkittäisaineistoissa

MTTTA1 Tilastomenetelmien perusteet 5 op Luento , osa 1. 1 Kokonaisuudet johon opintojakso kuuluu

Mallin arviointi ja valinta. Ennustevirhe otoksen sisällä, parametrimäärän valinta, AIC, BIC ja MDL

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

Inversio-ongelmien laskennallinen peruskurssi Luento 2

Sovellettu todennäköisyyslaskenta B

TUTKIMUSAINEISTON ANALYYSI. LTKY012 Timo Törmäkangas

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

dx=5&uilang=fi&lang=fi&lvv=2014

Johdatus tilastotieteeseen Estimointi. TKK (c) Ilkka Mellin (2005) 1

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

T Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti , 8:30-10:00 Kollokaatiot, Versio 1.1

Jos nyt on saatu havaintoarvot Ü ½ Ü Ò niin suurimman uskottavuuden

SGN-2500: Johdatus hahmontunnistukseen. Jussi Tohka Tampereen teknillinen yliopisto Signaalinkäsittelyn laitos

Jatkuvat satunnaismuuttujat

pitkittäisaineistoissa

MS-A0503 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

/1. MTTTP5, luento Normaalijakauma (jatkuu) Binomijakaumaa voidaan approksimoida normaalijakaumalla

MS-A0503 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Karteesinen tulo. Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla 1 / 21

1. Tilastollinen malli??

MS-A0503 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

7.4 Sormenjälkitekniikka

Sovellettu todennäköisyyslaskenta B

MTTTP5, luento Otossuureita ja niiden jakaumia (jatkuu)

Tilastotieteen kertaus. Vilkkumaa / Kuusinen 1

Esimerkki: Tietoliikennekytkin

Transkriptio:

Mat-2.4108 Sovelletun matematiikan erikoistyöt 9. syyskuuta 2009 Hahmontunnistus ja Bayesilainen luokitin: käytännön sovellus Teknillinen korkeakoulu Teknillisen fysiikan ja matematiikan osasto Systeemianalyysin laboratorio Janne Laitonen 63028F

Sisältö 1 Johdanto 2 1.1 Ongelman taustaa........................ 2 2 Hahmontunnistuksen teoriasta 3 2.1 Esikäsittely ja normalisointi................... 5 2.2 Piirrevalinta............................ 5 2.3 Tilastollinen hahmontunnistus.................. 5 3 Luokittelun toteutus 7 3.1 Esikäsittely ja luokkajako.................... 8 3.2 Datan tarkastelu......................... 8 3.3 Ehdollisen todennäköisyysjakauman valinta.......... 10 4 Tulokset 11 5 Yhteenveto 13 1

1 Johdanto Hahmontunnistuksen tarkoituksena on luokitella erilaisia havaintoja eli hahmoja omiin luokkiinsa. Siihen liittyviä tieteenaloja on useita, mm. digitaalinen signaalinkäsittely, tekoäly, neuraalilaskenta, optimointioppi, estimointiteoria sekä sumea logiikka tai kieliteknologia. Sovelluskenttä tällä alalla on laaja. Menetelmiä voidaan käyttää esimerkiksi puheen tai käsin kirjoitetun tekstin tunnistamiseen, henkilöiden tunnistukseen sormenjälkien tai iiriksen perusteella, laadunvalvontaan tai tietokoneavustettuun päätöksentekoon. [1,2] Tässä työssä esitellään hahmontunnistuksen teoriaa painottuen erityisesti Bayesilaisen päätösteorian mukaiseen luokittimeen. Tämän teorian mukaista luokitinta sovelletaan myös käytännön tilanteeseen: tarkoituksena on luokitella erään kamppailu-urheiluseuran harrastajat eri lajiryhmiin harjoituksiin saapumisen perusteella. Tämän erikoistyön rakenne on seuraava: Loppuosa tästä ensimmäisestä luvusta on varattu ongelman taustan ja lähtökohtien tarkastelulle. Tämän jälkeen kerrotaan hahmontunnistuksen teoriasta ja esitellään Bayesilaisen luokittimen periaate. Teorian mukainen käytännön sovellus toteutetaan luvussa 3, jonka jälkeen esitellään tulokset. Viimeinen luku on varattu yhteenvedolle ja pohdinnoille. 1.1 Ongelman taustaa GB Gym Helsinki ry on kamppailu-urheiluseura, jossa on mahdollisuus harjoitella potkunyrkkeilyä, brasilialaista jujutsua, thainyrkkeilyä, vapaaottelua, nyrkkeilyä sekä lukkopainia. Lisäksi yhdistys järjestää lapsille ja nuorille tarkoitettuja brasilialaisen jujutsun harjoituksia. Yhdistys on jäsen Suomen Potkunyrkkeilyliitossa, Suomen Brasilialaisen Jujutsun liitossa, Suomen Muay Thai -liitossa, Suomen Vapaaotteluliitossa sekä Suomen Nyrkkeilyliitossa. GB Gym toimii yhteistyössä edellä mainittujen lajiliittojen kanssa ja järjestää säännöllisesti kilpailuita ja leirejä salillaan. [3] Vuonna 2008 yhdistyksellä oli jäsenmaksun maksaneita harjoittelijoita 712, joista 505 on miehiä, 67 naisia, 123 poikia (alle 19-vuotiaita) ja 17 tyttöjä (alle 19-vuotiaita). Jäsenet saavat osallistua minkä tahansa lajin harjoituksiin, joihin heillä on tiedolliset ja taidolliset perusedellytykset. Lisäksi salin ollessa vapaana heillä on mahdollisuus omatoimiseen vapaaharjoitteluun. Lajikohtaisia harrastajamääriä ei kuitenkaan dokumentoida millään tavalla, vaan 2

toiminta on varsin vapaata. Ainut merkintä harrastajasta jää hänen käyttäessään salin oven avaamiseen henkilökohtaista magneettikorttiaan, jolloin tapahtumasta tallentuvat päivämäärä, kellonaika ja kortin omistaja. Magneettikortilla pääsee yhdistyksen harjoitustiloihin arkisin klo 06:00-22:00 ja viikonloppuisin klo 08:00-20:00. Tämä työ sai alkunsa seuraavasta ongelmasta: Helsingin kaupungin liikuntavirasto myöntää vuosittain liikunta-avustuksia helsinkiläisille liikuntaseuroille ja edellyttää avustushakemuksessa mm. tiedot harrastajamääristä lajikohtaisesti. Koska ryhmäkoot ovat välillä kohtuullisen suuria ja harrastajien vaihtuvuus ajoittain nopeaa, valmentajien ja lajivastaavien on hyvin hankala arvioida kunkin lajin todellista harrastajamäärää. Tässä erikoistyössä on tarkoituksena tutkia mahdollisuutta luokitella harrastajat lajiluokkiin saapumisaikojen perusteella ja toteuttaa luokittelu. Kunkin lajin harkoitusajat ovat kiinteitä sekä kaikkien tiedossa ja vaikka eri lajien harjoituksia on käynnissä samaan aikaan, niiden alkamisajankohdat eroavat vähintään puolella tunnilla. Ajatuksena on, että harrastajat tulevat salille noudattaen harjoitusaikoja, jolloin luokittelu on mahdollista. Kyseessä on hahmontunnistustehtävä, jossa kutakin henkilöä vastaava hahmo muodostuu kyseisen henkilön saapumisajoista eli parista viikonpäivä ja kellonaika. Näiden tietojen avulla harjoittelijat luokitellaan eri lajiluokkiin, jotka oletetaan tunnetuiksi, eli määrätään lajikohtaiset harrastajamäärät. 2 Hahmontunnistuksen teoriasta Hahmontunnistus on tieteenala, jossa pyritään luokittelemaan tehtyjä havaintoja hahmoja erilaisiin kategorioihin eli luokkiin tai löytämään hahmojen välisiä suhteita. Keskeisiä ongelmia ovat havaintojen tai mittaustietojen pelkistys eli esikäsittely, tiedon kuvaus eli piirreirrotus ja tiedon luokittelu tai muu kuvaus eli tunnistus. [1] Hahmontunnistuksen ongelmaa on esitetty abstraktilla tasolla kuvassa 1. Luokka-avaruuden C ja piirreavaruuden P välillä on luokkakohtainen ja mahdollisesti todennäköisyyteen perustuva yhteys G i. Jokainen luokka ω i virittää hahmojen osajoukon piirreavaruuteen, missä i. hahmo on merkitty p i :llä. On kuitenkin huomattava, että nämä osajoukot voivat asettua päällekkäin sallien yhteisiä piirteitä eri luokkien hahmoille. Yhteys M kuvaa hahmot P :n aliavaruuksista havainnoiksi tai mittauksiksi m i. Hahmontunnistuksessa on tarkoituksena, annettuna mittaukset m i, löytää keino tunnistaa ja kääntää kuvaukset M ja G i kaikille i. Käytännössä nämä kuvaukset eivät kuitenkaan 3

Luokka-avaruus C Piirreavaruus P Havaintoavaruus F i G i G j M p m 4 1 p 1 j p 2 m 2 G k k p 3 m 3 Kuva 1: Abstrakti esitys hahmontunnistuksen ongelmasta. Merkinnät ja selitykset tekstissä. [4] ole funktioita ja vaikka ne olisivat, ne harvoin ovat injektioita, surjektioita tai kääntyviä. Tärkeä havainto on, että kuvaus M riippuu mittaustavasta. Hahmontunnistuksen onnistumisen kannalta on siis tärkeää, että mittaussysteemi valitaan ja suunnitellaan mahdollisimman hyväksi. [4] Hahmontunnistusjärjestelmän suunnittelu on iteratiivinen prosessi, jonka toteutus riippuu sovelluskohteesta. Kuvassa 2 on esitetty tyypillisen tunnistusjärjestelmän rakenne. Se koostuu mittalaitteesta, esikäsittely- ja piirreirrotusalgoritmista sekä luokittelu- tai jäsennysalgoritmista. Edellisten lisäksi tarvitaan usein opetus- ja testidataa. [1,4] Seuraavissa alaluvuissa käsitellään näiden komponenttien keskeisiä vaatimuksia ja ominaisuuksia niiltä osin kuin se tämän työn toteutuksen kannalta on tarpeen. Mahdollinen takaisinkytkentä (Tilastollinen) Luokittelualgoritmi Luokittelu Havaittavan hahmon data p i Anturi / mittalaite Mittaus m Esikäsittely ja vahvistus i Piirrevalinta ja -irrotus (Syntaktinen) Jäsennysalgoritmi Jäsennys Kuva 2: Tyypillisen hahmontunnistusjärjestelmän rakenne. [4] 4

2.1 Esikäsittely ja normalisointi Esikäsittelyn tarkoituksena on korostaa oleellista mittausinformaatiota ja helpottaa piirreirrotusta. Onnistunut esikäsittely parantaa luokittelumenetelmän toimivuutta, sillä paremmilla piirteillä saadaan aikaan nopeampi oppiminen ja yleisempiä tuloksia. [1] Esikäsittely- ja normalisointimenetelmien valintaan vaikuttaa erittäin paljon sovelluskohde sekä millaisia piirteitä halutaan laskea ja mitä luokittelutekniikoita käytetään. Tyypillisiä menetelmiä ovat esimerkiksi poikkeavien ja puuttuvien mittausten käsittely, varianssien normalisointi, pääkomponenttianalyysi ja arvoalueen skaalaus. [1] 2.2 Piirrevalinta Piirteet ja niiden väliset suhteet ovat hahmon ilmentymä, jonka perusteella hahmo voidaan luokitella tai kuvata. Piirteet voivat olla symbolisia tai numeerisia, jatkuva-, diskreetti- tai binääriarvoisia. Hahmon ilmentymä voi olla esimerkiksi vektori, matriisi, puu, graafi tai merkkijono. [1] Piirteiden valinta riippuu sovelluskohteesta ja valinnalla on ratkaiseva vaikutus luokittelun onnistumiseen. Piirteet on valittava siten, että ne kuvaavat hyvin tarkasteltavia hahmoja ja saavat samankaltaisia arvoja luokkien sisällä ja erilaisia arvoja luokkien välillä. Valinnassa on kiinnitettävä huomiota siihen, että ne ovat invariantteja erilaisille vääristymille ja mittausolosuhteiden muutoksille, esimerkiksi skaalaukselle, rotaatiolle, translaatiolle tai valaistukselle. [1,4,5] Hyvien piirteiden valintaan sopivia menetelmiä ovat mm. tilastollinen testaus, ROC-käyrä (the receiver operating characteristics curve) sekä erilaiset luokkien separoituvuusmitat. [1,5] 2.3 Tilastollinen hahmontunnistus Hahmontunnistusmenetelmät voidaan jakaa oppimisperiaatteen mukaan ohjattuun, ohjaamattomaan ja vahvistusoppimiseen. Toinen jakoperuste on erilaiset käytettävät laskennalliset tekniikat. Geometrisissä menetelmissä piirreavaruus jaetaan joko lineaarisesti tai epälineaarisesti osiin ja jokainen osa vastaa tiettyä luokkaa, esimerkkeinä mainittakoon Fisherin diskriminantti ja tukivektorikone (SVM). Neuroverkkomenetelmät ovat niin sanottuja 5

black box -menetelmiä, joilla tehdään epälineaarinen kuvaus piirreavaruudesta luokka-avaruuteen; laskentamenetelmänä voidaan käyttää esimerkiksi monikerrosperseptroniverkkoa (MLP) tai Kohosen itseorganisoivaa karttaa (SOM). Syntaktisilla menetelmillä tunnistus perustuu jäsentämiseen ja hahmot esitetään esimerkiksi formaalin kielen tuottamina merkkijonoina. Muita keinoja ovat rakenteelliset ja malleihin perustuvat menetelmät, joiden käyttö on laskennallisesti raskasta, kun sovelluksen kompleksisuus kasvaa. Viimeisenä mainittakoon tilastolliset hahmontunnistusmenetelmät, joihin tässä työssä keskitytään. [1,4] Tilastollisissa hahmontunnistusmenetelmissä piirteitä tarkastellaan tilastollisina muuttujina. Satunnaisuuden ajatellaan aiheutuvan hahmojen tilastollisesta vaihtelusta sekä mittalaitteen kohinasta. Luokittelussa käytetään hyväksi luokkien a priori todennäköisyyksiä, luokkien ehdollisia todennäköisyysjakaumia ja tehtyjä havaintoja. Hahmot esitetään havainnoista muodostetun piirrevektorin x R n avulla ja ne halutaan jakaa M:ään luokkaan ω 1,..., ω M. Luokkien a priori todennäköisyydet ovat P (ω 1 ),..., P (ω M ) ja luokkien ehdolliset todennäköisyysjakaumat ovat p(x ω 1 ),..., p(x ω M ). Bayessäännöllä saadaan laskettua a posteriori todennäköisyydet P (ω i x) = p(x ω i)p (ω i ), p(x) missä (1) M p(x) = p(x ω i )P (ω i ). (2) i=1 Hahmon luokka valitaan korkeimman a posteriori todennäköisyyden tai siitä johdetun funktion mukaisesti tai minimoimalla päätökseen liittyvän riskin odotusarvoa. [1,5,6,7] Täydellisen, virheettömän luokittelun saavuttaminen ei aina ole edes teoriassa mahdollista mutta Bayes-säännön mukainen luokitin minimoi luokitteluvirheen todennäköisyyden eli Bayes-sääntöön perustuva päätös on tässä mielessä optimaalinen tapa suorittaa luokittelu [1,2,7,8]. Osoitetaan lopuksi tämä väite: Tarkastellaan ongelmaa, jossa on M luokkaa ja olkoon R j, j = 1, 2,..., M luokkaa ω j vastaava alue piirreavaruudessa. Oletetaan seuraavaksi, että luokkaan ω k kuuluva piirrevektori x on alueella R i, i k. Piirrevektori siis luokitellaan virheellisesti luokkaan ω i, mistä aiheutuu kustannus λ ki. Määritellään luokkaan ω k liittyvä riski: r k = M λ ki p(x ω k )dx. (3) R i i=1 6

Väärän luokituksen kokonaistodennäköisyyttä painotetaan siis kustannuksella λ ki ja eri mahdollisuudet summataan yhteen. Tarkoituksena on valita aluejako siten, että riskin odotusarvo M M r = r k P (ω k ) = k=1 i=1 R i ( M k=1 ) λ ki p(x ω k )P (ω k ) dx (4) minimoituu. Tämä onnistuu minimoimalla kutakin integraalia, mikä vastaa aluejakoa x R i jos l i < l j, i j missä l m = M λ km p(x ω k )P (ω k ). (5) Minimoitaessa luokitteluvirheen todennäköisyyttä kustannus λ ki = 1 δ ki, missä δ ki on Kroneckerin delta-funktio. [1,5,6] Tällöin k=1 l m = k m p(x ω k )P (ω k ), sij. Bayes-sääntö (1) (6) = p(x) k m P (ω k x) (7) = p(x) ( 1 P (ω m x) ). (8) Aiemmin mainittu minimiriskiin perustuva päätössääntö (5) saa luokitteluvirheen todennäköisyyttä minimoitaessa muodon x R i jos P (ω i x) > P (ω j x), i j. (9) Eli luokitteluvirhe minimoituu a posteriori todennäköisyyttä maksimoivalla päätöksellä. 3 Luokittelun toteutus Luokittelu perustetaan luvussa 2.3 esitettyyn Bayesilaiseen päätössääntöön (9) eli puhtaasti a posteriori todenäköisyyden maksimointiin eikä luokittelussa oteta huomioon epäsymmetristä riskiasennetta eri luokitteluvirheitä kohtaan. Tämä luku noudattelee edellisen teorialuvun rakennetta tutkittavassa käytännön sovelluksessa. Aluksi kuvataan datan esikäsittely ja luokkajako. Tämän jälkeen tarkastellaan tutkittavaa dataa ja esitellään käytettävä luokittelualgoritmi. 7

3.1 Esikäsittely ja luokkajako Tarvittava kulkudata saatiin Excel-tiedostona sisältäen kullakin rivillä mm. saapumisajan, päivämäärän ja henkilön nimen sekä kortin numeron. Tästä datasta muokattiin luokitteluun soveltuvampi csv-tiedosto, josta poistettiin ylimääräiset tiedot ja tarvittavat tiedot muokattiin käyttökelpoisempaan muotoon. Kellonajan esitys muutettiin tavanomaisesta esitysmuodostaan luvuksi välille [0, 1] ja päivämäärää vastaava viikonpäivä koodattiin diskreetiksi muuttujaksi 1,..., 7, missä maanantaita vastaa muuttujan arvo 1 ja sunnuntaita arvo 7. Luokittelu perustettiin 25.8.-7.12.2008 välisenä aikana (15 viikkoa) kerättyyn dataan, koska tällä välillä harjoitteluajat kaikissa lajeissa olivat jo vakiintuneet, eikä tänä aikana järjestetty salilla harjoitusleirejä, jotka vääristäisivät tuloksia. Datasta myös karsittiin ennen klo 10:00 ja klo 21:00 jälkeen tehdyt havainnot, sillä nämä omatoimiset aamu- ja iltaharjoittelut vääristäisivät luokittelua kyseisten henkilöiden kohdalla. Muille esikäsittelymenettelyille ei katsottu olevan tarvetta. Varsinaista piirreirrotusta ei tarvitse tehdä, sillä luokittelu perustetaan kellonaikaan ja viikonpäivään, jotka ovat datassa valmiina. Yhdeksi piirteeksi voisi valita myös sukupuolen mutta tätä tietoa ei ole käytetyssä datassa. Luokittelualgoritmi kirjoitettiin Matlab-ohjelmalla ja luokittelu perustettiin aiemmin esiteltyyn Bayes-sääntöön. Luokkia on kaikkiaan 13, joista osa yhdistetään lopullisessa luokittelussa (katso taulukkoa 1). Tämä siksi, että varsinaisena kiinnostuksen kohteena on lajiluokittelu mutta tuloksen oikeellisuuden arviointi on helpompaa hieman tarkemmalla jaolla. Lisäksi luokkajako tuo tiettyä lisäarvoa tuloksiin kertoen mm. missä lajissa alkeiskurssit ovat suosituimpia tai millainen on alkeiskurssilaisten ja muiden harrastajien välinen suhde. Luonnollisesti tarkempi jako on enemmänkin suuntaa antava. 3.2 Datan tarkastelu Luokiteltavia henkilöitä tutkittavalla ajalla on 621. Tämä on selvästi vähemmän kuin luvussa 1.1 mainittu jäsenten määrä 712. Osa henkilöistä on siis lopettanut harjoittelun ennen syksyä ja toisaalta osa harjoittelijoista ei välttämättä käytä sisään tullessaan omaa korttiaan, vaan kulkee muiden harrastajien seurassa. Lisäksi tulosten oikeellisuuden vuoksi luokittelun ulkopuolelle jätetään satunnaiset kokeilijat, jotka käyvät harjoittelemassa vain muutaman kerran tarkastelujakson aikana. Tätä päätöstä puoltaa myös se, että tarkoituksena on luokitella aktiiviset harrastajat. Tässä työssä rajaksi valittiin viisi harjoituskertaa eli jos henkilö on käynyt harjoittelemassa alle viisi 8

Taulukko 1: Luokkajako ja niiden kuvaukset. Aluksi henkilöt luokitellaan eri lajiryhmiin (yhteensä 13 kappaletta) ja tämän jälkeen osa ryhmistä yhdistetään varsinaisiksi ja lopullisen kiinnostuksen kohteena oleviksi lajiluokiksi (yhteensä 6 kappaletta). Luokka ω i Kuvaus Lyhenne ja lajijako 1 Potkunyrkkeily PN 2 Potkunyrkkeilyn alkeiskurssi PN 3 Nyrkkeily N 4 Thainyrkkeily MT 5 Thainyrkkeilyn alkeiskurssi MT 6 Brasilialainen jujutsu BJJ 7 BJJ alkeiskurssi BJJ 8 Lukkopaini BJJ 9 Vapaaottelu MMA 10 Vapaaottelun alkeiskurssi A MMA 11 Vapaaottelun alkeiskurssi B MMA 12 Vapaaottelun alkeiskurssi C MMA 13 Nuorisoryhmä Nuoret kertaa, hänet rajataan luokittelun ulkopuolelle (tarkemmin, jos henkilöstä on alle viisi havaintoa tietokannassa tarkasteltavana ajanjaksona). Mainitulla kriteerillä 150 henkilöä karsitaan pois, jolloin luokiteltavia henkilöitä jää jäljelle 471. Harjoittelijoiden harjoituskertojen jakauma on esitetty kuvassa 3. Huomattavaa on, että jakauma painottuu voimakkaasti pieniin harjoituslukumääriin. Jokaisessa lajissa pidetään harjoituksia 2-6 kertaa viikossa ja jokaiseen alkeiskurssiin kuuluu kaksi harjoitusta viikossa. Viidentoista viikon ajanjaksolla harjoitusmäärien voisi siis odottaa painottuvan noin 30 harjoituskerran kohdalle. Tämä havainto itseasiassa näkyy histogrammissa pienenä nousuna. Vähäisen harjoitusmäärän voi odottaa johtuvan ainakin kahdesta syystä. Osa harrastajista ei käytä henkilökohtaista korttiaan tullessaan harjoituksiin ja toisaalta on yleisesti tunnettua, että varsinkin alkeiskurssien osalta keskeytysprosentti on suuri. 9

150 Henkilöiden lukumäärä 100 50 0 0 10 20 30 40 50 60 70 Harjoituskertojen lukumäärä Kuva 3: Harjoittelijoiden harjoituskertojen jakauma tarkasteltavana 15 viikon ajanjaksona. Alle viisi kertaa harjoittelevia henkilöitä on 150. 3.3 Ehdollisen todennäköisyysjakauman valinta Luokkien ehdolliset todennäköisyysjakaumat p(x ω i ) muodostettiin normaalijakauman avulla. Odotusarvona µ käytettiin arviota, että harrastaja tyypillisesti saapuu paikalle 15 minuuttia ennen harjoitusten alkua. Kunkin lajin harjoitusajat ovat kiinteitä ja tunnettuja. Jakauman hajonta asetettiin siten, että 90% harjoittelijoista saapuu paikalle harjoituksen alkua edeltävän puolen tunnin aikana eli välillä µ ± 15 min. Viikon sisältävä jakauma muodostettiin summaamalla eri viikonpäivien normaalijakaumat yhteen ja normalisoimalla tämä jakauma. Esimerkkinä kuvassa 4 on esitetty luokan 1 (potkunyrkkeily) todennäköisyysjakauma. Normaalijakauma ei ole erityisen paksuhäntäinen, joten odotettavissa olevien poikkeavien havaintojen vuoksi jakaumaan lisättiin luku ɛ = 10 11 lisäämään robustisuutta. Ilman tätä numeerista operaatiota kaikki ehdolliset todennäköisyysjakaumat saavat poikkeavien havaintojen kohdalla arvon nolla, jolloin posterioritodennäköisyyden päivittäminen ei onnistu ja luokittelu epäonnis- 10

tuu. Herkkyysanalyysin perusteella luokittelutulos ei kuitenkaan ole herkkä ɛ:n tai σ:n vaihtelulle. Luokittelussa kokeiltiin robustimpana vaihtoehtona Cauchy-jakaumaa mutta jo nopealla tulosten tarkastelulla oli havaittavissa, että tämä jakauma ei suoriutunut luokittelusta. Intensiteetti 0 1 2 3 4 5 6 7 Aika Kuva 4: Luokan 1 ehdollinen todennäköisyysjakauma p(x ω 1 ). Numerot aikaakselilla viittaavat kyseisen päivän loppuun. Itse luokittelu toteutettiin päivittämällä Bayes-säännöllä a posterioritodennäköisyyttä havainto kerrallaan. Edellisen kierroksen a posteriori on siis seuraavan kierroksen a prioritodennäköisyys. Iteraation alkaessa ensimmäisenä a priorina käytettiin jokaisen henkilön kohdalla tasajakaumaa. Kukin harrastaja luokitellaan siihen luokkaan, jonka a posterioritodennäköisyys on suurin iteraation loputtua. Henkilöiden nimien ja korttinumeron yhdistämistä ja tarvittavien nimilistojen muodostamista varten kirjoitettiin lyhyt ohjelma Java-ohjelmointikielellä. 4 Tulokset Laskenta-ajallisesti luokittelu ei ollut raskas operaatio, sillä normaali kannettava tietokone selvitti sen muutamassa sekunnissa, vaikka algoritmia ei kirjoitettu laskenta-ajan minimointia ajatellen. Luokittelun tulokset on esitetty kuvassa 5 ja taulukossa 2, jossa on vertailuna myös GB Gym Helsinki ry:n hallituksen tekemä arvio harrastajamääristä lajeittain. Tulokset selvästi tukevat toisiaan. Luokitteluvirheen arvioitiin olevan noin 6 %, mikä toteutettiin käymällä luokittelutulos, etenkin nimilistat, läpi eri henkilöiden kanssa. Lisäksi alkeiskurssi-ilmoittautumislistojen avulla voitiin arvioida suuri osa luokittelulistoista täsmällisesti. Osa vapaaottelun harjoittelijoista (luokka 9) luokiteltiin 11

potkunyrkkeily-ryhmään (luokka 1) mutta toisaalta esimerkiksi brasilialaisen jujutsun alkeiskurssin luokasta (luokka 7) ei löytynyt ainoatakaan väärää nimeä. Suurin yksittäinen tekijä, joka nostaa luokitteluvirhettä on, että ennakkotiedoista poiketen osa salilla käyvistä junioriryhmäläisistä (esikoulu- ja ala-asteikäisiä) käyttää magneettikorttia. Oletuksena oli, että kyseiset henkilöt pääsevät salille ohjaajien seurassa eikä tätä pientä joukkoa ollut tarkoitus ottaa huomioon luokittelussa. Tästä syystä virhettä nostaa löydetyt 9 virheellistä luokitusta, mikä on luokitteluvirheiden kokonaismäärästä noin kolmasosa. Luokittelun onnistumista tukee myös osavalidoinnilla tehty tarkistus, jossa datasta käytettiin luokittelussa vain ensimmäiset 2/3. Tällöin lajien suhteelliset osuudet olivat käytännössä samat: Suurimmat poikkeamat olivat potkunyrkkeilyn ja vapaaottelun osuuksissa, joissa ero tuloksiin oli -2 %-yksikköä ja +3%-yksikköä, vastaavasti. Taulukko 2: Luokittelun tulokset luokittain ja lajeittain. Järjestys vastaa taulukossa 1 esitettyä järjestystä eli esim. vapaaottelun lajiryhmään luokitellaan 46 henkilöä, alkeiskurssille A 41 jne. Sarakkeessa Summa on kunkin lajin kokonaisharrastajamäärä. Luokiteltavia henkilöitä oli 471. Sarakkeessa Osuus on lajien suhteelliset osuudet. GB Gym Helsinki ry:n hallituksen helmikuussa 2009 tekemä arvio on esitetty viimeisessä sarakkeessa. Luokitteluvirheeksi arvioitiin 6 %. Lajit ja niiden luokkafrekvenssit Summa Osuus Arvio Potkunyrkkeily: 58 53 111 24 % 26 % Nyrkkeily: 27 27 6 % 5 % Thainyrkkeily: 22 42 64 13 % 13 % Brasilialainen jujutsu: 39 44 19 102 22 % 19 % Vapaaottelu: 46 41 44 27 158 33 % 32 % Nuorisoryhmä: 9 9 2 % 2 % Liitteenä olevissa kuvissa 6, 7 ja 8 on esitetty muutamia havainnollistuksia eräiden harjoittelijoiden osalta. Kyseisten henkilöiden harjoittelema laji on tiedossa ja heidän tottumukset saapumisen suhteen ainakin jossain määrin tunnettuja. Kuvassa 6(a) on esitetty havaintojen perusteella muodostettu tiheysfunktion estimaatti (Parzen-estimaatti, jossa ikkunafunktiona on käytetty normaalijakaumaa) ja kuvan 6(b) pistediagrammissa havainnot on merkitty päiväkellonaika -koordinaatistoon. Kuva 6(c) havainnollistaa a posterioritodennäköisyyksien kehitystä havaintokertojen funktiona. Vaikka kuvan 6 henkilön saapumisajat vaihtelevat jossain määrin, luokittelutulos on oikea ja a posteriori saavuttaa stabiilin tilan alun vaihtelun jälkeen. 12

160 140 120 Henkilöiden lukumäärä 100 80 60 40 20 0 PN N MT BJJ MMA Nuoret Luokat Kuva 5: Luokittelun tulos luokittain ja lajeittain. Lajin sisällä luokittelujärjestys vastaa taulukon 1 järjestystä eli esim. MMA:ssa musta osa viittaa vapaaottelun lajiryhmään, seuraava alkeiskurssiin A jne. Luokiteltavia henkilöitä oli 471. Luokitteluvirheeksi arvioitiin 6 %. Kuvan 7 henkilö saapuu harjoituksiin erittäin täsmällisesti, mikä paljastuu etenkin kuvasta 7(b). Tiheysfunktion estimaatti muistuttaa selvästi kuvan 4 todennäköisyysjakaumaa ja kuvan 7(c) a posteriorissa ei ole havaittavissa vaihtelua edes iteraation alkuvaiheessa. Luokittelutulos on oikea. Viimeisessä esimerkissä (kuva 8) olevan henkilön tiedetään harjoittelevan paljon omatoimisesti, mikä näkyy osittain sekä Parzen-estimaatissa että pistediagrammissa kuin myös a posteriorin epästabiilina käytöksenä. Luokittelutulos on väärä. 5 Yhteenveto Tässä työssä toteutettiin hahmontunnistus ja luokittelu perustuen Bayesilaiseen a posterioritodennäköisyyttä maksimoivaan päätössääntöön. Luokkien lukumäärä (13 kpl) oli määrätty ennalta ja näistä luokista osa yhdistettiin 13

omiksi lajiryhmikseen (6 kpl). Työssä käsiteltiin hahmontunnistuksen teoriaa abstraktilla tasolla ja tämän jälkeen esiteltiin tyypillinen hahmontunnistusjärjestely sisältäen mm. datan esikäsittelyn, piirrevalinnan ja luokittelualgoritmin. Erilaisia luokittelumenetelmien jakoperusteita käsiteltiin lyhyesti. Erilaisia laskennallisia menetelmiä on useita, mm. Fisherin diskriminantti, tukivektorikone, monikerrosperseptroniverkko (MLP) tai itseorganisoiva kartta (SOM). Työssä keskityttiin kuitenkin Bayesilaiseen luokittimeen ja osoitettiin, että Bayesilainen luokitin minimoi luokitteluvirheen. Sovelluskohteena työssä oli erään kamppailu-urheiluseuran harrastajien luokittelu eri lajeihin saapumisaikojen perusteella. Kunkin henkilön hahmo muodostui viikonpäivästä ja kellonajasta, jolloin salille saavuttiin. Posterioritodennäköisyyttä päivitettiin niin monta kertaa kuin henkilöstä oli havaintoja tarkastelujakson aikana (25.8.-7.12.2008 eli 15 viikkoa) ja henkilö luokiteltiin siihen luokkaan, jonka posterioritodennäköisyys oli suurin iteraation lopussa. Tehtävälle oli käytännön tarve, sillä Helsingin kaupungin liikuntavirasto vaatii liikunta-avustuksia myöntäessään tiedot eri lajien harrastajamääristä. Perinteisesti tämä työ on vienyt paljon aikaa ja vaivaa, sillä harjoittelijoiden määrä on salilla suuri eikä harjoittelijoiden lajivalinnoista pidetä systemaattisesti kirjaa. Ehdolliset todennäköisyysjakaumat muodostettiin normaalijakaumien avulla. Oletuksena oli, että odotusarvoisesti harjoittelijat saapuvat paikalle 15 minuuttia ennen harjoituksia ja että 90 % harjoittelijoista saapuu paikalle puolen tunnin sisällä ennen harjoituksen alkamista. Yksi työn ongelma oli, että käytössä ei ollut varsinaista opetusjoukkoa. Tämän puutteen vuoksi moni muu menetelmä sulkeutui pois käytöstä, sillä useiden parametrien estimointi olisi ollut hyvin hankalaa. Valitun luokittimen etuna onkin parametrien vähyys ja konkreettisuus, jolloin ne voitiin perustaa asiantuntija-arvioon. Tehdyn herkkyysanalyysin perusteella luokittelu ei ole herkkä parametrien pienille muutoksille. Luokittelun tulokset olivat sopusoinnussa aiempien arvioiden kanssa: vapaaottelu on harrastajamäärältään suosituin laji (33 %), jonka jälkeen tulevat potkunyrkkeily ja brasilialainen jujutsu (24 % ja 22 %, vastaavasti). Luokitteluvirheen arvioitiin olevan noin 6 %. Luokkafrekvenssien lisäksi tulokseksi voidaan laskea myös havainto, että harjoitusmäärät henkilöä kohden painottuivat hyvin pieniin lukuihin: tarkastelujakson aikana 150 henkilöä oli käyttänyt magneettikorttiaan alle viisi kertaa. On tosin tunnettua, että moni harrastaja lopettaa harjoittelunsa hyvin lyhyeen. Tätä osoittaa myös havainto, että tarkasteluvuonna jäsenmaksun maksaneita henkilöitä oli 712 ja luokiteltavia oli lopulta 471. Käytetty menetelmä perustuu riittävään määrään havaintoja, jolloin aiem- 14

min mainitun tuloksen perusteella voi kysyä, antaako käytetty menetelmä oikean kuvan luokittelusta. Todellinen harrastajamäärä voi olla hieman erilainen, sillä harjoituksiin voi mennä ilman magneettikorttia, jos pääsee sisään jonkun toisen mukana. Toisaalta luokittelun suhteelliset osuudet ovat sopusoinnussa aiempien arvioiden kanssa eli tuloksen voi olettaa antavan lajien suosiosta oikean kuvan. Toinen puute mallissa on, että siinä luokat ovat määrättyjä. Tunnettua on, että esim. vapaaottelun harrastajat käyvät myös lukkopainissa tai nyrkkeilyssä. Tämä todennäköisesti aiheuttaa tuloksiin pientä eroa käytäntöön. Viitteet [1] Erkki Oja. Kurssin T-61.3020 Principles of Pattern Recognition luentokalvot, 2009 [2] Tze Fen Li. Bayes empirical Bayes approach to unsupervised learning of parameters in pattern recognition. Pattern Recognition, (33):333-340, 2000. [3] GB Gym Helsinki ry:n www-sivut. URL: http://www.gbgym.com/, 16.5.2009. [4] Robert Schalkoff. Pattern Recognition: Statistical, Structural, and Neural Approaches. John Wiley & Sons, 1992. [5] Sergios Theodoridis ja Konstantinos Koutroumbas. Pattern Recognition. Academic Press, 3rd edition, 2006. [6] Richard Duda, Peter Hart ja David Stork. Pattern Classification. John Wiley & Sons, 2001. [7] C. Leung ja L. Sze. A method to speed up the Bayes classifier. Engineering Applications of Artificial Intelligence, (11):419-424, 1998. [8] Alberto Ruiz. A nonparametric bound for the bayes error. Pattern Recognition, (6):921-930, 1995. 15

Liite 1: Havainnollistavia kuvia luokittelusta Intensiteetti 0 1 2 3 4 5 6 7 Aika (a) Havainnoista muodostettu tiheysfunktion Parzen-estimaatti. 0.9 0.8 Kellonaika 0.7 0.6 0.5 0.4 1 2 3 4 5 6 7 Päivät (b) Havainnot esitettynä päivä-kellonaika -koordinaatistossa. 1 0.8 Todennäköisyys 0.6 0.4 0.2 0 0 5 10 15 20 25 30 35 40 Harjoituskerrat (c) Posterioritodennäköisyyden kehitys. Kuva 6: Henkilön saapumisajat vaihtelevat hieman mutta luokitus on oikea. Posterioritodennäköisyys stabiloituu alun heilahtelun jälkeen. 16

Intensiteetti 0 1 2 3 4 5 6 7 Aika (a) Havainnoista muodostettu tiheysfunktion Parzen-estimaatti. 0.9 0.8 Kellonaika 0.7 0.6 0.5 0.4 1 2 3 4 5 6 7 Päivät (b) Havainnot esitettynä päivä-kellonaika -koordinaatistossa. 1 0.8 Todennäköisyys 0.6 0.4 0.2 0 0 5 10 15 20 25 Harjoituskerrat (c) Posterioritodennäköisyyden kehitys. Kuva 7: Henkilö saapuu harjoituksiin hyvin täsmällisesti. Parzen-estimaatin ja kuvan 4 yhtäläisyys on huomattava. Luokitus on oikea. 17

Intensiteetti 0 1 2 3 4 5 6 7 Aika (a) Havainnoista muodostettu tiheysfunktion Parzen-estimaatti. 0.9 0.8 Kellonaika 0.7 0.6 0.5 0.4 1 2 3 4 5 6 7 Päivät (b) Havainnot esitettynä päivä-kellonaika -koordinaatistossa. 1 0.8 Todennäköisyys 0.6 0.4 0.2 0 0 5 10 15 20 25 Harjoituskerrat (c) Posterioritodennäköisyyden kehitys. Kuva 8: Saapumisajat vaihtelevat paljon eikä posterioritodennäköisyys stabiloidu. Luokitus on väärä. 18

Liite 2: Luokittelualgoritmin Matlab-koodi %% Luokkien ehdolliset todennäköisyysjakaumat: % Harjoitusten alkamisajat: T = 1/24 * [17 20 17 20 17 12 0; 18.5 0 18.5 0 0 0 0; 20 0 0 17 0 0 0; 0 18.5 17 20.5 18.5 10.5 0; 0 17 0 18.5 0 0 0; 0 17.5 20.5 11 19 0 17.5; 0 19 0 19 0 0 0; 20.5 0 0 17.5 0 10.5 0; 0 20.5 17.5 0 17.5 12 19; 17.5 0 0 0 0 13.5 0; 0 0 19 0 0 0 16; 0 0 20 0 0 0 14.5; 16.5 0 16.5 0 16.5 0 0]; sigma = 1/(24*4*1.645); % tällä osuus 0.9000 tulee välillä [mu-15min, mu+15min] dx = 0.0001; epsilon = 0.00000000001; f_likelihood = zeros(7,size(0:dx:7,2),13); for k = 1:13 %k = lajit for i = 1:7 %i = päivät, j = kellonaika if T(k,i) ~= 0 mu = T(k,i) + i - 1; f_likelihood(i,:,k) = normpdf(0:dx:7, mu-1/(4*24), sigma); end end end f_likelihood = sum(f_likelihood, 1) + epsilon; %pdf lajeittain %normalisointi: A_norm = sum(f_likelihood,2)*dx; for k = 1:13 f_likelihood(1,:,k) = f_likelihood(1,:,k)./a_norm(1,1,k); end 19

%% Luokittelualgoritmi: % 1. sarake hlön ID % 2. sarake kellonaika (skaalaus välille 0...1) % 3. sarake viikonpäivä (ma = 1 ja su = 7) data = csvread( data_syksy_klo10-21.csv ); IDt = csvread( IDt.csv ); for k = 1:length(IDt) ID = IDt(k); J_Doe = data(find(data(:,1) == ID),:); lk = zeros(13,1); prior = ones(13,1) / 13; %tasajakaumapriori posterior = zeros(13,1); for i = 1:size(J_Doe,1) % käydään kaikki havainnot day = J_Doe(i,3); for j = 1:13 % käydään kaikki luokat läpi lk(j,1) = f_likelihood(1, floor((j_doe(i,2) + day - 1)/dx),j); end posterior = lk.* prior; posterior = posterior / sum(posterior); prior = posterior; end posterior_matrix(:,k) = posterior; counts(k) = size(j_doe, 1); end [Y I] = max(posterior_matrix, [], 1); table = tabulate(i); % karsitaan ne, jotka on treenannu alle 5 kertaa syksyn aikana table_new = tabulate(i(find(counts >= 5))); lajit_m = [table_new(1,2) table_new(2,2) 0 0; table_new(3,2) 0 0 0; table_new(4,2) table_new(5,2) 0 0; table_new(6,2) table_new(7,2) table_new(8,2) 0; table_new(9,2) table_new(10,2) table_new(11,2) table_new(12,2); table_new(13,2) 0 0 0]; figure(1); bar(lajit_m, stack ); colormap( gray ); 20