Tiedonlouhinta (kl 2013) Tiedonlouhinta 2013/L1 p. 1



Samankaltaiset tiedostot
Tiedonlouhinta (kl 2013) Kurssin kuvaus. Esitiedot. Kurssin arvostelu

Tiedonlouhinta 2013/L3 p. 1. Data-avaruus. Olk. muuttujat A 1,...,A k, joiden arvoalueet. Dom(A 1 ),...,Dom(A k ). Silloin D = Dom(A 1 )...

Ongelmien ja menetelmien tyypittelyä. Käyttötarkoituksia. Konsistentti ja epäkonsistentti data. Esimerkki: Deterministinen luokittelu

Riippuvuussäännöt. Luento 4. Riippuvuuden vahvuus: Tavallisimmat mitat. Muuttuja- vs. arvoperustainen tulkinta

Datan tyypittely. Rakenteellinen vs. rakenteeton data. Rakenteellinen vs. rakenteeton (jatk.) Staattinen ja temporaalinen data

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

Esimerkkejä vaativuusluokista

pitkittäisaineistoissa

I Data ja sen esiprosessointi

pitkittäisaineistoissa

Johdatus tekoälyyn. Luento : Koneoppiminen. Patrik Hoyer. [ Kysykää ja kommentoikaa luennon aikana! ]

Matemaatikot ja tilastotieteilijät

805306A Johdatus monimuuttujamenetelmiin, 5 op

MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

1. Työpaikan työntekijöistä laaditussa taulukossa oli mm. seuraavat rivit ja sarakkeet

54. Tehdään yhden selittäjän lineaarinen regressioanalyysi, kun selittäjänä on määrällinen muuttuja (ja selitettävä myös):

Harjoitus 7: NCSS - Tilastollinen analyysi

Seuraavassa taulukossa on annettu mittojen määritelmät ja sijoitettu luvut. = 40% = 67% 6 = 0.06% = 99.92% 6+2 = 0.

FoA5 Tilastollisen analyysin perusteet puheentutkimuksessa. 6. luento. Pertti Palo

Tiedon louhinnan teoria (ja käytäntö) OUGF kevätseminaari 2004 Hannu Toivonen

MS-A0503 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

MS-A0503 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Tietorakenteet ja algoritmit - syksy

Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa Linkkikeskukset ja auktoriteetit (hubs and authorities) -algoritmi

Globaali optimonti haastaa lokaalit menetelmät: luotettavampia riippuvuuksia tehosta tinkimättä

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

805306A Johdatus monimuuttujamenetelmiin, 5 op

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

Laskennallinen data-analyysi II

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Aineistoista. Laadulliset menetelmät: miksi tarpeen? Haastattelut, fokusryhmät, havainnointi, historiantutkimus, miksei videointikin

Dynaamiset regressiomallit

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

TUTKIMUSAINEISTON KVANTITATIIVINEN ANALYYSI LTKY012. Timo Törmäkangas

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tässä harjoituksessa käydään läpi R-ohjelman käyttöä esimerkkidatan avulla. eli matriisissa on 200 riviä (havainnot) ja 7 saraketta (mittaus-arvot)

Aki Taanila YHDEN SELITTÄJÄN REGRESSIO

1.Työpaikan työntekijöistä laaditussa taulukossa oli mm. seuraavat rivit ja sarakkeet

MONISTE 2 Kirjoittanut Elina Katainen

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

TUTKIMUSAINEISTON ANALYYSI. LTKY012 Timo Törmäkangas

FoA5 Tilastollisen analyysin perusteet puheentutkimuksessa. 9. luento. Pertti Palo

1. Tilastollinen malli??

3. Laskennan vaativuusteoriaa

Todennäköisyyslaskun kertaus. Vilkkumaa / Kuusinen 1

Korrelaatiokerroin. Hanna Heikkinen. Matemaattisten tieteiden laitos. 23. toukokuuta 2012

Logistinen regressio, separoivat hypertasot

TILASTOLLINEN OPPIMINEN

Kandidaatintutkielman aineistonhankinta ja analyysi

naaraat < read.table(' head=t, sep=',')

Regressioanalyysi. Vilkkumaa / Kuusinen 1

1. TILASTOLLINEN HAHMONTUNNISTUS

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

Algoritmit 2. Luento 12 To Timo Männikkö

Tilastolliset ohjelmistot A. Pinja Pikkuhookana

Algoritmit 2. Luento 6 To Timo Männikkö

TUTKIMUSAINEISTON ANALYYSI. LTKY012 Timo Törmäkangas

Teema 3: Tilastollisia kuvia ja tunnuslukuja

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Tilastollisen analyysin perusteet Luento 6: Korrelaatio ja riippuvuus tilastotieteessä

Tietorakenteet, laskuharjoitus 7, ratkaisuja

805306A Johdatus monimuuttujamenetelmiin, 5 op

Avainsanojen poimiminen Eeva Ahonen

Luento KERTAUSTA Kaksiulotteinen jakauma Pisteparvi, Toyota Avensis -farmariautoja

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö

ABHELSINKI UNIVERSITY OF TECHNOLOGY

T Luonnollisten kielten tilastollinen käsittely

Metsämuuronen: Tilastollisen kuvauksen perusteet ESIPUHE... 4 SISÄLLYSLUETTELO METODOLOGIAN PERUSTEIDEN KERTAUSTA AINEISTO...

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Mat Tilastollisen analyysin perusteet, kevät 2007

JOHDATUS TEKOÄLYYN LUENTO 4.

Epäyhtälöt ovat yksi matemaatikon voimakkaimmista

Kieli merkitys ja logiikka. 2: Helpot ja monimutkaiset. Luento 2. Monimutkaiset ongelmat. Monimutkaiset ongelmat

Yleistetyistä lineaarisista malleista

Klusterointiongelma. Luento 6: Klusterointi. Usein suotavia ominaisuuksia. Usein suotavia ominaisuuksia

GeoGebra tutkivan oppimisen välineenä: havainto-hypoteesi-testaus

FoA5 Tilastollisen analyysin perusteet puheentutkimuksessa. Luentokuulustelujen esimerkkivastauksia. Pertti Palo. 30.

Viikko 1: Johdantoa Matti Kääriäinen

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Tekoäly ja koneoppiminen metsävaratiedon apuna

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi. Viikko 3. Kaksiulotteiset satunnaismuuttujat

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

Keskipisteen lisääminen 2 k -faktorikokeeseen (ks. Montgomery 9-6)

MTTTP1, luento KERTAUSTA

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Tilastotiede ottaa aivoon

Mat Lineaarinen ohjelmointi

Algoritmit 2. Luento 13 Ti Timo Männikkö

Kombinatorinen optimointi

Tilastotiede ottaa aivoon

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

Johdanto. Rough Sets. Peruskäsitteitä

MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

KURSSIKYSELYAINEISTO: HUOM! Aineiston tilastoyksikkömäärä 11 on kovin pieni oikean tilastotieteen tekemiseen, mutta Harjoitteluun se kelpaa kyllä!

Oppijan saama palaute määrää oppimisen tyypin

DBN Mitä sillä tekee? Dynaamisten Bayes-verkkojen määrittely aikasarja-analyysissä Janne Toivola

Poikkeavuuksien havainnointi (palvelinlokeista)

Transkriptio:

Tiedonlouhinta (kl 2013) 000000 000000 000000 000000 000000 000000 111111 111111 111111 111111 111111 111111 000 000 000 000 000 000 111 111 111 111 111 111 01 00 00 11 11 0 0 1 1 00 00 11 11 00 00 00 11 11 11 0 0 1 1 000 000 000 000 000 111 111 111 111 111 00 00 11 11 Tiedonlouhinta 2013/L1 p. 1

Kurssin kuvaus joko kandidaatti- tai maisteritason valinnainen kurssi Toteutus pääasiassa ongelmalähtöisesti (tiedonlouhintaprosessin harjoittelu oikealla datalla) Yleiskuva menetelmistä ja niiden valinnasta luennoilla (vain 4 vk) Perustaitojen harjoittelu laskuharjoituksissa (4 vk) Ei koetta, mutta edellyttää aktiivista työskentelyä kurssin aikana! (4op 108h) Tiedonlouhinta 2013/L1 p. 2

Esitiedot TKT-opiskelijat: Ohjelmointi-kurssit, TRA1 ja perus-linux-taidot Muiden alojen ihmiset: perustaidot tietokoneen käytöstä ja sopiva datajoukko harjoitustyöaiheeksi Täytä esitietokysely heti! (kurssisivulla) Luentoja saavat tulla kuuntelemaan muutkin (mutta harjoitusryhmiin ei ylimääräisiä) Tiedonlouhinta 2013/L1 p. 3

Kurssin arvostelu Harjoitustyöt 75% pisteistä (sis. esityksen arvion) Harjoituspisteet 25% pisteistä (mikroharjoituksista 3 läsnäolopistettä) Esitykset arvioidaan yhdessä Ryhmä saa ehdottaa, miten harjoitustyöpisteet jaetaan ryhmäläisten kesken Tiedonlouhinta 2013/L1 p. 4

Opettajat Wilhelmiina Hämäläinen (luennoija, Kuopion harjoitukset ja ohjaus) whamalai@cs.uef.fi Kurssin ajan vastaanottoaika ti klo 15-16 (Technopolis F007) tai sopimuksen mukaan Mikko Malinen (Joensuun harjoitukset ja ohjaus) mmali@cs.uef.fi Tiedonlouhinta 2013/L1 p. 5

Alustava ohjelma Viikko 15 Luento ma 8.4. Luento ti 9.4. Muu Viikko 16 Luento ma 15.4. Luento ti 16.4. Muu Kurssin esittely, johdatus tiedonlouhintaan Datan tyypit ja esiprosessointi. Harjoitustöiden jako ja ohjeistus. Mikroharjoitukset. Tapaamiset ohjaajan kanssa Tilastollisten riippuvuuksien haku Bayesläinen riippuvuuksien mallinnus Harjoitukset. Loput tapaamiset ohjaajan kanssa Tiedonlouhinta 2013/L1 p. 6

Viikko 17 Luento ma 22.4. Luento ti 23.4. Muu Viikko 18 Luento ma 29.4. Luento to 2.5. Muu Luokittelusäännöistä ja luokittelijoista Klusterointi Harjoitukset Erikoisempien hahmojen haku (verkkodata, aikasarjadata) Oikean menetelmän valinta. Tulosten järkevyyden ja merkitsevyyden arviointi. Harjoitukset Tiedonlouhinta 2013/L1 p. 7

Viikko 19 Muu Viikko 20 Viikko 21 Luento ma 22.5. Luento ti 23.5. Muu Omatoimista työskentelyä. Tapaamiset ohjaajan kanssa Omatoimista työskentelyä. Loppuesitykset Loppuesitykset Loppuraporttien palautus Tiedonlouhinta 2013/L1 p. 8

Mitä on Tiedonlouhinta? Data mining (DM) ( data fishing, data snooping, information harvesting ) Knowledge discovery (from databases) (KDD) Intuitiivisesti Laskennallisesti epätriviaalia data-analyysia (uuden informaation etsimistä datasta) Tiedonlouhinta 2013/L1 p. 9

Määritelmiä A non-trivial process of identifying valid, novel, potentially useful and ultimately understandable patterns in data. (Fayyad et al. 1996) Automatic or semi-automatic analysis of large quantities of data to extract previously unknown interesting patterns such as groups of data records, unusual records and dependencies. (wikipedia) Analysis of (often large) observational data sets to find unsuspected relationships and to summarize the data in novel ways that are both understandable and useful to the data owner. (Hand et al. luku 1) Tiedonlouhinta 2013/L1 p. 10

Data-analyysi raaka data informaatio raaka data=prosessoimattomia ja tulkitsemattomia faktoja, esim. mittausten tuloksia datalla itsessään ei mitään merkitystä informaatio=tietoa jolla on merkitys, tulkittua dataa informaation voi esittää myös rakenteellisena mallina suhteellisia termejä: yhden prosessin tuloksena saatu informaatio voi olla toiselle prosessille dataa Tiedonlouhinta 2013/L1 p. 11

Esimerkki: Data vs. informaatio Data: maanpinnan korkeus eri mittauspisteissä ympäri Suomea eri vuosina Informaatiota: Suomen korkein kohta on Haltilla suurin osa maasta on alankoa (alle 200m merenpinnasta) Suomen keskikorkeus on n. 154m Oulun Kemin alueella maa kohoaa n. 9 mm vuodessa maanpinnan korkeusmalli Tiedonlouhinta 2013/L1 p. 12

Data-analyysia harjoittavia tieteenaloja Tiedonlouhinnan lisäksi tilastotiede (erityisesti deskriptiivinen tilastotiede, eksploratiivinen data-analyysi) koneoppiminen (machine learning) (sis. hahmon tunnistuksen, pattern recognition) informaation eristäminen tekstistä (information extraction from text) (luonnollisen kielen prosessoinnin, tiedonhaun (information retrieval) ja DM:n välimaastossa) Tiedonlouhinta 2013/L1 p. 13

Tiedonlouhinta vs. tilastotiede? Tiedonlouhinnan juuret eksploratiivisessa data-analyysissa (exploratory data analysis): tavoite etsiä uusia piirteitä datasta laskennallisesti hankalaa! Tarve algoritmeille Tiedonlouhinta mahdollisti monimutkaisempien mallien etsinnän Keskeinen ero laskennallinen elementti tiedonlouhinta edellyttää epätriviaalia laskentaa eli kekseliäitä algoritmeja Käytännön eroja: tiedonlouhinnassa paljon suuremmat datajoukot tilastotieteessä tilastollisen merkitsevyyden arviointi keskeistä Tiedonlouhinta 2013/L1 p. 14

Tiedonlouhinta vs. koneoppiminen? Rajanveto vaikeaa! Joskus molemmat luetaan kattokäsitteen Knowledge discovery alle Koneoppimisen osa-alueet Ohjattu koneoppiminen (supervised ML): ennustava (prediktiivinen) mallinnus (esim. luokittelu) Ohjaamaton koneoppiminen (unsupervised ML): kuvaava (deskriptiivinen) mallinnus (esim. klusterointi) Tiedonlouhinnassa lähinnä deskriptiivistä mallinnusta Tiedonlouhinta 2013/L1 p. 15

Filosofinen ero Koneoppiminen Uskomus että data on jonkin mallin tuottamaa. Tavoite löytää datan parhaiten selittävä/kuvaava malli. Tiedonlouhinta: Data on ensisijaista. Sillä ei välttämättä ole mitään mallia tai vain lokaaleja hahmoja (osittaismalleja). Tavoite löytää kaikki kiinnostavat hahmot. Tiedonlouhinta 2013/L1 p. 16

Malli vs. hahmo (Hand et al luku 6) Malli (model) kattava, abstrakti esitys datasta globaali eli koskee kaikkia datapisteitä esim. Kaikki opiskelijat voidaan luokitella laiskoihin ja ahkeriin laskuharjoituspisteiden ja luentoaktiivisuuden perusteella. Hahmo (pattern) jotain datan osaa kuvaava piirre (paikallinen malli) lokaali eli koskee vain tiettyjä datapisteitä esim. Korkeat harjoituspisteet indikoivat hyvää arvosanaa. Tiedonlouhinta 2013/L1 p. 17

DM vs. ML: Käytännön eroja (yleistys) Koneoppimisessa monimutkaiset mallit huonommin skaalautuvat algoritmit pienemmät datajoukot (satoja tuhansia rivejä, kymmeniä muuttujia) data ja muuttujat valittu huolella mallinnustarkoitukseen Tiedonlouhinta 2013/L1 p. 18

Tiedonlouhinnassa suhteellisen yksinkertaiset hahmot tehokkaammat algoritmit suuret datajoukot (jopa miljoonia rivejä, satoja tuhansia muuttujia) data saatu usein jonkin toisen projektin sivutuotteena Tiedonlouhinta 2013/L1 p. 19

Yhteenveto: Tieteenalojen suhteet model > data complex models we know, what we want to learn MACHINE LEARNING DATA MINING data > model simple models or local patterns we don t know, what we are looking for STATISTICS we know, what we are looking for small amount of data Tiedonlouhinta 2013/L1 p. 20

Tiedonlouhintaprosessi Edellyttää yhteistyötä eri alojen ihmisten välillä! DATA Ongelman analysointi Tiedon louhinta Tulosten analysointi UUSI TIETO sovellusalan asiantuntijat ja louhija louhija sovellusalan asiantuntijat ja louhija Tiedonlouhinta 2013/L1 p. 21

Prosessin tyypilliset vaiheet 1. Ongelman määrittely datan ja taustateorian ymmärtäminen 2. Esiprosessointi datan siivous, piirteiden eristys ja valinta 3. Tiedonlouhinta (mallinnus/hahmojen haku) 4. Tulosten luotettavuuden arviointi 5. Tulosten havainnollinen esitys ja tulkinta Tiedonlouhinta 2013/L1 p. 22

1. Ongelman määrittely Datan ymmärtäminen: mitä muuttujat mittaavat/kuvaavat? Paljonko dataa on (suhteessa muuttujien määrään)? Millaisia hahmoja olisi kiintoisaa/hyödyllistä löytää? Mitä tiedetään ennestään? Taustateoriaan kannattaa louhijankin perehtyä! Vaikeus: Eri alojen ihmisten löydettävä yhteinen kieli (koeta puhua siten, että maallikkokin ymmärtää) Tiedonlouhinta 2013/L1 p. 23

2. Esiprosessointi Datan yhdistys (eri lähteistä) (voi vaatia normalisointia tms.) Alustava analysointi: muuttujien keskiarvot, keskihajonnat, jakaumat, korrelaatiot (tilastollisilla työkaluilla) Datan siivous: puuttuvien arvojen käsittely, virheiden tarkistus ja korjaus Uusien potentiaalisesti hyvien muuttujien johtaminen (esim. muuttujien yhdistys, diskretointi, normalisointi) Tiedonlouhinta 2013/L1 p. 24

2. Esiprosessointi (jatk.) Mallinnuksen kannalta hyvien muuttujien valinta Jos mahdollista, aluksi ei kannata karsia mitään, ennen kuin tiedetään, mitkä muuttujat tarpeettomia Jos laskennallisesti mahdotonta, luodaan vaihtoehtoisia datajoukkoja (samaa asiaa kuvaavat vaihtoehtoiset muuttujat eri joukkoihin) Muuttujien valintamenetelmät eivät koskaan takaa optimaalista tulosta! (NP-kova ongelma) Tiedonlouhinta 2013/L1 p. 25

3. Tiedonlouhinta Aina kannattaa aloittaa riippuvuusanalyysistä! muuttujien ja mallinnusmenetelmien valinta Yleensä deskriptiivinen mallinnus auttaa prediktiivisten mallien muodostuksessa esim. Deskr: Etsitään 100 merkitsevintä muuttujaan Diabetes liittyvää riippuvuussääntöä Pred: Etsitään (valikoidusta datasta) paras diabetesta ennustava malli Tyypillisiä mallinnusmenetelmiä riippuvuusanalyysi, klusterointi, luokittelu Tiedonlouhinta 2013/L1 p. 26

Tiedonlouhinta: Riippuvuusanalyysi Annettu joukko kategorisia muuttujia R= A 1,..., A k, etsi merkitsevimmät tilastolliset riippuvuussäännöt muotoa X C (X R, C R) esim. A 1, A 4 A 9 A 2 (A 1 ja A 4 lisäävät A 2 :n todennäköisyyttä) esim. geeni elintapa sairaus -datasta voi löytyä ApoE-e4, alkoholiakohtuudella Alzheimer Annettu joukko numeerisia muuttujia R= A 1,..., A k sekä C, muodosta lineaarinen malli joka ennustaa parhaiten C:tä Malli muotoa C=β 1 B 1 +β 2 B 2 +...β m B m +α, missä B i R. Tiedonlouhinta 2013/L1 p. 27

Tiedonlouhinta: Klusterointi Jaa datapisteet samankaltaisten/lähekkäisten pisteiden muodostamiin ryhmiin eli klustereihin harj. pisteet Esim. opiskelijoiden klusterointi luennoille osallistumisen (kerrat) ja harjoituspisteiden perusteella luennot Tiedonlouhinta 2013/L1 p. 28

Tiedonlouhinta: Luokittelu Annettuna datapisteiden luokittelu (jako luokkiin), muodosta malli, joka määrittää pisteen luokan muiden muuttujien perusteella. esim. päätöspuu pelto- ja koivuhiiren erotukseen painon, vartalon ja hännän pituuden perusteella <20g paino >20g <8cm vartalon pituus >8cm peltohiiri >7cm hännän pituus <7cm peltohiiri koivuhiiri peltohiiri Tiedonlouhinta 2013/L1 p. 29

4. Tulosten luotettavuuden arviointi Ovatko löydetyt hahmot tai mallit järkeviä?? (Muista aina tarkistaa!) voi olla, ettei datasta oikeasti löydy mitään mallia mallinnusmenetelmä palauttaa silloin jonkin satunnaismallin Prediktiivisten mallien validointi helppoa: määritetään hyvyysmitta (tai virhemitta, esim. väärin luokiteltujen alkioiden osuus) malli opitaan opetusjoukosta (training set) ja sen virhettä tutkitaan testijoukossa opetus- ja testijoukkojen oltava edustavia! vaihtoehto ristiinvalidointi Tiedonlouhinta 2013/L1 p. 30

4. Tulosten luotettavuuden arviointi (jatk.) Deskriptiivisten mallien luotettavuuden arviointi vaikeampaa Tavoite: halutaan takuita, että löydetty hahmo ei johdu sattumasta Mielellään takuita myös siitä, että samanlainen hahmo pätee jatkossa, samasta samantapaisesta populaatiosta kerättävässä datassa välineenä hahmon tilastollisen merkitsevyyden arviointi Tiedonlouhinta 2013/L1 p. 31

5. Tulosten esitys ja tulkinta Tulokset kannattaa esittää mahdollisimman havainnollisesti (esim. graafisesti), jolloin oleellinen erottuu Alan asiantuntija keskeisessä roolissa! Löytyikö jotain uutta? Voiko tulosten pohjalta muodostaa uutta hypoteesia? Miten sitä voisi tutkia lisää? Johtaa useimmiten uuteen louhintakierrokseen: kokeillaan uusia muuttujia ja mahdollisesti uusia menetelmiä Kierrokset lopetetaan vasta, kun ollaan tyytyväisiä tai mitään uutta ei näytä enää löytyvän Tiedonlouhinta 2013/L1 p. 32

Täydellinen data-analyysi silti jokseenkin mahdotonta Miksi? Tiedonlouhinta 2013/L1 p. 33

Tarvitaanko tiedonlouhintaan tietojenkäsittelytieteilijää? Soveltava tiedonlouhinta: käytetään yleensä valmiita työkaluja Periaatteessa kuka tahansa oppii käyttämään (pitää vain tuntea perusteet mitä kannattaa tehdä ja miten) Valmiita helppokäyttöisiä työkaluja on, mutta ei uusimmista algoritmeista (ohjelmoija osaa toteuttaa algoritmin) Joskus ongelma vaatii ihan uutta menetelmää (uudenlaisen hahmon hakua) tarvitaan tiedonlouhinta-algoritmien suunnittelijaa ja ohjelmoijaa Tiedonlouhinta 2013/L1 p. 34

Tarvitaanko tietojenkäsittelytieteilijää? Esiprosessointivaiheessa tarvitaan yleensä ohjelmointitaitoja (uusien hyvien muuttujien muodostus on taidelaji!) Mutta: jos data on tosi siistiä, muuttujat hyviä ja työkalu kattava, voi louhinnasta selvitä osaamatta koodata riviäkään. Työelämässä tiedonlouhijoilla ja data-analyytikoilla on paljon kysyntää (ja kysyntä kasvaa)! Tiedonlouhinta 2013/L1 p. 35

Datan tyypittely Onko rakenteellista (structured)? Onko temporaalista vai staattista? Minkä tyyppisiä muuttujia? Tiedonlouhinta 2013/L2 p. 36

Rakenteellinen vs. rakenteeton data rakenteeton data on vain yksi merkkijono, ilman tunnistettavaa rakennetta esim. teksti, ääni, kuva rakenteellisen datan esitys noudattaa ennalta määriteltyä rakennetta tyypillisesti: data koostuu riveistä ja jokainen rivi luettelee tiettyjen muuttujien arvot ts. datarivi on joukko piirteitä eli muuttuja arvo-pareja Tiedonlouhinta 2013/L2 p. 37

Rakenteellinen vs. rakenteeton (jatk.) muun tyyppisiä rakenteellisia datoja kutsutaan toisinaan puolirakenteellisiksi (semistructured) esim. tekstitiedosto jonka kieliopillinen rakenne kuvattu tageilla (< sub j>kissa</sub j>< pred>söi</pred> < ob j>hiiren</ob j>) rakenteettomille datoille annetaan rakenne eristämällä piirteitä eli muodostamalla muuttujia ja määrittämällä niiden arvot tiedonlouhinnassa oletetaan yleensä, että data on rakenteellista jos ei ole, on ensin määritettävä rakenne Tiedonlouhinta 2013/L2 p. 38

Staattinen ja temporaalinen data staattinen: muuttujien arvot eivät muutu ajan kuluessa (tai mitattu vain kerran, tietyllä ajanhetkellä) temporaalinen (dynaaminen): muuttujan arvot riippuvat ajanhetkestä laitteiden lokidata (log data): aikaleima, tapahtuma, käyttäjä, ym. aikasarjadata (time series data): muuttujan arvo mitattu tasavälein, esim. lehmän x-,y- ja z-kiihtyvyydet 0.1s välein Tiedonlouhinta 2013/L2 p. 39

Staattinen ja temporaalinen (jatk.) aina ajankohdalla ei ole väliä! esim. lokista voi analysoida tapahtumia ajankohdasta piittaamatta tai ajankohdan voi esittää karkealla tasolla (aamu, päivä, ilta, yö) jos mittauksia vain parilla muutamalla ajanhetkellä, voi luoda uudet stattiset muuttujat (esim. painoennenkoetta, painokokeenjälkeen) yksilön tai järjestelmän dynamiikan mallinnus edellyttää temporaalisia malleja/hahmoja (ja paljon dataa!) Tiedonlouhinta 2013/L2 p. 40

Muuttujien perustyypit MUUTTUJA numeerinen kategorinen jatkuva diskreetti nominaalinen ordinaalinen pituus, paino pulssi, poikasten lkm metsätyyppi, eläinlaji maaperän kosteus (kuiva, tuore, kostea, märkä) Tiedonlouhinta 2013/L2 p. 41

Muuttujien perustyypit (jatk.) diskreetin muuttujan mahdollisia arvoja vain numeroituva määrä (esim. kokonaisluvut) ja tietyllä arvovälillä äärellinen määrä jatkuva muuttuja voi saada minkä tahansa arvon annetulta arvoväliltä (eli mahdollisia arvoja ylinumeroituva määrä) käytännössä esitetään kuitenkin jollain tarkkuudella (jolloin mahdollisia arvoja annetulla välillä on vain äärellinen määrä) Tiedonlouhinta 2013/L2 p. 42

Muuttujien perustyypit (jatk.) ordinaalimuuttujilla on järjestys, vaikka ei numeerista tulkintaa nominaalimuuttujien arvot vain nimiä, joilla ei numeerista tulkintaa tai järjestystä erikoistapaus binaarimuuttuja, jonka arvo 0 tai 1 (jokin ominaisuus pätee tai ei päde) ei silti numeerista tulkintaa! esim. muuttujat (attribuutit) sairas, naaras, muuntogeeninen Tiedonlouhinta 2013/L2 p. 43

Datan esiprosessointi Tärkeimmät tehtävät: 1. Datan puhdistus (Data cleaning): Virheiden, puuttuvien arvojen ym. käsittely 2. Piirteiden eristys (Feature extraction): Uusien muuttujien muodostus vanhoja muuntamalla ja yhdistämällä 3. Piirteiden valinta (Feature selection): Hyvien muuttujien valinta Tiedonlouhinta 2013/L2 p. 44

Datan puhdistus Tavoite tunnistaa ja eliminoida mahdollisimman hyvin virheet, puuttuvat arvot, duplikaatit, kohina ja outlierit (poikkeavat havainnot) Automaattisten mittauslaitteiden ongelma lähetyskatkot dataa voi puuttua tietyltä aikaväliltä tai sama datapala on lähetetty kahteen kertaan (duplikaatteja) Jos muuttujat ovat eri lähteistä (esim. askelmittarista lehmän aktiivisuus ja pötsin ph-mittarista ph ja lämpötila), voi puuttuvia arvoja olla vain joissain muuttujissa Tiedonlouhinta 2013/L2 p. 45

Datan puhdistus: Kohina ja virheet kohina (noise) = häiriöistä johtuva epätarkkuus/satunnaisvirheet muuttujien arvoissa esim. märehtimismittarin pitäisi äänittää lehmän suun ääniä, mutta taustan traktorin hurina tulee mukaan virheet johtuvat usein inhimillisistä syistä (huolimattomuus) tai laitevioista (laite ei toimi oikein) Tiedonlouhinta 2013/L2 p. 46

Datan puhdistus: Outlierit outlierit voivat paljastaa virheen (tai kiinnostavan poikkeavan tapahtuman!) usein outlierit selviävät vasta klusteroidessa (tai sotkevat klusteroinnin) muuttujien jakaumia kannattaa tutkia graafisesti! näkee helposti poikkeavat arvot joskus outlier ei kuitenkaan ole poikkeava minkään yksittäisen muuttujan suhteen, vaan ainoastaan muuttujien arvokombinaation suhteen Tiedonlouhinta 2013/L2 p. 47

Puhdistus: Virheiden ja puuttuvien arvojen korjaus Ensisijaisesti korjataan oikeilla arvoilla. Muuten jos paljon, kannattaa muuttuja ehkä karsia kokonaan jos jollain datarivillä paljon puuttuvia, rivi kannattaa poistaa voi korvata muuttujan keskiarvolla tai mediaanilla jos mallinnusmenetelmä sallii puuttuvat arvot, voi ne merkitä vain erikoissymbolilla (esim.?, n/a tai ohjelmassa FLT_MAX) Huom! Joskus puuttuvat arvot voivat myös paljastaa kiinnostavan hahmon! Tiedonlouhinta 2013/L2 p. 48

Puhdistus: Kohina ja outlierit Kohinaa voi pienentää pehmentämällä dataa (data smoothing) skaalaus, diskretointi ym. arvoaluetta pienentävät tekniikat piirteiden eristys mallia/sen parametreja valitessa muista: mediaani ei ole yhtä herkkä outlierien vaikutukselle kuin keskiarvo robustit mallinnusmenetelmät pienentävät sekä kohinan että outlierien vaikutusta Tiedonlouhinta 2013/L2 p. 49

Piirteiden eristys: Diskretointi Tärkeä menetelmä! (jatkuva) numeerinen muuttuja muunnetaan diskreetiksi numeeriseksi tai kategoriseksi muuttujaksi esim. lehmän painon diskretointi: <=400kg kevyt, 400 600kg normaali, >600kg painava binarisointi=diskretoinnin erikoistapaus, kun uusi muuttuja binaarinen esim. lämpötilan tilalle binäärinen pakkasta-muuttuja Huom! Myös kategorisia muuttujia voi binarisoida arvovälin voi jakaa tasakokoisiksi väleiksi, yhtä monta pistettä sisältäviksi tai määrittää osavälit sekventoimalla Tiedonlouhinta 2013/L2 p. 50

Diskretointi (jatk.) diskretointi eliminoi kohinaa ja muuta satunnaisvaihtelua (esim. yksilöllisiä eroja), jolloin mallit ja hahmot voivat erottua paremmin pelkästään numeerisestakin datasta kannattaa tutkia diskretoitua versiota! vähemmän kohinaa, selvemmät hahmot tehokkaammat algoritmit diskreetin datan hahmot auttavat myös numeerisen mallinnusmenetelmän valinnassa Tiedonlouhinta 2013/L2 p. 51

Piirteiden eristys: Skaalaus uusi muuttuja muotoa X=αY+β, missä Y vanha muuttuja normalisointi: kaikki muuttujat muunnetaan samaan skaalaan standardointi: X= Y mean(y) stdev(y) suositellaan jos datassa outliereita ja käytetään Euklidista metriikkaa (klusterointi, lineaariregressio) voi käyttää diskretoinnin esivaiheena (uudet muuttuja-arvot esim. poikkeuksellisen pieni, normaali, poikkeuksellisen suuri) Tiedonlouhinta 2013/L2 p. 52

Piirteiden eristys: Yleistys Vastaa diskretointia kategorisille muuttujille muunnetulla muuttujalla vähemmän arvoja nostetaan abstraktiotasoa, esim. yhdistetään laji-muuttujan arvot peltomyyrä, kenttämyyrä, lapinmyyrä ja idänkenttämyyrä uudeksi arvoksi kenttämyyrät Sekä diskretointi että yleistys tarpeen, jos dataa liian vähän suhteessa muuttujien lukumäärään/arvoalueiden kokoon! (muuten malli ylisovittuu) Tiedonlouhinta 2013/L2 p. 53

Piirteiden eristys: PCA ja ICA numeerisille muuttujille, kun paljon dataa uudet muuttujat vanhojen lineaarisia kombinaatioita PCA:ssa (principal component analysis) uudet muuttujat korreloimattomia ja ICA:ssa (independent component analysis) riippumattomia PCA edellyttää normaalijakautunutta dataa! Tiedonlouhinta 2013/L2 p. 54

Piirteiden valinta Annettuna muuttujajoukko R, mikä on mallinnuksen kannalta paras mahdollinen X R? tärkeää klusteroinnissa ja ennustavassa mallinnuksessa Kaikkia mahdollisia osajoukkoja X R on 2 k 1 kpl, kun R =k kaikkia ei voi tutkia! (NP-kova ongelma) käytettävä heuristisia menetelmiä testataan jokaisen muuttujan hyvyys erikseen muodostetaan X ahneella heuristiikalla Tiedonlouhinta 2013/L2 p. 55

Piirteiden valinta (jatkoa) joskus helppo tunnistaa epärelevantit muuttujat jos muuttuja on johdettu toisesta, ei molempia tarvita jos muuttujien jakaumat hyvin samanlaiset, voi ehkä yhdistää riippuvuusanalyysi kannattaa tehdä ilman valikointia, jos mahdollista Tiedonlouhinta 2013/L2 p. 56

Ekskursio 1: NP-kova ongelma (NP-hard problem) kertoo että ongelma on laskennallisesti *** vaikea! vähintään yhtä vaikea kuin aikavaativuusluokan NP (non-deterministic polynomial time) ongelmat todennäköisesti eksponentiaalinen aikavaativuus eli aika-askelten lukumäärä kasvaa eksponentiaalisesti syötteen koon funktiona esim. jos ohjelman pahin aikavaativuus f (k)=2 k aika-askelta, k = muuttujien lkm ja kukin askel 0.001s (riippuu datarivien lkm:stä). Jos k = 100, suoritus voi vaatia 400 triljoonaa (4 10 20 ) vuotta! ( maailmanloppu jo 4 miljardin v. päästä) onneksi datat harvoin niin patologisia! (riippuu jakaumasta) Tiedonlouhinta 2013/L2 p. 57

Ekskursio 2: Visuaalinen muuttujan diskretointi Perusidea: Tutkitaan muuttujan histogrammia ja etsitään aukot 1. Valitse aluksi suuri osavälien (bins) lukumäärä, esim. 100 2. Muodosta histogrammi ja esitä graafisesti 3. Jos histogrammissa selviä kukkuloita ja välillä selviä aukkoja, voi aukkojen kohdalle asettaa diskretointirajan 4. Jos matala tasainen jakauma, vähennä osavälien lkm:ää 5. Jos korkea, mutta ei aukkoja tai edes laaksoja, kokeile lisätä osavälien lkm:ää Tiedonlouhinta 2013/L2 p. 58

Esimerkki: internet-käyttäjien lkm maailman valtioissa (per 100 as.) 100 bins 10 8 6 4 2 0 2.0 10 1 2.0 10 1 6.0 10 1 1.0 10 2 esim. 3-jako: x<25, 25 x<58, x 58 Tiedonlouhinta 2013/L2 p. 59

Esimerkki: internet-käyttäjien lkm maailman valtioissa (per 100 as.) 50 bins 8 7 6 5 4 3 2 1 0 2.0 10 1 2.0 10 1 6.0 10 1 1.0 10 2 Tiedonlouhinta 2013/L2 p. 60

Esimerkki: internet-käyttäjien lkm maailman valtioissa (per 100 as.) 20 bins 6 5 4 3 2 1 0 2.0 10 1 2.0 10 1 6.0 10 1 1.0 10 2 Tiedonlouhinta 2013/L2 p. 61

Muodostus gnumericissa 1. Maalaa haluttu sarake (muuttuja) 2. Valitse Statistics Descriptive statistics Frequency tables Histogram 3. Aseta jakovälien lkm (Cutoffs-valikko) ja ruksaa histogram chart (Graphs & options -valikko). Sitten ok. 4. Tutki tuloslehteä (kuvan voi siirtää taulukkoesityksen päältä) 5. Histogrammin voi tallettaa kuvana (klikkaa hiiren oikealla napilla) Tiedonlouhinta 2013/L2 p. 62

Luento 3: 1 Yleiset mallinnusperiaatteet ja 2 Riippuvuusanalyysi 1. Ongelman määrittely datan ja taustateorian ymmärtäminen 2. Esiprosessointi datan siivous, piirteiden eristys ja valinta 3. Tiedonlouhinta (mallinnus/hahmojen haku) 4. Tulosten luotettavuuden arviointi 5. Tulosten havainnollinen esitys ja tulkinta Tiedonlouhinta 2013/L3 p. 63

Yleiset mallinnusperiaatteet data-avaruus = kaikki mahdolliset muuttujien arvokombinaatiot hakuavaruus = kaikki mahdolliset annetun formaatin mukaiset mallit/hahmot, jotka datasta voisi johtaa globaalisti ja lokaalisti optimaaliset hakualgoritmit = Ovatko löydetyt mallit/hahmot varmasti parhaita mahdollisia? ylisovittuminen Kuvaako malli liian hyvin syötedatan? Tiedonlouhinta 2013/L3 p. 64

Parhaan mallin haku datasta hakualgoritmi Kaikki mahdolliset formaatin mukaiset mallit Data avaruus Haku avaruus tietty datajoukko paras malli ko. syötedatasta Huom! Annetut muuttujat määräävät data-avaruuden. Tiedonlouhinta 2013/L3 p. 65

Data-avaruus Olk. muuttujat A 1,..., A k, joiden arvoalueet Dom(A 1 ),..., Dom(A k ). SilloinD=Dom(A 1 )... Dom(A k ) määrittää data-avaruuden. Datan dimensio k Jos kaikki muuttujat diskreettejä, voi kokoa luonnehtia solujen lukumäärällä: D = Dom(A 1 )... Dom(A k ). Nyt Dom(A i ) = {a i1,...,a im } =m Jos jatkuvia muuttujia, ei voi laskea solujen lkm:ää! Nyt Dom(A i ) = [a min, a max ] =a max a min (voi olla ) Tiedonlouhinta 2013/L3 p. 66

Esim. 3-ulotteisen diskreetin datan esitys Dom(B) =14 Dom(A) =12 Dom(C) =12 Koko 12 12 14 = 2016 solua. Tiedonlouhinta 2013/L3 p. 67

Hakuavaruus Kattaa kaikki mahdolliset mallit, jotka mallinnusmenetelmän ja data-avaruuden mukaisia ja jotka voi löytää annetulla hakualgoritmilla Data-avaruus (annetut muuttujat ja niiden arvoalueet) määräävät, millaisia malleja voi löytää Samaan mallinnusmenetelmään ( mallinnusparadigmaan, esim. päätöspuut, neuroverkot, riippuvuussäänöt) voi liittyä erilaisia hakualgoritmeja! voivat löytää eri malleja Tiedonlouhinta 2013/L3 p. 68

Esimerkki: riippuvuussääntöjen hakuavaruus Binäärimuuttujat R={A 1,..., A k } ja etsitään säännöt muotoa X A, X R, A X. Hakuavaruus koostuu kaikista mahdollisista säännöistä eli 1. Tutkitaan kaikki mahdolliset R:n osajoukot Y, joiden koko vähintään 2 attribuuttia ( Y 2) R:n potenssijoukko (koko 2 k ) P(R)={, A 1, A 2,..., A k, A 1 A 2, A 1 A 3,..., A k 1 A k, A 1 A 2 A 3,...,..., A 1 A 2... A k } Ei tarvitse tutkia joukkoja,{a 1 },...,{A k }. Tiedonlouhinta 2013/L3 p. 69

Esimerkki (jatk.) 2 Jokaisesta osajoukosta Y muodostetaan kaikki mahdolliset säännöt Jos Y =l, voi muodostaa l sääntöä, Y\{A i } A i ( A i Y). Hakuavaruuden koko on siis k i=2 i ( k i) =O(k 2 k ) Tiedonlouhinta 2013/L3 p. 70

Hakuavaruus (jatk.) Jos binäärimuuttujat R={A 1,..., A k } ja luokkamuuttuja C. Millainen olisi kaikkien mahdollisten päätöspuiden joukko? Tiedonlouhinta 2013/L3 p. 71

Mallin hyvyysmitta Tarvitaan jokin hyvyysmitta M, joka kertoo mallin hyvyyden. esim. miten monta alkiota luokittelee oikein, miten vahva tai merkitsevä riippuvuus on, miten tiheä klusteri on tms. yleensä pyrkii heijastamaan myös sitä, miten hyvin malli yleistyy mallin muodostusdatan ulkopuolelle (ts. että hahmo pätee oikeasti tai malli toimii tulevaisuudessa) Jos malli paranee, kun M kasvaa, on M hyvyyden mukaan kasvava (esim. luokittelun accuracy,χ 2 -mitta) muuten taas hyvyyden mukaan vähenevä (esim. luokitteluvirhe, p-arvot) Tiedonlouhinta 2013/L3 p. 72

Hakuongelma: 2 variaatiota Annettu mallinnusmenetelmä, data ja hyvyysmitta M. 1. Luettelointiongelma (enumeration problem): Etsi kaikki riittävän hyvät mallit (annettu jokin M:n raja-arvo). 2. Optimointiongelma (optimization problem): Etsi K parasta mallia (ML:ssä yleensä K = 1) Loppujen lopuksi ei suurta eroa! Käyttäjä ei halua tulokseksi tuhansia (saati miljoonia) hahmoja! Keskitytään optimointiongelmaan Tiedonlouhinta 2013/L3 p. 73

Hakualgoritmin optimaalisuus? Globaalisti optimaalinen, jos palauttaa parhaat K mallia hakuavaruudesta Takuu: datasta ei mahdollista löytää näitä parempia annetun muotoisia malleja. Lokaalisti optimaalinen: Löydetyt mallit parhaita jossain hakuavaruuden osassa, mutta eivät välttämättä koko hakuavaruudessa. algoritmi ei tutki koko avaruutta, vaan valikoi tutkittavan alueen heuristisesti algoritmi voi juuttua lokaaliin optimiin Tiedonlouhinta 2013/L3 p. 74

Heuristiikka Intuitiivisesti: apumenetelmä tai periaate, jota soveltamalla ongelma ratkeaa nopeammin mutta tulokset silti melko hyviä/useimmiten hyviä. yleensä ovat alioptimaalisia (suboptimal) eli eivät takaa globaalia optimia (parhaan mallin löytymistä) Esim. ahne heuristiikka (greedy heuristic): Edetään haussa sillä hetkellä parhaalta näyttävään suuntaan. Tyypillistä ihmisille! Tyyliin Väsyttää ja masentaa, hirveästi rästitöitä, paras pitää lökeripäivä. (optimoi mielihyvää lyhyellä tähtäimellä) joskus heuristiikan virheellisyys merkitsee vain hidasta hakua, ei oikeiden tulosten hukkaamista (riippuu mihin heuristiikkaa käytetään) Tiedonlouhinta 2013/L3 p. 75

Esimerkki: Luokittelusääntöjen hakuavaruus Olk. R={A, B, C, D, E} ja luokka-attribuutti F. Hakuavaruus P(R) voidaan esittää luettelointipuuna (enumeration tree). A C D E C B E D E D D E B E D C D C D E E E E E E D E E E E E Tiedonlouhinta 2013/L3 p. 76

Parhaan säännön ahne haku Jos tasoittain haku ylhäältä alas ja ahne haku tuottaisi BDE F:n. Tutkisi vain 9 solmua 32:sta, mutta voi mennä metsään! A B C D E C B C D E C D E D E E D E E D E D E E E D E E E E E Tiedonlouhinta 2013/L3 p. 77

Varoituksen sana! Aina menetelmää/sen hakualgoritmia valitessasi Epäile alioptimaalista heuristiikkaa! Ota selvää, mikä heuristiikka on ja milloin se voi hukata parhaat mallit. Miten todennäköistä on, että saadaan huonoja tuloksia? Hälytyskellojen paras soida, jos kuulet sanan ahne heuristiikka (vaikka joskus harvoin turha hälytys) Ongelma: Menetelmien kehittäjät eivät mielellään kerro, ettei menetelmä ole globaalisti optimaalinen... Tiedonlouhinta 2013/L3 p. 78

Mallin ylisovittuminen (overfitting) Intuitiivisesti: Malli/hahmo h kuvaa mallinnettavan datan d liian yksityiskohtaisesti, mukaan lukien satunnaisvaihtelun, eikä siksi yleisty d:n ulkopuolelle. Täsmällisemmin: h ylisovittunut, jos h s.e. M(h, d)> M(h, d) mutta M true (h)< M true (h ), missä M true on mallin oikea hyvyys. Oikeaa hyvyyttä M true ei voi mitata! Koetettava arvioida heuristisesti. Oletus: M hyvyyden mukaan kasvava (jos ei, niin vaihda>ja<) Tiedonlouhinta 2013/L3 p. 79

Occamin partaveitsi periaate Tärkeä havainto: Ylisovittuminen edellyttää monimutkaista mallia. monimutkaisella mallilla voi kuvata yksityiskohdat tarkka kuvaus mutta harvoille (tai vain yhdelle) datajoukoille yksinkertaisella mallilla ei voi kuvata kaikkia yksityiskohtia kuvaa ylimalkaisemmin mutta useampia datajoukkoja ylisovittumista voi estää kontrolloimalla mallin monimutkaisuutta! = Occamin partaveitsi (Occam s Razor) periaate: (Yhtä hyvistä) malleista suosi yksinkertaisinta. tai rankaise monimutkaisuudesta Tiedonlouhinta 2013/L3 p. 80