Datanäytteiden piirteiden skaalaus/normalisointi (1) Datamassat, jotka syötetään samankaltaisuuksia useamman kuin yhden piirteen pohjalta hyödyntäviin koneoppimismenetelmiin, voivat tarvita esikäsittelykseen skaalauksen tai normalisoinnin mm. knn luokittelu ja ryvästysmenetelmät esimerkki: tarkastellaan seuraavia lääketieteellisesti näytteistä laskettuja piirteitä ja niille laskettuja L2 ja L1 normien mukaisia keskinäisiä etäisyyksiä Datanäyte Piirre 1 Piirre 2 Piirre 3 Piirre 4 1 497 340 75 7 047 2 301 387 60 6 810 3 372 405 14 7 051 1 2 L2 Näemme, että suurimman arvoalueen piirre 4 dominoi laskennassa, vaikka ei selvästi erottelekaan näytteitä yhtä tehokkaasti kuin pienimmän arvoalueen piirre3 päätämme skaalata kunkin piirteen: näyte i _piirre s = (näyte i _piirre a min(piirre))/(max(piirre) min(piirre)) Datanäyte Piirre 1 Piirre 2 Piirre 3 Piirre 4 1 1,00 0,00 1,00 0,98 2 0,00 0,72 0,75 0,00 3 0,36 1,00 0,00 1,00 Toteamme, että skaalauksen jälkeen näytettä 3 lähin oleva näyte muuttui! 154 311 3 1.60 256 1 2 L2 1.55 3 1.33 495 1 2 L1 255 3 2.95 305 1 2 L1 2.65 3 2.03 Datanäytteiden piirteiden skaalaus/normalisointi (2) Skaalaus välille [0,1] näyte i _piirre s = (näyte i _piirre a min(piirre))/(max(piirre) min(piirre)) 0.7 1.0 0.2 0.05 ongelmana on poikkeavien näytteiden (outliers) aiheuttava varsinaisten luokkanäytteiden hajonnan pieneneminen ja tätä kautta luokkaerottelun mahdollinen heikentyminen Yksikkövektorisnormalisointi skaalataan kukin piirrevektori yksikön mittaiseksi näyte i _piirre s = näyte i _piirre a /(näytevektorin pituus) pituus voi olla euklidinen tai city block, tms. suosittu monissa koneoppimisalgoritmeissa 1.7 0.0 1.0
Datanäytteiden piirteiden skaalaus/normalisointi (3) Keskiarvon normalisointi = jokaisen piirteen keskiarvo nollataan näyte i _piirre s = (näyte i _piirre a keskiarvo(piirre))/(max(piirre) min(piirre)) Jakauman normalisointi = jokaisen piirteen keskiarvo asetetaan nollaan ja varianssiksi 1 (siis kunkin piirteen jakauman parametreiksi = 0 ja 2 = 1) tarpeellinen esikäsittely mm. neuraalilaskennassa, perceptroneissa ja hyödyllinen mm. logistisessa regressiossa ja tukivektorikoneissa (SVM) = 0, 2 = 1 = 0, 2 = 1 Datanäytteiden piirteiden skaalaus/normalisointi (4) Esikäsittelytapojen soveltuvuus riippuu datasta on tavallista testata datalle useampaa kuin yhtä esikäsittelymenetelmää tarkastellaan seuraavaa lääketieteellistä dataa, joka on esimerkkinä esikäsitelty kahdella tavalla, skaalaten ja yksikkövektorinormalisoinnilla Skaalaamattomat/normalisoimattomat Skaalatut Yksikkövektorinormalisoidut Datanäyte Piirre 1 Piirre 2 Piirre 3 Piirre 4 Datanäyte Piirre 1 Piirre 2 Piirre 3 Piirre 4 Datanäyte Piirre 1 Piirre 2 Piirre 3 Piirre 4 1 498 340 75 8 047 1 0,99 0,19 0,18 0,97 1 0,06 0,04 0,01 1,00 2 201 88 34 3 310 2 0,40 0,03 0,08 0,37 2 0,06 0,03 0,01 1,00 3 355 415 14 6 005 3 0,70 0,24 0,03 0,71 3 0,06 0,07 0,00 1,00 4 33 49 3 428 4 0,07 0,00 0,00 0,00 4 0,08 0,11 0,01 0,99 5 374 1 369 291 5 017 5 0,74 0,85 0,72 0,58 5 0,07 0,26 0,06 0,96 6 152 1 161 304 2 358 6 0,30 0,71 0,75 0,24 6 0,06 0,44 0,11 0,89 7 505 388 80 8 317 7 1,00 0,22 0,19 1,00 7 0,06 0,05 0,01 1,00 8 266 210 35 3 777 8 0,53 0,10 0,08 0,42 8 0,07 0,06 0,01 1,00 9 376 516 20 6 136 9 0,74 0,30 0,04 0,72 9 0,06 0,08 0,00 0,99 10 70 120 6 479 10 0,14 0,05 0,01 0,01 10 0,14 0,24 0,01 0,96 11 386 1 602 335 5 091 11 0,76 1,00 0,83 0,59 11 0,07 0,30 0,06 0,95 12 197 1 411 390 2 597 12 0,39 0,87 0,97 0,27 12 0,07 0,47 0,13 0,87 13 1 678 81 7 710 13 0,00 0,40 0,19 0,92 13 0,00 0,09 0,01 1,00 14 1 386 73 3 689 14 0,00 0,22 0,17 0,41 14 0,00 0,10 0,02 0,99 15 11 444 16 5 397 15 0,02 0,25 0,03 0,63 15 0,00 0,08 0,00 1,00 16 0 110 8 478 16 0,00 0,04 0,01 0,01 16 0,00 0,22 0,02 0,97 17 7 1 606 404 5 194 17 0,01 1,00 1,00 0,60 17 0,00 0,29 0,07 0,95 18 0 1 480 327 2 738 18 0,00 0,92 0,81 0,29 18 0,00 0,47 0,10 0,87.............................................
Datanäytteiden piirteiden skaalaus/normalisointi (5) Tarkastellaan eräitä edellisen sivun skaalausten ns. scatter plot graafeja valituille piirrepareille datan rakenteiden karkean tarkastelun motiivilla toteamme tuloksissa mahdollisia luokkarakenteita poikkeavasti paljastavia eroja huom. myöhemmin dimensionaalisuuden vähennystekniikoiden yhteydessä ei rajoituta pelkkiin piirrepareihin Skaalaus Yksikkövektorinormalisointi Datanäytteiden piirteiden skaalaus/normalisointi (6) Skaalausta/normalisointia eivät välttämättä tarvita, jos käytössä naivi Bayesin luokittelu, päätöspuut, satunnaismetsät, ja tietyin edellytyksin yhdistelmäluokittelija regressiomenetelmät eivät välttämättä edellytä skaalausta/normalisointia toisaalta toteutussyistä niidenkin syötteet voi olla järkevää skaalatatai normalisoida Yleinen kardinaalimunaus esikäsittelyn käytössä on normalisoida/skaalata suunnitteluprosessin alussa koko käytettävissäoleva näytedata ennen jakamista opetus, validointi ja testijoukkoihin Oikea menettely on tehdä ensin jako opetus, validointi ja testijoukkoihin ja määrittää sitten skaalaus/normalisointitekijät pelkästään opetusdatasta ja käyttää tätä tietoa sitten validointi ja testijoukkoihin
Ohjaamaton oppiminen & ryvästys & dimensioiden vähentäminen (1) Usein törmätään tilanteisiin, joissa ei ole olemassa valmiiksi luokiteltua opetusdataa tai tietoa mahdollisesta luokkarakenteesta jos luokkien määrästä on jokin käsitys, ryvästysmenetelmillä voidaan yrittää jaotella data samankaltaisten näytteiden klustereihin jos datan rakenne on arvoitus, sen selvittämiseen voi lähteä dimensioiden pudotusmenetelmin, jotka tukevat visualisointia koneoppimisongelma tieto luokista tai selitettävästä muuttujasta ei tietoa luokista, mutta rakennetieto olisi hyödyksi ohjatun oppimisen ongelma ohjaamattoman oppimisen ongelma kategorioiden lukumäärästä edes jokin tieto...datassa saattaa olla edes jotain rakenteellisuutta klusterointiongelma dimensioiden pudotusongelma Ohjaamaton oppiminen & ryvästys & dimensioiden vähentäminen (2) Ryvästys on tärkeä ohjaamattoman oppimisen menetelmäjoukko, sillä vaikka syvät neuroverkot ovat erinomaisia luokittelussa, niin ryvästyksessä niihin pohjautuvat ratkaisut eivät ole (ainakaan vielä) menestyneet, ja tuollaiset ratkaisut ovat vahvasti lainanneet vakiintuneista ryvästysratkaisuista Dimensioiden vähentämisen ja ryvästyksen ero ryvästyksen motiivi on datan rakenteiden paljastaminen dimensioiden vähentämisen tarkoituksena on korkeadimensioisen datan kuvaaminen pienempään määrään dimensioita säilyttäen datan rakennetieto: käyttö usein ryvästystä edeltävänä askeleena Dimensioiden vähentämisen perusteena on havainto, että korkeadimensioinen näytedata ei sijaitse satunnaisesti data avaruudessa, vaan on rakenteista korkeadimensioinen piirrevektori alempidimensioinen piirrevektori
Ryvästys (1) Koneoppimisen yhteydessä ryvästystä käytetään tutkivana menettelynä, jolla nähdään, mitä näytteistöstä paljastuu sovelluksia mm. suositteluratkaisuissa, markkinatutkimuksissa, sosiaalisten verkostojen analysoinnissa (ja hyödyntämisessä), hakukoneissa, lääketieteen kuva analyyseissa, yms. Tuloksiin vaikuttavat mm. datan esitystapa/käytetyt piirteet (ääretön määrä tarjolla) käytetty etäisyysmitta (muutama vaihtoehto yleisesti käytössä) ryvästysalgoritmi (tarjolla > 100...) Mikä ratkaisee, onko jokin alla olevista oikeampi kuin jokin muu? oletettu kaksi luokkaa oletettu viisi luokkaa oletettu kymmenen luokkaa Ryvästys (2) Ryvästysongelman ratkaisussa valittavana on 1. esitystapa, esim. piirteet, jotka kuvaavat ongelmaan liittyviä seikkoja mitä suurempaan piirteiden määrään päädytään, sitä enemmän datanäytteitä tarvitaan ryvästysalgoritmien onnistuneeseen toimintaan... 2. etäisyysmitta, jonka avulla arvioidaan näytteiden samankaltaisuutta etäisyysmitan haasteena voivat olla eri piirteiden vaihtelevat dynamiikat, esim. jos näytteiden massat vaihtelevat välillä 0 512g, volyymit 0 0.001m 3, ja reikien lukumäärät 0 3, tarvitaan skaalausta (yhteismitallistamista), jotta suurimman arvoalueen piirre ei dominoi 3. ryvästyskriteeri, joka vastaa ymmärrystä näytedatan rakenteista juovaklusterit, ympyrät, kehärakenteet,... katso esimerkkejä alla ihmisen tulkinnan kannalta mahdollisesti järkevistä ryvästyksistä 4. ryvästysalgoritmi, joka sopii tarkasteltavalle ongelmalle ja näytedatalle 5. onnistumismittari, jonka avulla ryvästysongelman ratkaisuun liittyvää iterointia voidaan automatisoida
Ryvästys (3) Etäisyysmitalla voi sovelluksessa olla aivan keskeinen merkitys alla käytetyt piirteet on skaalattu eri kerroilla hieman poikkeavasti olisiko ryvästyksessä käytettyä etäisyysmittaa myös muutettava? jos on, niin mistä sellainen tieto tulee? Ryvästysmenetelmät löytävät ryppäitä myös silloin, kun niitä ei välttämättä ole on olemassa keinoja arvioida, onko tulos sattuman tuotosta vai ei Myös ihmisellä on taipumus nähdä ryppäitä miltei missä datassa hyvänsä oikealla Oulun omakotitalokauppojen neliöhinnat 2017 vs. rakennusvuodet Neliöhinta 4000 3500 3000 2500 2000 1500 1000 500 0 1920 1940 1960 1980 2000 2020 2040 Ryvästys (4) Esimerkkejä ryvästysongelmista kauppa etukorttiasiakkaiden ryhmittely aiemman asiointihistoriansa perusteella markkinointikampanjoiden kohteiksi autovakuutusasiakkaiden vakuutushinnoittelu tuotteiden sijoittelu mitatun ostoskäyttäytymisen mukaisesti lääketiede poikkeavien näytteiden tai henkilöiden tunnistaminen kudosnäytteiden ryhmittely Teollisuus ja logistiikka kunnossapidon signaalianalytiikka: poikkeamien havaitseminen tilausten ryhmittely kuljetuksiin koulutus poikkeamien tunnistus toimenpiteitä varten erään sovelluksen koneellisesti analysoitava data ihmisystävällinen demonstraatio
Ryvästys (5) Ryvästysmenetelmät jakavat datanäytteet ryhmiin, joiden sisällä ne ovat samankaltaisempia, kuin niiden välillä Ryvästysmenetelmille on useita kategorisointeja, joita voi käyttää valittaessa menetelmää sopimaan käsillä olevaan ongelmaan hierarkkiset ja osittavat menetelmät: näytteistön ryppäiden lukumäärä on pohjatasolla näytteiden määrä tai annettu etukäteen (esim k=7) yksikäsitteiset ja sumeat menetelmät: näyte voi kuulua vain yhteen tai useaan ryppääseen kerrallaan (näytteen todennäköisyys kuulua kuhunkin klusteriin on 1 tai välillä [0,1]) Miten tahansa menetellään, tyvästämisen jälkeen tarvitaan aina tarkastelu ovatko saadut ryppäät sattuman tuotosta vai todellisia rakenteita? onko ryppäiden lukumäärä sovelluksen kannalta järkeenkäypä? voisiko ryvästystulos olla jotenkin parempi? Oikealla k means (k=2) ryvästyksen tulos kahdelle autolle talvelta 2017 18, kun piirteet ovat olleet polttoaineen kulutus, ulkolämpötila liikkeelle lähdettäessä, matka aika ja matka, mutta ei autotietoa huom: neljä piirrettä, klusterointitulos projisoitu kaksiulotteiseen koordinaatistoon mistä tulos ehkä kertoo? Ryvästysmenetelmät ja näytedata (1) Ryväskeskusmenetelmät esim. k means ryvästys mittaa näytteiden samankaltaisuutta ryväksen keskustan suhteen iteratiivinen optimointi lähtien etukäteen ilmoitetusta ryväksien lukumäärästä soveltuvat suurille datamassoille, pienten näytemäärien kanssa riskaabeleita Hierarkkiset liittyvyysmenetelmät: data avaruudessa lähellä toisiaan sijaitsevat näytteet oletetaan samankaltaisemmiksi iterointi etenee joko data avaruuden pilkonnalla tai yhdistelemällä yksittäisistä näytteistä lähtien tuloksia helppo tulkita, mutta menettelyt skaalautuvat huonosti isoille datamassoille Bayesilaiset menetelmät esim. Gaussian mixture models ja expectation maximization menetelmä mitataan näytteiden todennäköisyyttä olla samasta jakaumasta otettuja ylisovittumisen vaaran vuoksi edellyttävät suuria näytemääriä
Ryvästysmenetelmät ja näytedata (2) K means menetelmä toimii karkeasti seuraavasti 1. valitaan ryväksien lukumäärä k 2. valitaan näytedatasta satunnaiset k näytettä ryväskeskustoiksi 3. kytke kukin näyte sitä lähinnä olevaan ryväskeskustaan 4. määritä uudet ryväskeskustat näytteiden keskiarvojen mukaisiksi 5. jos yksikin ryväskeskusta muuttui, siirry vaiheeseen 3 Alla piirteet ja, ja ryvästykseen k means menetelmällä valittu k=4; miksi kussakin tapauksessa on käynyt kuten on käynyt? Yksinkertainen k means esimerkki 0. annettuna data [2 3 4 6 8 10 11 12 20 24 25] 1. valitaan k=2, 2. valitaan satunnaisesti ryväskeskustoiksi m 1 = 6 ja m 2 = 20 3. kytketään datanäytteet lähimpiin ryväskeskustoihinsa R 1 = [ 2 3 4 6 8 10 11 12 ] ja R 2 = [ 20 24 25] 4. uudet ryväskeskustat keskiarvoina m 1 = 7 ja m 2 = 23 5. todetaan ryväskeskustan muuttuneen, joten askeleeseen 3 3. kytketään datanäytteet lähimpiin ryväskeskustoihinsa R 1 = [ 2 3 4 6 8 10 11 12 ] ja R 2 = [ 20 24 25] 4. uudet ryväskeskustat keskiarvoina m 1 = 7 ja m 2 = 23 5. todetaan ryväskeskustan pysyneen ennallaan, joten ryvästys on valmis
Ryvästysmenetelmät ja näytedata (3) Hierarkkinen klusterointi voi toimia esim. seuraavasti 1. valitaan jokainen näyte omaksi ryppääkseen, joten n:n näytteen joukosta saadaan n ryvästä 2. haetaan valitulle ryppäälle samankaltaisuusmitan avulla lähin rypäs 3. yhdistetään ryppäät 4. jos jäljellä on yli yksi ryväs, mennään askeleeseen 2 Tulos voi näyttää esim. tältä, toki riippuen valitusta ryvästyksen tasosta yleensä hminen arvioi. ns. dendrogrammi Yksinkertainen hierarkkisen ryvästyksen esimerkki 0. annettuna data 10 11 20 24 2 3 4 6 8 12 25 1. ensimmäiset ryppäät [2] [3] [4] [6] [8] [10] [11] [12] [20] [24] [25] 2. valitaan tarkasteltavaksi [12]; sitä lähin on [11] 3. nyt ryppäät ovat [2] [3] [4] [6] [8] [10] [11 12] [20] [24] [25] 4. ryppäälle [11 12] lähin on [10], ja yhdistetään 5. nyt ryppäät ovat [2] [3] [4] [6] [8] [10 11 12] [20] [24] [25] Seuraavat askeleet [2] [3] [4] [6] [8 10 11 12] [20] [24] [25] [2] [3] [4] [6 8 10 11 12] [20] [24] [25] [2] [3] [4 6 8 10 11 12] [20] [24] [25] [2] [3 4 6 8 10 11 12] [20] [24] [25] [2 3 4 6 8 10 11 12] [20] [24] [25] [2 3 4 6 8 10 11 12] [20] [24 25] [2 3 4 6 8 10 11 12] [20 24 25] [2 3 4 6 8 10 11 12 20 24 25] Sekvenssi on helppo visualisoida 12 11 10 8 6 4 3 2 24 25 20
Ryvästysmenetelmät ja näytedata (4) Poikkeavat havainnot (outliers) toisinaan jopa yksittäiset näytteet tai muutaman datanäytteen joukot voivat vaikuttaa ryvästykseen dramaattisesti; esim. k means ryvästyksessä jokainen piste vaikuttaa yhtäläisesti ryväskeskustan laskennassa tällöin on analysoitava, vaikuttaako näytteiden poikkeavuuteen jokinongelma esitystavassa, esim. puuttuuko jokin olennainen piirre hyvän selityksen löytyessä korjattu tai uusi piirre voidaan kytkeä ryvästykseen tai outlier näytteet voidaan eliminoida materiaalista, mutta sellaisia saattaa tulla vastaan myöhemmin luokittelussa, mikä voi olla ikävä vanha tuttavuus... huom: outlier analyysi on oma alansa outlier näytteet voivat vaikuttaa merkittävästi esim. luokittelijan opetusmateriaalin virheisiin Mihin ryppääseen nämä näytteet olisi sijoitettava? ihmiselle helposti tulkittava tapaus voi olla vaikea k means ryvästyselle Ryvästysmenetelmät ja näytedata (5) k means ja hierarkkisen ryvästyksen keskeinen 1. toteutusero K means ryvästyksen laskennallinen kompleksisuus on O(n) eli lineaarinen skaalautuu suoraan aineiston määrään verrannollisesti hierarkkisen ryvästyksen laskennallinen kompleksisuus on O(n 2 ) eli kvadraattinen näytemäärän kaksinkertaistuminen nelinkertaistaa laskennan 2. tulosero K means ryvästyksen alkaessa satunnaisvalinnalla eri suorituskertojen tulokset voivat erota toisistaan hierarkkisen ryvästyksen lopputulos on sama Yhteisenä piirteenä on, että yhdenkin näytteen lisääminen tai poistaminen saattaa vaikuttaa lopputulokseen merkittävästi Ihmisellä on taipumus nähdä ryppäitä 1500 miltei missä datassa hyvänsä 1000 oikealla Oulun omakotitalokauppojen 500 neliöhinnat 2017 vs. rakennusvuodet 0 Neliöhinta 4000 3500 3000 2500 2000 1920 1940 1960 1980 2000 2020 2040