MAIJA MÄKELÄ KERROKSEN TUNNISTUS WLAN-DATAAN PERUSTUEN. Kandidaatintyö

Samankaltaiset tiedostot
SGN-2500 Johdatus hahmontunnistukseen 2007 Luennot 4 ja 5

1. TILASTOLLINEN HAHMONTUNNISTUS

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

805306A Johdatus monimuuttujamenetelmiin, 5 op

Moniulotteisia todennäköisyysjakaumia

1 Bayesin teoreeman käyttö luokittelijana

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

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

MAT Todennäköisyyslaskenta Tentti / Kimmo Vattulainen

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

T Luonnollisten kielten tilastollinen käsittely

Luento 8: Epälineaarinen optimointi

4.0.2 Kuinka hyvä ennuste on?

Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia: Mitä opimme?

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

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

Oletetaan, että virhetermit eivät korreloi toistensa eikä faktorin f kanssa. Toisin sanoen

Inversio-ongelmien laskennallinen peruskurssi Luento 7

805306A Johdatus monimuuttujamenetelmiin, 5 op

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

MAT Todennäköisyyslaskenta Tentti / Kimmo Vattulainen

Viikko 2: Ensimmäiset ennustajat Matti Kääriäinen

Bayesilainen päätöksenteko / Bayesian decision theory

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.

Johdatus todennäköisyyslaskentaan Kokonaistodennäköisyys ja Bayesin kaava. TKK (c) Ilkka Mellin (2005) 1

LIITE 1 VIRHEEN ARVIOINNISTA

=p(x) + p(y), joten ehto (N1) on voimassa. Jos lisäksi λ on skalaari, niin

Tehtäväsarja I Tehtävät 1-5 perustuvat monisteen kappaleisiin ja tehtävä 6 kappaleeseen 2.8.

MAT Todennäköisyyslaskenta Tentti / Kimmo Vattulainen

Johdatus todennäköisyyslaskentaan Moniulotteisia todennäköisyysjakaumia. TKK (c) Ilkka Mellin (2005) 1

Sovellettu todennäköisyyslaskenta B

MS-C1340 Lineaarialgebra ja

Kohdeyleisö: toisen vuoden teekkari

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

1. TODENNÄKÖISYYSJAKAUMIEN ESTIMOINTI

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

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

LIITE 1 VIRHEEN ARVIOINNISTA

Matematiikan tukikurssi, kurssikerta 3

k S P[ X µ kσ] 1 k 2.

Todennäköisyyslaskenta IIa, syys lokakuu 2019 / Hytönen 3. laskuharjoitus, ratkaisuehdotukset

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Harjoitus 7: NCSS - Tilastollinen analyysi

LIITE 1 VIRHEEN ARVIOINNISTA

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m )

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

Harjoitus 2: Matlab - Statistical Toolbox

Numeeriset menetelmät

Odotusarvo. Odotusarvon ominaisuuksia Satunnaismuuttujien ominaisuuksia 61

Sovellettu todennäköisyyslaskenta B

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Sovellettu todennäköisyyslaskenta B

HY / Matematiikan ja tilastotieteen laitos Tilastollinen päättely II, kevät 2017 Harjoitus 1 Ratkaisuehdotuksia Tehtäväsarja I

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Osa 1: Todennäköisyys ja sen laskusäännöt. Kokonaistodennäköisyyden ja Bayesin kaavat

Jatkuvat satunnaismuuttujat

Sovellettu todennäköisyyslaskenta B

Ratkaisuehdotukset LH 7 / vko 47

Todennäköisyyden ominaisuuksia

HY, MTL / Matemaattisten tieteiden kandiohjelma Todennäköisyyslaskenta IIb, syksy 2017 Harjoitus 1 Ratkaisuehdotuksia

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

Johdatus matematiikkaan

Otosavaruus ja todennäköisyys Otosavaruus Ë on joukko, jonka alkiot ovat kokeen tulokset Tapahtuma on otosavaruuden osajoukko

Matematiikan tukikurssi

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

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Teema 8: Parametrien estimointi ja luottamusvälit

Valitsemalla sopivat alkiot joudutaan tämän määritelmän kanssa vaikeuksiin, jotka voidaan välttää rakentamalla joukko oppi aksiomaattisesti.

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

Paikka- ja virhe-estimaatin laskenta-algoritmit Paikannusteknologiat nyt ja tulevaisuudessa

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe klo Ratkaisut ja pisteytysohjeet

Tilastotieteen kertaus. Vilkkumaa / Kuusinen 1

3 Yleistä estimointiteoriaa. Olemme perehtuneet jo piste-estimointiin su-estimoinnin kautta Tässä luvussa tarkastellaan piste-estimointiin yleisemmin

Tekijä Pitkä matematiikka

Tilastollisen analyysin perusteet Luento 1: Lokaatio ja hajonta

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Johdatus matemaattiseen päättelyyn

Ortogonaaliprojektio äärellisulotteiselle aliavaruudelle

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

2 Pistejoukko koordinaatistossa

Luento 8: Epälineaarinen optimointi

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe klo 10 13

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

4.1. Olkoon X mielivaltainen positiivinen satunnaismuuttuja, jonka odotusarvo on

Matematiikka ja teknologia, kevät 2011

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

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

Dynaamiset regressiomallit

1. Tilastollinen malli??

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

1. Kuusisivuista noppaa heitetään, kunnes saadaan silmäluku 5 tai 6. Olkoon X niiden heittojen lukumäärä, joilla tuli 1, 2, 3 tai 4.

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

30A02000 Tilastotieteen perusteet

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

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

a) Sievennä lauseke 1+x , kun x 0jax 1. b) Aseta luvut 2, 5 suuruusjärjestykseen ja perustele vastauksesi. 3 3 ja

Tehtävät. 1. Ratkaistava epäyhtälöt. a) 2(4 x) < 12, b) 5(x 2 4x + 3) < 0, c) 3 2x 4 > 6. 1/10. Sukunimi (painokirjaimin)

Transkriptio:

MAIJA MÄKELÄ KERROKSEN TUNNISTUS WLAN-DATAAN PERUSTUEN Kandidaatintyö Tarkastaja: Simo Ali-Löytty Palautettu 24.8.2013

I TIIVISTELMÄ TAMPEREEN TEKNILLINEN YLIOPISTO Teknis-luonnontieteellinen koulutusohjelma MAIJA MÄKELÄ: Kerroksen tunnistus WLAN-dataan perustuen Kandidaatintyö, 21 sivua, 0 liitesivua Elokuu 2013 Pääaine: Matematiikka Tarkastajat: Simo Ali-Löytty Avainsanat: kerroksen tunnistus, k:n lähimmän naapurin menetelmä, Bayes-luokitin Tässä työssä tarkastellaan kolmen eri menetelmän toimintaa kerroksen tunnistuksessa WLAN-dataan perustuen. Nämä menetelmät ovat yksinkertainen kerroksen tunnistus, k:n lähimmän naapurin menetelmään perustuva kerroksen tunnistus, sekä Bayesin minimiriskiluokittimeen perustuva kerroksen tunnistus. Työssä esitetään näiden mallien teoreettinen tausta sekä käytännön toteutus. Malleja testataan Tampereen teknillisen yliopiston Tietotalossa kerätyillä opetus- ja testinäytteillä. Sekä laskennallisen tehokkuuden, että tarkkuuden perusteella arvioituna todetaan Bayesin minimiriskiluokittimeen perustuva kerroksen tunnistus parhaaksi tässä työssä esitetyistä vaihtoehdoista. Johtopäätöksissä käsitellään joitain mahdollisuuksia, joita tulevaisuuden työssä voitaisiin ottaa huomioon.

II SISÄLLYS 1. Johdanto.................................... 1 2. Teoreettinen tausta kerroksen tunnistuksessa................. 3 2.1 Bayesin päätösteoria........................... 3 2.1.1 Bayesin kaava............................. 3 2.1.2 Bayesin minimiriskiluokitin..................... 4 2.1.3 Bayes-luokittimen virhe....................... 6 2.1.4 Bayesin minimivirheluokitin..................... 6 2.2 k:n lähimmän naapurin menetelmä................... 7 2.2.1 k:n lähimmän naapurin estimaatti................. 7 2.2.2 k:n lähimmän naapurin algoritmi.................. 9 2.2.3 k:n lähimmän naapurin luokittimen virhe............. 9 3. Kerroksen tunnistuksen mallien käytännön toteutus ja testaus....... 10 3.1 Toteutus.................................. 10 3.1.1 Yksinkertainen malli......................... 10 3.1.2 k:n lähimmän naapurin malli.................... 13 3.1.3 Bayes-malli.............................. 14 3.2 Testaus.................................. 15 3.2.1 Tehokkuus.............................. 16 3.2.2 Tarkkuus............................... 17 3.3 Mallien vertailu.............................. 19 4. Johtopäätökset................................. 21 Lähteet....................................... 22

III TERMIT JA NIIDEN MÄÄRITELMÄT x F x F n R n ω i p Piirrevektori, opetusnäyte Piirreavaruus x kuuluu joukkoon F Positiivinen kokonaisluku, opetusnäytteiden määrä n-ulotteisten reaalivektoreiden joukko i:s piirrevektorien luokka Luokkatiheysfunktio A, B i Otosavaruuden tapahtumia Ω P (A) P (A B) Otosavaruus Tapahtuman A todennäköisyys Tapahtuman A todennäköisyys ehdolla B >, < Suurempi kuin, pienempi kuin, Pienempi tai yhtäsuuri, suurempi tai yhtäsuuri = Yhtäsuuruus Summa c α i λ R argmin i x i argmax i x i Joukkojen leikkaus Ekvivalenssi Positiivinen kokonaisluku, luokkien määrä i:s toimenpide Tappiofunktio Erisuuruus Ehdollinen riski i, jolle x i on pienin mahdollinen i, jolle x i on suurin mahdollinen

IV E(α) E(α(x) x) F Luokittimen α luokitusvirhe Todennäköisyys, jolla α sijoittaa piirrevektorin x väärään luokkaan Integraali yli F:n Miinus Erisuuruus k, k n Positiivinen kokonaisluku, lähimpien naapureiden määrä B n V n p n α Bayes α KNN α Simple D n D i y d(x, y) x ID,ij a x-keskinen pallo Pallon B n tilavuus Luokkatiheysfunktion estimaatti Lähestyy Ääretön Bayesin minimiriskiluokitin k:n lähimmän naapurin luokitin Yksinkertainen luokitin n:n opetusnäytteen joukko i:nen luokan opetusnäytteet Testinäyte x:n ja y:n välinen etäisyys Kerroksen i j:nen opetusnäytteen ID-vektori Positiivinen kokonaisluku, tukiaseman indeksi r ai Tukiaseman a esiintyvyys kerroksen i opetusnäytteissä n i i a Kerroksen i opetusnäytteiden määrä Kerros i, jossa tukiasema a kuuluu voimakkaimmin m ai Tukiaseman a saamien RSS-arvojen keskiarvo kerroksessa i x RSS,ij Kerroksen i j:nen opetusnäytteen RSS-vektori

V dim(x) y ID,j y RSS,k x RSS,bin x RSS,bini F x A p i x Vektorin x dimensio Testinäytteen y ID-vektorin j:s alkio Testinäytteen y RSS-vektorin k:s alkio Binäärivektoriksi muutettu RSS-vektori Binäärivektoriksi muutetun RSS-vektorin i:s alkio Kaikkien mahdollisten (diskreettien) tapahtumien joukko Suotuisien tapahtumien joukko i:nen alkion todennäköisyys Osajoukko Tulo x:n itseisarvo % Prosenttia

VI LYHENTEET WLAN RSSI RSS ID AOA TOA TDOA SNR Wireless Local Area Network, langaton lähiverkko Received Signal Strength Indicator, vastaanotetun signaalin voimakkuuden indikaattori Received Signal Strength, vastaanotetun signaalin voimakkuus Identier, tunniste Angle Of Arrival, tulokulma Time Of Arrival, saapumisaika Time Dierence Of Arrival, saapumisen aikaero Signal To Noise Ratio, signaalikohinasuhde

1 1. JOHDANTO Nykyisin yhä useammat mobiilisovellukset käyttävät hyväkseen tietoa käyttäjän sijainnista. Sovellusten käyttötarkoitukset vaihtelevat navigoinnista opastettuihin museokierroksiin ja kaupan opasteista kohdennettuun mainontaan. [8] Yksi tämän hetken käytetyimmistä järjestelmistä on GPS (Global Positioning System), joka käyttää hyväkseen satelliittisignaalia. GPS ei kuitenkaan yleensä sovi paikannukseen sisätiloissa, sillä rakennukset usein estävät kunnollisen yhteyden. GPS:n sijasta paikannukseen sisätiloissa voidaan käyttää joitain eri vaihtoehtoja, jotka perustuvat jo olemassa olevaan infrastruktuuriin. Useimmiten sisätilapaikannuksessa käytetty tällainen infrastruktuuri on WLAN-tukiasemat (Wireless Local Area Network ), joita monissa julkisissa rakennuksissa on lukuisia. Tukiasemien hyödyntäminen on taloudellista, sillä se ei vaadi erillisen paikannusjärjestelmän rakentamista, toisin kuin jotkut muut mahdolliset menetelmät. Sitä voidaan hyödyntää esimerkiksi kolmiopaikannukseen, paikannukseen signaalin suunnan tai saapumiskulman (Angle Of Arrival, AOA) perusteella, signaalin saapumisajan (Time Of Arrival, TOA) perusteella, tai signaalin saapumisen aikaeron (Time Dierence Of Arrival, TDOA) perusteella. [2, 9] Näillä menetelmillä paikannus sisätiloissa on kuitenkin haastavaa, sillä tukiasemien signaalit heijastuvat rakennuksen pinnoista, esineistä ja ihmisistä heikentäen näiden laskelmien luotettavuutta. Sormenjälkeen perustuva paikannus (location ngerprinting) poikkeaa ylläolevista menetelmistä merkittävästi. Kun nämä menetelmät tähtäävät käyttäjän etäisyyden määrittämiseen jostain kiinteästä pisteestä, sormenjälkimenetelmässä pyritään paikannukseen radiokartan (radio map) perusteella. Radiokartta koostuu useista eri sijaintitiedoista, ja näihin sijainteihin liitetyistä RSSI-arvoista (Received Signal Strength Indicator ). RSSI-arvo kuvaa tietyn tukiaseman lähettämän signaalin voimakkuutta. Toinen vastaava WLAN-tukiasemiin perustuva arvo, joka voisi olla sovellettavissa paikannukseen, on SNR (Signal to Noise Ratio). Kuitenkin RSSI korreloi paremmin sijainnin kanssa kuin SNR. [2] Paikannus tapahtuu vertaamalla mitattua sormenjälkeä (RSS-arvoja) radiokarttaan. Kun rakennus, jossa paikannusta tehdään, on suuri ja siinä on useita kerroksia, voi paikannus olla laskennallisesti hidasta ja epätarkkaa. Näin ollen voi olla hyödyllistä ensin selvittää käyttäjän kerros jollakin riittävällä tarkkuudella. Kun kerros, jossa käyttäjä sijaitsee, on tiedossa, riittää enää laskea käyttäjän sijainti kyseisessä

1. Johdanto 2 kerroksessa koko rakennuksen sijaan. Tässä työssä sovelletaan sormenjälkeen perustuvaa paikannusta ja keskitytään käyttäjän kerroksen tunnistukseen. Radiokartan informaatiota voidaan käyttää opetusnäytteinä, ja näistä näytteistä voidaan saada tilastollista tietoa. Paikannuksessa tilastomatematiikan ja erityisesti hahmontunnistuksen menetelmät ovat hyödyllisiä, ja joitain näitä menetelmiä käsitellään tässä työssä. Luvussa 3 käsitellään kolmen mahdollisen eri kerroksentunnistusmenetelmän käytännön toteutusta ja toimintaa ja luvussa 2 tarkastellaan matemaattista teoriaa, joita näissä menetelmissä hyödynnetään. Lopuksi luvussa 3.2 vertaillaan esitettyjä menetelmiä.

3 2. TEOREETTINEN TAUSTA KERROKSEN TUNNISTUKSESSA Kerroksen tunnistusta voidaan käsitellä hahmontunnistusongelmana. Tietyssä pisteessä mitattua RSS-vektoria voidaan käsitellä hahmovektorina, joka luokitetaan johonkin luokkaan. Kukin kerros muodostaa oman luokkansa. Radiokartasta saatavien opetusnäytteiden perusteella voidaan approksimoida kullekin luokalle tarvittavaa tilastollista informaatiota, kuten esimerkiksi prioritodennäköisyyksiä ja RSS-arvojen jakaumaa ja tiheyttä. 2.1 Bayesin päätösteoria Bayesin päätösteoriassa on tarkoituksena luokittaa kohde ongelmasta olemassa olevan tilastollisen datan perusteella. Tällaista dataa on esimerkiksi eri luokitustulosten prosentuaalinen osuus kaikista luokituksista tai kunkin luokan ominaisuuksien tiheysfunktiot. Olkoon x F, missä x:ää kutsutaan piirrevektoriksi ja F:ää piirreavaruudeksi. Useimmiten piirreavaruus on n-ulotteinen Euklidinen avaruus R n. [4] Olkoon {ω 1,..., ω c } äärellinen joukko luokkia, joiden lukumäärä on c. Tarkoituksena on sijoittaa mielivaltainen piirrevektori johonkin näistä annetuista luokista. Luokkien prioritodennäköisyydet P (ω 1 ),..., P (ω c ) ja luokkatiheysfunktiot p(x ω 1 ),..., p(x ω c ) oletetaan tunnetuiksi tai ne voi estimoida opetusnäytteistä. [4] 2.1.1 Bayesin kaava Bayesin kaava Jos B 1,..., B n on otosavaruuden Ω ositus ja P (B i ) > 0, i = 1,..., n, ja P (A) > 0, niin P (B i A) = P (A B i )P (B i ) n k=1 P (A B k)p (B k ). (2.1) Todistus: Ehdollisen todennäköisyyden määritelmästä (katso esimerkiksi [5], s. 12) saadaan

2. Teoreettinen tausta kerroksen tunnistuksessa 4 ja edelleen P (B i A) = P (B i A) P (A) ja P (A B i ) = P (A B i) P (B i ) P (B i A)P (A) = P (B i A) ja P (A B i )P (B i ) = P (A B i ). Koska P (B i A) = P (A B i ), saadaan P (B i A)P (A) = P (A B i )P (B i ) P (B i A) = P (A B i)p (B i ) P (A) = P (A B i )P (B i ) n k=1 P (A B k)p (B k ) Sovellettaessa Bayesin kaavaa (2.1) hahmontunnistuksessa se yleensä kirjoitetaan muotoon missä P (ω i x) = p(x ω i)p (ω i ), (2.2) p(x) p(x) = c p(x ω k )P (ω k ). (2.3) k=1 Tässä p(x ω k ) viittaa jatkuvan jakauman tiheysfunktioon. [3] Mikäli kyse on diskreetistä tapauksesta, tiheysfunktiosta tulee singulaarinen ja Bayesin kaava kirjoitetaan muotoon ([3]) missä P (ω i x) = P (x ω i)p (ω i ), (2.4) P (x) P (x) = c P (x ω k )P (ω k ). (2.5) k=1 2.1.2 Bayesin minimiriskiluokitin Tappiofunktio Tappiofunktio kuvaa tietyn luokituksen aiheuttamia kuluja, ja sitä käytetään muutettaessa todennäköisyyslaskelma käytännön luokitukseksi. [3] Määritelmä 1 Olkoon {ω 1... ω c } äärellinen joukko luokkia ja {α 1... α a } äärellinen joukko mahdollisia toimenpiteitä. Tappiofunktio λ(α j ω i ) kuvaa tappiota, joka syntyy kun luokituksen jälkeen suoritetaan toimenpide α j silloin, kun luokituksen kohde todellisuudessa kuuluu luokkaan ω i.

2. Teoreettinen tausta kerroksen tunnistuksessa 5 Toimenpiteitä ei välttämättä ole yhtä montaa kuin luokkia, eli välttämättä ei ole a = c. Ongelmasta riippuen voi olla mahdollista, että esimerkiksi useammalle luokalle suoritetaan sama toimenpide. Silloin, kun jokainen virheellinen luokitus tuottaa yhtä suuren tappion ja toimenpiteitä on yhtä monta kuin luokkia, voidaan käyttää symmetristä (englanniksi symmetric tai zero-one loss function) tappiofunktiota [3]: { 0, i = j λ(α j ω i ) = i, j = 1,..., c. (2.6) 1, i j Tappiofunktion arvo on siis nolla, kun luokitus on oikea ja yksi, kun luokitus on virheellinen. Ehdollinen riski Määritelmä 2 Ehdollinen riski R(α j x) kuvaa tietyn toimenpiteen α j tappiota, kun havaittu piirrevektori on x. [4] tuottamaa R(α j x) = c λ(α j ω k )P (ω k x) (2.7) k=1 Ehdollinen riski on siis summa tappiofunktion arvoista kullekin luokitukselle painotettuna kunkin luokituksen todennäköisyydellä tapahtua. [3] Bayesin päätössääntö Bayesin päätössääntö Kokonaisriskin minimoimiseksi lasketaan ehdollinen riski R(α j x) (2.7), j = 1,..., a ja valitaan se toimenpide α j jolle R(α j x) on pienin. Saavutettua kokonaisriskin minimiä kutsutaan Bayesin riskiksi ja se on paras saavutettavissa oleva luokituksen tulos. [3] Todistus: Sivuutetaan, katso esimerkiksi [11]. Yleisesti Bayesin minimiriskiluokitin voidaan kirjoittaa funktiomuodossa ([3]) α Bayes (x) = arg min R(α i x), (2.8) ω i,i=1,...,c missä R(α i x) saadaan kaavasta (2.7).

2. Teoreettinen tausta kerroksen tunnistuksessa 6 2.1.3 Bayes-luokittimen virhe Luokitusongelman ollessa tilastollinen ei voida olettaa, että mikään luokitin toimisi täydellisesti. Bayes-luokittimen virhe syntyy luokkkatiheysfunktioiden ollessa osittain päällekkäisiä, eikä tätä virhettä näin ollen ole mahdollista poistaa. [3] Luokitusvirhe E(α) kuvaa todennäköisyyttä, jolla päätössääntö α sijoittaa luokituksen kohteen väärään luokkaan. Koska tulos riippuu aina luokitettavasta kohteesta, tarkastellaan virhettä E(α(x) x), joka siis kuvaa todennäköisyyttä, jolla päätössääntö α sijoittaa piirrevektorin x väärään luokkaan. Tämä tulos on onnistuneen luokituksen komplementti: E(α(x) x) = 1 P (α(x) x) (2.9) Yhtälön (2.9) avulla luokittimen α virhe yli kaikkien piirrevektorien x voidaan kirjoittaa E(α) = E(α(x) x)p(x)dx = [1 P (α(x) x)]p(x)dx F F Bayesin säännön perusteella saadaan P (α(x) x) = p(x α(x))p (α(x)). p(x) Luokitusvirhe on siis E(α) = 1 p(x α(x))p (α(x))dx. (2.10) Diskreetissä tapauksessa luokitusvirhe voidaan kirjoittaa muotoon F E(α) = 1 x F P (x α(x))p (α(x)). (2.11) 2.1.4 Bayesin minimivirheluokitin Bayesin minimivirheluokitin on Bayesin minimiriskiluokittimen erikoistapaus. [4] Sijoittamalla symmetrinen tappiofunktio ehdollisen riskin kaavaan saadaan R(α j x) = c k=1 λ(α j ω k )P (ω k x) = k j P (ω k x) = 1 P (ω j x). (2.12) Symmetrisen tappiofunktion tapauksessa riski on täsmälleen sama kuin virheen keskimääräinen todennäköisyys (2.10) ja P (ω j x) on todennäköisyys sille, että toi-

2. Teoreettinen tausta kerroksen tunnistuksessa 7 menpide α j on oikea. [3] Saadaksemme mahdollisimman pienen virhetodennäköisyyden (2.12) on P (ω j x) oltava mahdollisimman suuri. Näin saadaan Bayesin minimivirheluokitin: Valitaan ω j jos P (ω j x) > P (ω i x) kaikilla i j. (2.13) Funktiomuodossa luokitin voidaan määritellä α Bayes (x) = arg max P (ω i x). (2.14) ω i,i=1,...,c P (ω i x) saadaan Bayesin kaavasta. Koska p(x) (2.3) ei riipu luokasta, voidaan α Bayes (x) kirjoittaa muotoon α Bayes (x) = arg max p(x ω i)p (ω i ). (2.15) ω i,i=1,...,c 2.2 k:n lähimmän naapurin menetelmä k:n lähimmän naapurin menetelmä (englanniksi k-nearest neighbour, edempänä myös KNN) on yksi käytetyimpiä hahmontunnistuksen malleja Bayesin mallin ohella. Toisin kuin Bayes-luokitin, k:n lähimmän naapurin menetelmä on usein käyttökelpoinen tapauksissa, joissa luokkien prioritodennäköisyyksiä tai luokkatiheysfunktioita ei tunneta ennalta. Tällöin on oltava käytettävissä valmiiksi luokiteltuja opetusnäytteitä. Karkeasti menetelmän perusajatuksena on luokittaa piirrevektori x niiden k:n opetusvektorin perusteella, jotka jollakin metriikalla ovat lähimpänä vektoria x kaikista opetusvektoreista. [4] 2.2.1 k:n lähimmän naapurin estimaatti Kun opetusnäytteitä on n kappaletta, B n on pienin mahdollinen x-keskinen pallo, joka sisältää k n kappaletta opetusnäytteitä. Merkitään tämän pallon tilavuutta V n :llä. Tällöin k n :n lähimmän naapurin tiheysestimaatti on [3] p n (x) = k n nv n. (2.16) Jotta KNN-tiheysestimaatti lähestyisi todellista tiheysfunktiota x:n ympäristössä, vaaditaan (Todistus, katso [7]), että k n kun n ja k n 0 kun n. n Vastaavasti voidaan estimoida myös posteriortodennäköisyyksiä P (ω i x). Olkoon B n x-keskinen pallo, jonka tilavuus on V n, ja joka sisältää k opetusnäytettä. Näistä

2. Teoreettinen tausta kerroksen tunnistuksessa 8 näytteistä k i kuuluu luokkaan ω i. Nyt x:n ja ω i :n yhteistiheyden estimaatti on ([3]) Nyt estimaatti P (ω i x):lle on p n (x, ω i ) = k i nv n. P n (ω i x) = p n(x, ω i ) p n (x) = k i nv n k n nv n = k i k. (2.17) Funktiomuodossa KNN-luokitin voidaan kirjoittaa (kuten Bayes-luokitin) α KNN (x) = arg max P n(ω i x) = arg ω i,i=1,...,c max ω i,i=1,...,c k i k. (2.18) Kuva 2.1: Esimerkki k:n lähimmän naapurin estimaatista Kuvassa 2.1 on havainnollistettu k:n lähimmän naapurin estimaatin laskemista kaksiulotteisessa tapauksessa. Näytteet ovat peräisin tässä työssä käytetystä opetusdatasta. Siniset ristit kuvaavat joitain luokan ω 2 opetusnäytteitä, tässä tapauksessa kerroksen kaksi näytteitä north-east -koordinaatistossa. Punaiset pallot kuvaavat luokan ω 3 opetusnäytteitä, siis kerroksen kolme näytteitä. Luokkien ω 4 ja ω 5 edustajat on merkitty vastaavasti. Musta neliö kuvaa luokitettavaa mitattua RSS-vektoria

2. Teoreettinen tausta kerroksen tunnistuksessa 9 x. Kuvaan on piirretty ympyrä B n, jonka sisään jää täsmälleen k = 10 opetusnäytettä. Näistä näytteistä kuuluu luokkaan ω 2 neljä kappaletta, luokkaan ω 3 kolme kappaletta, luokkaan ω 4 yksi kappale ja luokkaan ω 5 kaksi kappaletta. Nyt luokalle ω 2 P n (ω 2 x) = 4, luokalle ω 10 3 P n (ω 3 x) = 3, luokalle ω 10 4 P n (ω 4 x) = 1 ja luokalle 10 ω 5 P n (ω 5 x) = 2. Näin ollen hahmovektori siis luokitetaan luokkaan kaksi. 10 2.2.2 k:n lähimmän naapurin algoritmi Olkoon D n = {x 1,..., x n } vektorien joukko, missä vektorit x i on ennalta luokiteltu luokkiin, joita on c kappaletta. Tätä joukkoa kutsutaan opetusnäytteiksi. Luokan i opetusnäytteitä merkitään D i = {x i1,..., x ini }, i = 1,..., c. Piste y luokitetaan opetusnäytteiden perusteella seuraavasti ([4]): Lasketaan etäisyys d(y, x i ) kaikilla i = 1,..., n valitulla metriikalla. Valitaan k opetusnäytettä x i, joilla on pienin etäisyys d(y, x i ) ja lasketaan montako (k i ) kunkin luokan edustajaa löytyy tästä joukosta. Luokitetaan y luokkaan jolle k i on suurin. 2.2.3 k:n lähimmän naapurin luokittimen virhe Kuten Bayes-luokittimen tapauksessa, myös KNN-luokitin on luonteeltaan tilastollinen. Näin ollen sen virhe on selvästi ainakin Bayes-virheen suuruinen. Kuitenkaan opetusnäytteitä ei koskaan ole käytettävissä ääretöntä määrää, joten tiheysestimaatti (2.16) ei koskaan saavuta todellista luokkatiheysfunktiota. k:n arvolla 1 (lähin naapuri, nearest neighbor) luokittimen virhe on korkeintaan kaksi kertaa Bayes-virheen suuruinen, kun luokkien määrä on c. [4] ( E(α Bayes ) E(α NN ) E(α Bayes ) 2 c ) c 1 E(α Bayes) Kun k 1, voidaan näyttää että luokittimen virhe on korkeintaan (2.19) E(α Bayes ) E(α KNN ) 2E(α Bayes )(1 E(α Bayes )) (2.20) Todistus: Sivuutetaan, katso [6].

10 3. KERROKSEN TUNNISTUKSEN MALLIEN KÄYTÄNNÖN TOTEUTUS JA TESTAUS Kaikki tämän työn mallit toteutetaan ja testataan MATLAB-ohjelmistolla. Tässä työssä käytetyt opetusnäytteet ja testinäytteet on mitattu Tampereen teknillisen yliopiston Tietotalossa ja ne on tallennettu MATLAB-yhteensopivassa muodossa. Opetusnäytteitä D n on yhteensä n = 3552 kappaletta, ja ne on jaettu c = 5 luokkaan. Luokille ω 1,..., ω 5 opetusnäytteitä D i (i = 1,..., c) on n 1 = 0, n 2 = 1530, n 3 = 1582, n 4 = 333 ja n 5 = 107 kappaletta. Eri tukiasemia opetusnäytteissä on 232 kappaletta. Opetusnäytteet ja testinäytteet ovat muodoltaan vastaavia kuin esimerkki taulukossa 3.1. Testinäytteitä on käytössä kaksi joukkoa, ensimmäisessä näistä on 76 näytettä ja toisessa 52 näytettä. time : 735235.5209375 pos_ll : [2x1double] pos_en : [2x1double] floor : 2 id : [1x8double] rss : [ 87 84 87 87 73 73 73 74] %Aikaleima %Mittauspiste latitudelongitude koordinaatistossa %Mittauspiste eastnorth koordinaatistossa %Kerros %Kuultujen WLAN tukiasemien tunnisteet %Tukiasemia vastaavat RSSI arvot Taulukko 3.1: Esimerkki yhdestä opetusnäytteestä MATLABissa Testinäytteet ovat muodoltaan samanlaisia kuin opetusnäytteet. Testinäytteistä sijainti- ja kerrosinformaatiota käytetään ainoastaan käytetyn menetelmän onnistumisen testaamiseen. Käytetystä mallista riippuen opetusdatasta käytetään joko ID-vektoria, tai RSSvektoria ja käytetty vektori mainitaan mallin kuvauksen yhteydessä. 3.1 Toteutus 3.1.1 Yksinkertainen malli Yksinkertaisimmillaan käyttäjän kerros voidaan päätellä sormenjäljen voimakkaimmasta signaalista. Paikannuksen tulos saadaan sen tukiaseman perusteella, joka kyseisen signaalin lähettää. Voidaan esimerkiksi selvittää, missä kerroksessa tämä tukiasema sijaitsee, ja palauttaa tämä kerros käyttäjälle. Aina ei kuitenkaan ole saa-

3. Kerroksen tunnistuksen mallien käytännön toteutus ja testaus 11 tavilla tietoa siitä, missä kerroksessa kukin tukiasema on. Tällöin kerros, jossa tukiasema kuuluu voimakkaimmin täytyy päätellä opetusnäytteiden perusteella. Tälle päättelylle ei kirjallisuudesta löydy menetelmää, joten edempänä on esitetty kaksi mahdollista päättelytapaa tukiaseman voimakkaimman kuuluvuuden kerrokselle. Kerros, jossa tietty tukiasema kuuluu voimakkaimmin, voidaan määritellä usealla eri tavalla. Tässä työssä tähän määrittelyyn on käytetty kahta eri menetelmää. Toinen on kunkin kerroksen opetusnäytteiden mittauspisteiden, joissa saadaan yhteys kyseiseen tukiasemaan, suhde kerroksen kaikkiin opetusnäytteisiin. Kerros, jolle tämä suhdeluku on suurin, on kerros jossa kyseinen tukiasema kuuluu voimakkaimmin. Toisessa menetelmässä lasketaan kullekin tukiasemalle kerrosta kohden keskiarvo kaikista signaalinvoimakkuuksista. Kerros, jossa tämä keskiarvo on suurin, on kerros jossa kyseinen tukiasema kuuluu voimakkaimmin. Tässä lähestymistavassa tulee huomioida myös tilanne, jossa kerrosta tunnistettaessa voimakkaimmin kuuluu tukiasema, jota ei ole opetusdatassa. Yksinkertaisessa mallissa opetusnäytteet D n = {x 1,..., x n } on luokiteltu valmiiksi c luokkaan, ja luokan i näytteet ovat D i = {x i1,..., x ini }. Mitatttua näytettä tai testinäytettä merkitään y:llä. Suhdelukuun perustuva malli Olkoon r ai luku, joka kuvaa monessako kerroksen i opetusnäytteessä x ID,ij (j = 1,..., n i ) on saatu yhteys tukiasemaan a. r ai saadaan laskemalla summa missä h j = { n i r ai = h j, (3.1) j=1 1, kun a = x ID,ijk, missä k = 1,..., dim(x ID,ij ) 0, muulloin Nyt kerros i a, jossa tukiasema a kuuluu voimakkaimmin, saadaan laskemalla Keskiarvoon perustuva malli r ai i a = arg max (3.2) i,i=1...c n i Olkoon m ai tukiaseman a mitattujen RSS-arvojen keskiarvo kerroksessa i yli kaikkien kerroksen opetusnäytteiden x RSS,ij (j = 1,..., n i ). Jos jossain näytteessä tukiasemaan a ei ole saatu yhteyttä, tämä tukiasema jätetään laskennassa huomiotta. m ai saadaan laskemalla

3. Kerroksen tunnistuksen mallien käytännön toteutus ja testaus 12 missä n ai s ai = { m ai = ni j=1 s a i n ai, (3.3) x RSS,ijk, kun a = x ID,ijk, missä k = 1,..., dim(x ID,ij ) 0, muulloin on luku, joka kertoo montako kertaa tukiasema a on kuultu kerroksessa i ja se lasketaan kuten r ai yhtälössä (3.1). Vastaavasti kuten edellä, kerros i a jossa tukiasema a kuuluu voimakkaimmin on i a = arg max i,i=1...c m a i (3.4) Kuva 3.1: Erään tukiaseman suhdeluvut ja keskiarvot kerroksittain, ratkaistu kerros sama molemmilla. Kuvassa 3.1 nähdään eräälle tukiasemalle lasketut suhdeluvut ja keskiarvot kerroksittain, kun ratkaistu kerros molemmilla malleilla on kaksi. Suhdelukuun perustuvan mallin antamat arvot ovat positiivisia, kun taas keskiarvoon perustuvan mallin negatiivisia. Kuvassa 3.2 nähdään toiselle tukiasemalle lasketut arvot, kun ratkaistut kerrokset eroavat toisistaan. Suhdelukuun perustuvalla mallilla ratkaistu kerros on neljä, kun taas keskiarvoon perustuvalla mallilla ratkaistu kerros on kak-

3. Kerroksen tunnistuksen mallien käytännön toteutus ja testaus 13 Kuva 3.2: Erään tukiaseman suhdeluvut ja keskiarvot kerroksittain, ratkaistu kerros eri molemmilla. si. Kummassakaan mallissa kerroksia, joissa tukiasemaa ei ole kuultu lainkaan, ei huomioida. Testinäyte y luokitetaan sen tukiaseman mukaan, jonka mitattu RSS-arvo on suurin. Olkoon se testinäyttelle y y ID,max = y ID,j, kun j = arg max y RSS,k (3.5) k,k=1,...,dim(y RSS ) Nyt luokitustulos y:lle on kerros i, kun i = i a. i a ratkaistaan sijoittamalla a = y ID,max joko yhtälöön (3.2) tai yhtälöön (3.4). Funktiomuodossa edellä esitetty yksinkertainen luokitin voidaan vielä kirjoittaa 3.1.2 k:n lähimmän naapurin malli α Simple (y) = ω i, i = i yid,max. (3.6) KNN-malli toteutetaan, kuten luvussa 2.2 on esittetty. Opetusnäytteitä joudutaan kuitenkin muokkaamaan tätä mallia varten, sillä näihin on talletettu tieto ainoastaan niistä tukiasemista, joihin on saatu yhteys mittauspisteessä. Jotta RSS-vektorit olisivat vertailukelpoisia keskenään, niiden dimensioiden on oltava samansuuruiset

3. Kerroksen tunnistuksen mallien käytännön toteutus ja testaus 14 ja jokainen tukiasema, joka on opetudatassa on huomioitava joka näytteessä. Siispä tukiasemille, joihin ei ole saatu yhteyttä, asetetaan RSS-arvoksi vakio, joka on yhtä pienempi kuin pienin mitattu RSS-arvo (kuten [1]), tässä tapauksessa -96. Samalla jokainen RSS-vektori järjestetään tukiasemittain. Myös testinäytteet käsitellään vastaavasti. Kuva 3.3: Erään tukiaseman eri RSS-arvojen lukumäärät täydennettynä kuulemattomilla tukiasemilla. Kuvassa 3.3 on histogrammi erään opetusnäytteen RSS-arvoista, kun kuulumattomat tukiasemat on ensin lisätty RSS-vektoriin. Kuvasta nähdään selvästi, että vektorissa on arvo -96 moninkertaisena ja muita arvoja on vain vähän. Kuulumattomien tukiasemien tallettaminen opetusnäytteisiin kuluttaa resursseja, mutta niiden huomioiminen on tarpeellista laskennan onnistumiseksi. 3.1.3 Bayes-malli Bayesin minimiriskiluokitin toteutetaan, kuten luvussa 2.1 on esitetty. Toisin kuin KNN-mallissa, tässä mallissa luokitus tehdään käyttäen alkuperäisestä RSS-vektorista rakennettua binäärivektoria. Opetusnäytteen vektorissa x RSS,bin x RSS,bini on yksi,

3. Kerroksen tunnistuksen mallien käytännön toteutus ja testaus 15 kun indeksiä i vastaava tukiasema on kuultu näytteessä, muutoin x RSS,bini on nolla. Kuten KNN-mallissa, myös tässä on huomioitava jokainen tukiasema, joka on opetusdatassa. Kaavan (2.15) luokkatiheysfunktiota approksimoidaan monimuuttujan Bernoullin jakauman (kutsutaan myös Poissonin binomijakaumaksi) tiheysfunktiolla (lisätietoja, katso [10]). Olkoon F x kaikkien mahdollisten tapahtumien joukko, ja A suotuisien tapahtumien joukko siten, että A F x. Tapahtumien i F x todennäköisyydet p i ovat välillä 0 < p i < 1 kaikilla i. Nyt todennäköisyys P (A) on P (A) = A F x ( i A p i )( j A c (1 p j )) (3.7) Todennäköisyydet p j, missä j on tukiaseman indeksi (j = 1,..., k), jokaiselle tukiasemalle kussakin kerroksessa i saadaan laskemalla arvo r ai kuten kaavassa (3.1) ja jakamalla se kerroksen tukiasemien määrällä k i. Siis p k,i = r a i k i Soveltamalla kaavaa (3.7) saadaan luokkatiheysfunktion arvo binäärivektorille y, dim(y) = k, seuraavasti p(y ω i ) = k (p j,i ) y j (1 p j,i ) (1 y j) j=1 (3.8) Tappiofunktiona tässä mallissa ei käytetä symmetristä tappiofunktiota, vaan funktiota joka antaa sitä suuremman tappion, mitä kauempana todellisesta kerroksesta ollaan. Luokituksen onnistuessa tappiofunktion arvo on nolla. Olkoon j luokitustuloksen kerros ja todellinen kerros i. Nyt tappiofunktion arvo on λ(α j ω i ) = j i (3.9) Tappiofunktion arvo on siis nolla luokituksen onnistuessa, yksi, kun oikea tulos on kerros ylempänä tai alempana, kaksi, kun oikea tulos on kaksi kerrosta ylempänä tai alempana ja niin edelleen. Luokitukseen käytetään siis kaavaa (2.8), kun tappiofunktio on (3.9). 3.2 Testaus Mallien testauksessa arvioidaan niiden nopeutta ratkaista annettu luokitusongelma, sekä tarkkuutta jolla ne pystyvät sen tekemään. Kuten mallien toteutus, myös testaus suoritetaan MATLAB-ohjelmistolla. Kuten odottaa saattaa, yksinkertainen

3. Kerroksen tunnistuksen mallien käytännön toteutus ja testaus 16 malli on sekä epätarkka, että toiminnaltaan kohtalaisen hidas. KNN-malli, joka on hahmontunnistuksessa yleisesti käytetty menetelmä, on kohtuullisen tarkka. Nykyisellä toteutuksella sekin on kuitenkin melko hidas ja sen tehokkuutta olisi hyvä vielä parantaa. Bayes-malli on laskennallisesti nopea ja yltää lähes samaan luokitustarkkuuteen kuin KNN-malli. 3.2.1 Tehokkuus Opetusdatan esikäsittely Jokaista mallia varten opetusnäytteitä joudutaan esikäsittelemään. Tämä tehdään siksi, että joka luokitukselle oleellinen informaatio olisi saatavilla mahdollisimman nopeasti. Tämä informaatio ei myöskään riipu luokitettavasta kohteesta, joten sen laskenta joudutaan suorittamaan ainoastaan kerran. Yksinkertaista mallia varten ratkaistaan luvussa 3.1.1 kuvatulla tavalla jokainen opetusnäytteiden erillinen tukiasema ja kunkin tukiaseman voimakkaimman kuuluvuuden kerros. KNN-mallin opetusnäytteet täydennetään koskemaan jokaista tukiasemaa kuten luvussa 3.1.2 on kuvattu ja järjestetään kerroksittain. Bayes-mallia varten etsitään opetusdatan yksittäiset tukiasemat ja jokaiselle tukiasemalle lasketaan kerroksittain todennäköisyys, jolla se kuullaan jossain kerroksen mittauspisteessä. Kuinka tämä tehdään, on kuvattu luvussa 3.1.3. Lisäksi opetusnäytteet järjestetään kerroksittain ja opetusnäytteiden RSS-vektorit muokataan binäärivektoreiksi. Kerroksen tunnistus Edellämainittujen toimenpiteiden jälkeen joka luokituksessa joudutaan KNN- ja Bayes-malleilla täydentämään myös testinäytteen RSS-vektori. Yksittäiselle näytteelle tämä on kohtuullisen nopeaa. Taulukossa 3.2 nähdään MATLABilla mitattu keskimääräinen laskenta-aika yhtä näytettä kohden, kun täydennyksiä tehdään 3552 kappaletta. Funktio Laskenta-aika (µs) completerss 21 RSS2binary 12 Taulukko 3.2: RSS-vektorien täydennyksen laskenta-aika eri funktioille. Yksittäisen luokituksen suoritusajat edellämainituille menetelmille ovat taulukossa 3.3. Myös nämä suoritusajat on laskettu 3552 luokituksen keskiarvona. Niihin sisältyy taulukossa 3.2 ilmoitettu testinäytteen RSS-vektorin täydennys.

3. Kerroksen tunnistuksen mallien käytännön toteutus ja testaus 17 Funktio Laskenta-aika (µs) findfloor_simple 0,29 findfloor_knn 190 findfloor_bayesbin 105 Taulukko 3.3: Yksittäisen luokituksen laskenta-aika eri funktioille. 3.2.2 Tarkkuus Mallien testaukseen käytetään kahta testinäytejoukkoa, joista ensimmäisessä näytteitä on 76 ja toisessa 52 kappaletta. Ensimmäisen joukon näytteet ovat kerroksista kaksi ja kolme, ja toisen joukon näytteet ovat kerroksista kaksi, kolme ja neljä. Vertailun vuoksi selvitetään myös, kuinka hyvin eri mallit luokittavat opetusnäytteiden joukon, jossa on näytteitä 3552 kappaletta. Funktio 1. joukko 2. joukko Opetusnäytteet Suhdeluku, findfloor_simple 56,58 46,15 75,68 Keskiarvo, findfloor_simple 71,05 61,54 73,37 findfloor_knn 85,53 84,62 99,21 findfloor_bayesbin 77,63 90,38 90,65 Taulukko 3.4: Onnistuneiden luokitusten määrä (%) eri menetelmille ja joukoille Todennäköisyydet sille, että kunkin mallin ilmoittama kerros on oikea, kun ilmoitettu kerros on i, ovat taulukossa 3.5. Todennäköisyys on laskettu Bayesin kaavalla (2.1) P (i O) = P (O i)p (i), P (O) missä P (O) on luokittimen onnistumistodennäköisyys (sama kuin taulukossa 3.4), P (O i) on tietyn kerroksen i näytteiden luokittamisen onnistumistodennäköisyys ja P (i) on tietyn kerroksen prioritodennäköisyys, eli osuus opetusnäytteistä. Kerros 1 jätetään huomiotta, sillä tästä kerroksesta ei ole opetusnäytteitä. Funktio 1. kerros 2. kerros 3. kerros 4. kerros 5. kerros Suhdeluku, findfloor_simple - 34,71 50,52 10,97 3,79 Keskiarvo, findfloor_simple - 34,31 50,42 11,36 3,91 findfloor_knn - 43,16 44,41 9,39 3,04 findfloor_bayesbin - 43,85 42,92 10,00 3,23 Taulukko 3.5: Ilmoitetun luokituksen todennäköisyys olla oikea (%) kutakin kerrosta ja mallia kohden.

3. Kerroksen tunnistuksen mallien käytännön toteutus ja testaus 18 Kuva 3.4: Eri mallien tunnistamat kerrokset ja todellinen kerros testijoukolla 1. Kuva 3.5: Eri mallien tunnistamat kerrokset ja todellinen kerros testijoukolla 2.

3. Kerroksen tunnistuksen mallien käytännön toteutus ja testaus 19 Kuvassa 3.4 nähdään vielä testijoukon 1. luokitustulokset eri malleilla, ja kuvassa 3.5 nähdään samat tulokset testijoukolle 2. Kuvissa joskus esiintyvä arvo 1 tarkoittaa sitä, ettei malli ole pystynyt tunnistamaan kerrosta. Näin voi käydä siinä tapauksessa, ettei yksinkertaisessa mallissa testinäytteen suurimman RSS arvon antavaa tukiasemaa ole opetusdatassa. Ensimmäisen testinäytejoukon kohdalla kuvassa 3.4 nähdään, että eniten virheellisiä tunnistuksia tekee yksinkertainen malli kummallakin eri versiolla. Myöskin Bayes-malli tekee joitain silmiinpistävän virheellisiä tunnistuksia, mikä mahdollisesti johtuu siitä, että jotkin tietyt tukiasemat kuullaan lähes samankaltaisesti kerroksessa kaksi ja kerroksessa kolme. Toisen testinäytejoukon kohdalla kuvassa 3.5 yksinkertaisen mallin molemmilla versioilla kerroksen tunnistus on niinikään vaihtelevaa. Kertaalleen se tunnistaa kerroksen, jota ei ole koko testinäytejoukossa. KNN- ja Bayes-mallit toimivat melko hyvin. Eniten virheellisiä tunnistuksia ne tekevät kuitenkin kohdissa, joissa kerros on vaihtumassa tai juuri vaihtunut. Kerroksesta toiseen siirryttäessä käytetään portaita tai hissejä, ja Tietotalossa hissit sijaitsevat portaiden läheisyydessä. Porraskuilujen läheisyydessä olevien tukiasemien signaalit kulkevat lähes esteettä kerroksesta toiseen, ja tämä aiheuttaa epätarkkuutta kerroksen tunnistuksessa. 3.3 Mallien vertailu Eri mallien laskenta-ajoissa ja tarkkuuksissa on huomattavia eroja. Toiminnaltaan parhaaksi malliksi voitaneenkin todeta malli, joka tekee luokituksen jollakin riittävällä tarkkuudella mahdollisimman nopeasti. KNN-mallin toimintaa voidaan käyttää muiden mallien toiminnan vertailussa, sillä se on hahmontunnistuksessa laajalti käytetty ja hyväksytty menetelmä. Yksinkertainen malli toimii erittäin nopeasti. Kuitenkaan sen tarkkuus ei yllä suurellakaan testijoukolla KNN-mallin tasolle. Sillä, arvioidaanko voimakkaimman kuuluvuuden kerros suhdeluvun vai keskiarvon perusteella, ei näytä olevan suurta merkitystä. Suurella testinäytteiden joukolla suhdelukuun perustuva yksinkertainen malli on hieman parempi. KNN-mallin tarkkuus suurella testinäytteiden joukolla on erittäin hyvä. Laskennallisesti se on kuitenkin hitain tässä työssä esitetyistä malleista, ja sen nopeuttamiseksi tulisi vielä etsiä ratkaisuja. Yksi vaihtoehto voisi olla käsitellä ainoastaan niitä näytteitä, joissa on kuultu täsmälleen samat tukiasemat kuin mitatussa näytteessä. Sen toimintaa voisi myös testata muillakin metriikoilla kuin euklidisella normilla. Bayes-mallin toteutus on tässä työssä laskennalliselta nopeudeltaan ja tarkkudeltaan hyvä. Binäärivektorien käsittely on laskennallisesti nopeaa, ja huomioitavien tukiasemien määrän ollessa suuri sen tarkkuus on melko lähellä KNN-mallia. Kuitenkin luokkatiheysfunktion arvojen laskennassa todennäköisyyksiä p j,i voisi ol-

3. Kerroksen tunnistuksen mallien käytännön toteutus ja testaus 20 la mahdollista arvioida tarkemmin kuin tässä työssä on tehty esimerkiksi lisäämällä opetusnäytteiden määrää. Näitä estimaatteja tarkentamalla luokittimen luotettavuus todennäköisesti saataisiin paremmaksi. Sekä KNN-, että Bayes-malleja voisi niinikään parantaa huomioimalla porraskuilujen ja muiden avonaisten paikkojen läheisyyden kerroksen tunnistuksessa, ja näin poistaa epätarkkuutta tunnistuksessa kerroksen vaihtuessa. Yksinkertaisen mallin kerroksen tunnistukseen nämä seikat eivät näytä vaikuttavan.

21 4. JOHTOPÄÄTÖKSET Tässä työssä käsiteltiin kolmea mahdollista menetelmää kerroksen tunnistukseen sisätilapaikannuksessa. Näistä menetelmistä yksinkertainen malli perustuu tietyn tukiaseman voimakkaimman kuuluvuuden kerrokseen, ja voimakkaimman kuuluvuuden kerroksen laskemiseen on esitetty kaksi eri mahdollista vaihtoehtoa. KNN-malli perustuu k:n lähimmän naapurin menetelmään, joka on esitetty kappaleessa 2.2 ja Bayes-malli perustuu Bayesin minimiriskiluokittimeen, joka on esitetty kappaleessa 2.1. Näiden kolmen eri menetelmän laskennallista tehokkuutta ja tarkkuutta arvioitiin opetus- ja testinäytteiden perusteella, jotka on kerätty Tampereen teknillisen yliopiston Tietotalossa. Näistä menetelmistä yksinkertainen malli antoi odotetusti heikoimmat tulokset, sillä siinä testinäytteestä otetaan huomioon ainoastaan yksi tukiasema, joka saa suurimman RSS-arvon. KNN-malli oli selkeästi luokitustulokseltaan tarkin, mutta laskennallisesti hitain. Sekä luokitustuloksen, että laskenta-ajan perusteella arvioituna Bayes-malli on paras tässä työssä käsitellyistä menetelmistä. Tulevaisuudessa käytännön sovelluksissa voitaisiin testata todellisen käyttäjäinformaation muodostamien parametrien vaikutusta. Eri kerrosten prioritodennäköisyyksiä voitaisiin arvioida kerroksen todellisten käyttäjämäärien mukaan. Vastaavasti myös käyttäjän todennäköisyys vaihtaa kerroksesta toiseen voitaisiin arvioida ja ottaa huomioon kerroksen tunnistuksessa. Myös epätarkkuuksia tunnistuksessa kerroksen vaihtuessa voitaisiin vähentää huomioimalla käyttäjän sijainti kaksiulotteisessa koordinaatistossa ja kehittämällä malleja tilanteiden, joissa kerros vaihtuu, käsittelyyn. Nykyiselläänkin kuitenkin kehitettävää on vielä laskennan tehokkuuden parantamisessa ja kerrostiheysfunktioiden parametrien estimoinnissa.

22 LÄHTEET [1] Honkavirta, Ville. 2008. Location ngerprinting methods in Wireless Local Area Networks, Master of Science Thesis, Tampere University of Technology. [2] Honkavirta V., Perälä T., Ali-Löytty S. ja Piché R. 2009. A Comparative Survey of WLAN Location Fingerprinting Methods, Proc. of the 6th Workshop on Positioning, Navigation and Communication 2009 (WPNC'09), pages 243-251 [3] Duda Richard O., Hart Peter E., Stork David G. 2001. Pattern Classication, Second Edition, A Wiley-Interscience Publication [4] Tohka Jussi. 2012. Johdatus hahmontunnistukseen, opintomoniste. Tampereen teknillinen yliopisto, Signaalinkäsittelyn laitos. [5] Perttula Antti, Vattulainen Kimmo, Suurhasko Tia. 2012. Todennäköisyyslaskenta, opintomoniste kurssille MAT-20510, versio 9/2012, Tampereen teknillinen yliopisto. [6] Cover T. M., Hart P.E. 1967. Nearest Neighbor Pattern Classication, IEEE Transactions On Information Theory, Vol. IT-13, No. 1, January 1967 [7] Fix E., Hodges J.L. Jr. 1951. Discriminatory analysis, non-parametric discrimination, USAF School of Aviation Medicine, Randolph Field, Tex., Project 21-49-004, Rept. 4, Contract AF41(128)-31, February 1951 [8] Indoor positioning system, Wikipedia. 29.7.2013 http://en.wikipedia.org/wiki/indoor_positioning_system [9] Prasithsangaree P., Krishnamurthy P., Chrysanthis P.K. 2002. On Indoor Position Location With Wireless LANs, Personal, The 13th IEEE International Symposium on Indoor and Mobile Radio Communications, 2002., pages 720-724 vol. 2 [10] Wang, Y.H., On The Number Of Successes In Independent Trials. 1993. Statistica Sinica 3(1993), 295-312 [11] Wald, Abraham, Contributions to the Theory of Statistical Estimation and Testing Hypotheses. 1939. The Annals of Mathematical Statistics, Vol. 10, Number 4 (1939), 299-326.