Laskennallinen data-analyysi II Patrik Hoyer Epävarmuuden mallintaminen 16 17.4.2008
LDA II, osa 3: epävarmuuden mallintaminen Luennot (16.4 ja 17.4) - ongelma, menetelmät, esimerkkejä (kalvot verkossa 17.4 illalla) Lukemista - seuraavalla kalvolla Harjoitustehtävät - kurssin kotisivulla 17.4 illalla; käydään läpi 25.4 - laskemista, ymmärtämistä Projektityö - kurssin kotisivulla viimeistään 20.4 illalla, viimeinen palautuspäivä 29.4 - käytännön kokeilemista Matlabissa 2
Lukemista (LDA II, osa 3) Bootstrap-menetelmästä: Erityisesti osat 14.1-14.3 tekstistä: http://www.cs.helsinki.fi/group/lda/lda-ii-tiedostot/bootstrap-intro.pdf Bayesiläisestä mallintamisesta: Kappale 28 (tosin ei osaa 28.3) ilmaiseksi ladattavasta kirjasta: http://www.inference.phy.cam.ac.uk/mackay/itila/book.html Hakekaa/printatkaa nämä heti; jos ilmenee jotain teknisiä tai muita ongelmia ottakaa viipymättä yhteyttä minuun: http://www.cs.helsinki.fi/u/phoyer/contact.html 3
Huom: Kurssikoe 5.5 LDA II kurssikoe maanantaina 5.5. klo 16-19 salissa B123. (huom: siirrettiin kurssin alussa alkuperäisestä aikataulusta!) Kurssikoe arvostellaan vain jos kaikki kolme projektityötä palautetaan ajallaan. Koemateriaalina ovat luentokalvot ja erikseen annettu oheismateriaali, sekä kurssin harjoitustehtävät ja -ratkaisut. 4
Epävarmuus luokittelussa? Havaittu joukko pisteitä, kuuluvat kahteen eri luokkaan 5
Epävarmuus luokittelussa? Havaittu joukko pisteitä, kuuluvat kahteen eri luokkaan Mihin luokkaan uusi (musta) piste kuuluu? Kuinka varma olet? 6
Epävarmuus luokittelussa? Havaittu joukko pisteitä, kuuluvat kahteen eri luokkaan Mihin luokkaan uusi (musta) piste kuuluu? Kuinka varma olet? Entäs nyt? 7
Epävarmuus luokittelussa? Havaittu joukko pisteitä, kuuluvat kahteen eri luokkaan Mihin luokkaan uusi (musta) piste kuuluu? Kuinka varma olet? Entäs nyt? Entäs nyt? 8
Epävarmuus luokittelussa? Havaittu joukko pisteitä, kuuluvat kahteen eri luokkaan Mihin luokkaan uusi (musta) piste kuuluu? Kuinka varma olet? Entäs nyt? Entäs nyt? 9
Syöpää vai ei? Olette vastuussa menetelmästä joka tulostaa syöpää/terve röntgenkuvien perusteella 10
Syöpää vai ei? Olette vastuussa menetelmästä joka tulostaa syöpää/terve röntgenkuvien perusteella Olisiko hyödyllistä jos menetelmä ilmaisisi kun se ei ole varma? 11
Syöpää vai ei? Olette vastuussa menetelmästä joka tulostaa syöpää/terve röntgenkuvien perusteella Olisiko hyödyllistä jos menetelmä ilmaisisi kun se ei ole varma? Vaikka tehtävän speksit vaativat binäärisen tuloksen joka kuvalle, kannattaa ehkä ottaa huomioon erityyppisten virheiden seuraukset (esim voi olla hyvä sanoa terve vain kun on todella varma asiasta!) 12
Päätösteoria..., mikä on paras piste- Annettuna jakauma estimaatti y :lle? P (y x) 13
Päätösteoria..., mikä on paras piste- Annettuna jakauma estimaatti y :lle? P (y x) Yleisemmin, miten tehdä optimaalisia päätöksiä epävarmuuden vallitessa? 14
Päätösteoria..., mikä on paras piste- Annettuna jakauma estimaatti y :lle? P (y x) Yleisemmin, miten tehdä optimaalisia päätöksiä epävarmuuden vallitessa? Keskeinen käsite: tappiofunktio (loss function) tai hyötyfunktio (utility function) 15
Päätösteoria..., mikä on paras piste- Annettuna jakauma estimaatti y :lle? P (y x) Yleisemmin, miten tehdä optimaalisia päätöksiä epävarmuuden vallitessa? Keskeinen käsite: tappiofunktio (loss function) tai hyötyfunktio (utility function) Optimaalinen päätös määritellään niin että se minimoi odotetun tappion 16
Esim: Luokittelu - Röntgenkuvien perusteella diagnosoidaan syöpää. Jos potilas on terve mutta diagnoosi on syöpä niin se aiheuttaa stressiä ja lisätutkimuksia. Mutta jos potilaalla on syöpä ja todetaan terveeksi niin hoito viivästyy ja lopputuloksena potilas saattaa kuolla... syöpä diagnoosi terve oikeasti syöpä terve 0 100 5 0 tappiomatriisi L(y, ŷ) 17
Jos halutaan minimoida odotusarvoinen tappio niin tällä tappiomatriisilla kannattaa valita arvio syöpä aina kun syövän todennäköisyys on suurempi kuin 5% (tarkka arvo: harjoitustehtävä) 18
Jos halutaan minimoida odotusarvoinen tappio niin tällä tappiomatriisilla kannattaa valita arvio syöpä aina kun syövän todennäköisyys on suurempi kuin 5% (tarkka arvo: harjoitustehtävä) Eli todennäköisin luokka ei välttämättä aina ole paras valinta! 19
Regressio - Tappiofunktiolla L(y, ŷ) nyt jatkuva-arvoiset argumentit - Usein muotoa L(y, ŷ) = f(y ŷ) - Neliöllinen tappio L(y, ŷ) = (y ŷ) 2 minimoituu kun valitaan piste-estimaatiksi ehdollinen odotusarvo, eli ŷ = E{y x}. - Absoluuttinen- tai itseisarvo-tappio L(y, ŷ) = y ŷ minimoituu kun valitaan ehdollinen mediaani t y(x) y(x 0 ) p(t x 0 ) x 0 x 20
Käsinkirjoitettujen merkkien tunnistaminen Mitäs alla lukee? 21
Käsinkirjoitettujen merkkien tunnistaminen Mitäs alla lukee? Entäs tässä? Onko viides merkki G vai 6? Riippuu kontekstista. Voi olla hyvä eksplisiittisesti ilmaista siihen liittyvä epävarmuus ja yhdistää kontekstitieto lopullisen arvauksen tekemiseen. 22
Kasvojentunnistus Onko tämä sama henkilö? 23
Kasvojentunnistus Onko tämä sama henkilö? Voi olla viisasta antaa ulos jonkunlainen todennäköisyys, jotta tiedon pohjalta voidaan tehdä järkeviä päätöksiä! 24
Regressio: epävarmuuden mallintaminen... Oikealla oleva datajoukko mallinnetaan mallilla y = f(x) + n y x 25
Regressio: epävarmuuden mallintaminen... Oikealla oleva datajoukko mallinnetaan mallilla y = f(x) + n Liian monimutkainen malli johtaa ylisovittamiseen y x 26
Regressio: epävarmuuden mallintaminen... Oikealla oleva datajoukko mallinnetaan mallilla y = f(x) + n Liian monimutkainen malli johtaa ylisovittamiseen Liian yksinkertainen malli ei pysty kuvaamaan dataa y x 27
Regressio: epävarmuuden mallintaminen... Oikealla oleva datajoukko mallinnetaan mallilla y = f(x) + n Liian monimutkainen malli johtaa ylisovittamiseen Liian yksinkertainen malli ei pysty kuvaamaan dataa Oikea monimutkaisuus voidaan löytää esim ristiinvalidoinnilla y x 28
Regressio: epävarmuuden mallintaminen... Oikealla oleva datajoukko mallinnetaan mallilla y = f(x) + n Liian monimutkainen malli johtaa ylisovittamiseen Liian yksinkertainen malli ei pysty kuvaamaan dataa Oikea monimutkaisuus voidaan löytää esim ristiinvalidoinnilla Löydetty malli antaa prediktiivisen todennäköisyyden p(y x) y x 29
Regressio: epävarmuuden mallintaminen... Oikealla oleva datajoukko mallinnetaan mallilla y = f(x) + n Liian monimutkainen malli johtaa ylisovittamiseen Liian yksinkertainen malli ei pysty kuvaamaan dataa y Oikea monimutkaisuus voidaan löytää esim ristiinvalidoinnilla Löydetty malli antaa prediktiivisen todennäköisyyden p(y x) Mutta intuitiivisesti voisi olettaa että olemme epävarmempia siellä missä datapisteitä on vähän! (Kurssilla tähän asti käsitellyt menetelmät eivät ota tätä huomioon.) x 30
Ilmaston lämpeneminen... Jos ennustetaan ilmastoa kymmenen vuoden päähän epävarmuutta on huomattavasti vähemmän kuin sadan vuoden päähän... 31
Epävarmuutta ryvästämisessä Oikealla olevassa datassa on aika selkeästi kaksi erillistä pistejoukkoa x 2 x 1 32
Epävarmuutta ryvästämisessä Oikealla olevassa datassa on aika selkeästi kaksi erillistä pistejoukkoa x 2 x 1 Mites tässä? Jos esim tiedetään että data koostuu jostain eliöistä ja saattaa olla useita lajeja voi olla hyvä kysymys onko niitä kaksi vai kolme... x 2 Emme halua vain yhtä vastausta. Halutaan myös ilmaista epävarmuus! x 1 33
Epävarmuuden mallintaminen... Intuitiivisesti selvää kun data voidaan helposti visualisoida... y x 2 x x 1 34
Epävarmuuden mallintaminen... Intuitiivisesti selvää kun data voidaan helposti visualisoida... y x 2 x x 1...mutta entäs realistisissa data-analyysi-ongelmissa? x i P (y = y 1 x i ) 35
Luokittelu Jos tiedettäisiin jakaumat niin mitään ongelmaa ei olisi (katso LDA-I, viikko 2): P (Y = y 1 ) P (X = x Y = y 1 ) P (Y = y 2 ) P (X = x Y = y 2 ) on ensimmäisen luokan a priori todennäköisyys on ensimmäisen luokan jakauma on toisen luokan a priori todennäköisyys on toisen luokan jakauma Näistä voidaan laskea P (Y = y 1 X = x) Bayesin kaavalla. 36
...mutta yleensä pitää oppia datapisteistä. Kaksi ratkaisua tulee heti mieleen: - Estimoidaan ensin jakaumat, sitten lasketaan kuten ne olisivat oikeat jakaumat (esim Gaussiset jakaumat) 37
...mutta yleensä pitää oppia datapisteistä. Kaksi ratkaisua tulee heti mieleen: - Estimoidaan ensin jakaumat, sitten lasketaan kuten ne olisivat oikeat jakaumat (esim Gaussiset jakaumat) - Käytetään heuristisia menetelmiä, mitä luokkia löytyy ennustettavan pisteen läheltä? (esim knn) 38
k-lähimmän naapurin luokittelija knn-luokittelijaa voi helposti muuttaa antamaan ulos luokkatodennäköisyyksiä: P (y = y i x j ) = k i k jossa on niiden esimerkkivektorien lukumäärä jotka kuuluvat x j :n k :n lähimmän naapurin joukkoon ja jotka edustavat luokkaa Esim: k = 4 y i oikeassa oleva tapaus: P (y = punainen x j ) = 3/4 P (y = vihreä x j ) = 1/4 (tässä siis euklidinen etäisyys käytetty, muut tietysti mahdollisia) x j 39
knn:n käyttäminen jakauman estimointiin on aika ad-hoc? 40
knn:n käyttäminen jakauman estimointiin on aika ad-hoc? - Tietyin oletuksin asymptoottisesti optimaalinen 41
knn:n käyttäminen jakauman estimointiin on aika ad-hoc? - Tietyin oletuksin asymptoottisesti optimaalinen - Yhtä ad-hoc kuin knn:n käyttäminen parhaimman luokan estimointiin 42
knn:n käyttäminen jakauman estimointiin on aika ad-hoc? - Tietyin oletuksin asymptoottisesti optimaalinen - Yhtä ad-hoc kuin knn:n käyttäminen parhaimman luokan estimointiin Pitäisikö todennäköisyydet jotenkin kalibroida tai pehmentää? (Esim pienellä k:n arvolla, vaikka jostain luokasta ei lainkaan edustajia, tuskin luokan todennäköisyys nyt ihan nolla on kuitenkaan?) 43
knn:n käyttäminen jakauman estimointiin on aika ad-hoc? - Tietyin oletuksin asymptoottisesti optimaalinen - Yhtä ad-hoc kuin knn:n käyttäminen parhaimman luokan estimointiin Pitäisikö todennäköisyydet jotenkin kalibroida tai pehmentää? (Esim pienellä k:n arvolla, vaikka jostain luokasta ei lainkaan edustajia, tuskin luokan todennäköisyys nyt ihan nolla on kuitenkaan?) Ei aina seuraa intuitiota täysin, esim kaukana opetusdatasta voi olla turhan varma: 44
Naive Bayes -luokittelija Generatiivinen lähestymistapa, eli estimoidaan malli luokkajakaumille 45
Naive Bayes -luokittelija Generatiivinen lähestymistapa, eli estimoidaan malli luokkajakaumille Naive oletus: jokaisessa luokkajakaumassa datan dimensiot toisistaan riippumattomat 46
Naive Bayes -luokittelija Generatiivinen lähestymistapa, eli estimoidaan malli luokkajakaumille Naive oletus: jokaisessa luokkajakaumassa datan dimensiot toisistaan riippumattomat Kun jakaumat estimoitu, suoraviivaista laskea uuden pisteen todennäköisyyttä kuulua kuhunkin luokkaan (katso LDA-I viikko 2) 47
Naive Bayes -luokittelija Generatiivinen lähestymistapa, eli estimoidaan malli luokkajakaumille Naive oletus: jokaisessa luokkajakaumassa datan dimensiot toisistaan riippumattomat Kun jakaumat estimoitu, suoraviivaista laskea uuden pisteen todennäköisyyttä kuulua kuhunkin luokkaan (katso LDA-I viikko 2) Tulosta todennäköisyydet, älä ainoastaan todennäköisintä luokkaa... 48
Entäs regressio? Tavallinen lineaarinen regressio, jossa estimoidaan vain yksi funktio ŷ = f(x), ei anna minkäänlaista tietoa epävarmuudesta knn-menetelmää voisi periaatteessa käyttää, mutta vaatii lisää ad-hoc virityksiä (esim naapureista lasketaan keskiarvo ja myös varianssi), eikä käytännössä toimi kovinkaan hyvin y x 49
Entäs ryvästäminen? Kaksi vai kolme lajia? Kuinka todennäköiset nämä vaihtoehdot ovat? x 2...Tähän ongelmaan emme ole toistaiseksi esittäneet minkäänlaista ratkaisua vielä! x 1 50
Uudelleenotanta ja bootstrap Abstrakti ongelma: - On olemassa joku jakauma tai P (x) P (x, y) 51
Uudelleenotanta ja bootstrap Abstrakti ongelma: - On olemassa joku jakauma tai - Nähdään siitä vain N pistettä tai P (x) P (x, y) x i (x i, y i ) 52
Uudelleenotanta ja bootstrap Abstrakti ongelma: - On olemassa joku jakauma P (x) tai P (x, y) - Nähdään siitä vain N pistettä x i tai (x i, y i ) - Tehdään joku analyysi näiden pisteiden perusteella, saadaan joku tulos 53
Uudelleenotanta ja bootstrap Abstrakti ongelma: - On olemassa joku jakauma tai - Nähdään siitä vain N pistettä tai P (x) P (x, y) x i (x i, y i ) - Tehdään joku analyysi näiden pisteiden perusteella, saadaan joku tulos - Kysymys: Onko tulos luotettava? Johtuiko se alla olevasta jakaumasta vai ainoastaan meidän näkemästämme pistejoukosta? 54
Uudelleenotanta ja bootstrap Abstrakti ongelma: - On olemassa joku jakauma tai - Nähdään siitä vain N pistettä tai P (x) P (x, y) x i (x i, y i ) - Tehdään joku analyysi näiden pisteiden perusteella, saadaan joku tulos - Kysymys: Onko tulos luotettava? Johtuiko se alla olevasta jakaumasta vai ainoastaan meidän näkemästämme pistejoukosta? - Jos meillä olisi toiset N pistettä samasta jakaumasta, tulisiko sama tulos? Kuinka varmasti? 55
Uudelleenotannan idea (intuitiivisesti) Olkoon meillä i.i.d. otos {x i, y i } jostain jakaumasta p(x, y). Yritetään esim arvioida onko muuttujilla korrelaatio (eli siis onko jakaumassa korrelaatio). y?? x 56
Uudelleenotannan idea (intuitiivisesti) Olkoon meillä i.i.d. otos {x i, y i } jostain jakaumasta p(x, y). Yritetään esim arvioida onko muuttujilla korrelaatio (eli siis onko jakaumassa korrelaatio). Intuitiivinen idea: otetaan otoksia x otoksesta ( uudelleenotanta ) ja katsotaan kuinka paljon tulos vaihtelee. Alla data jaettu kolmeen osaan: y?? y x x x 57
Intuitiivisesti, jos data jaetaan M osaan, tehdään analyysi jokaiselle osalle erikseen, ja jos tulos on (melkein) aina sama kuin tulos koko datalle, voidaan olla aika varmoja siitä että tulos on luotettava (ainakin jos M iso)! 58
Intuitiivisesti, jos data jaetaan M osaan, tehdään analyysi jokaiselle osalle erikseen, ja jos tulos on (melkein) aina sama kuin tulos koko datalle, voidaan olla aika varmoja siitä että tulos on luotettava (ainakin jos M iso)! Riittävä, muttei kuitenkaan välttämätön ehto! 59
Bootstrap uudelleenotanta Olkoon annettuna datajoukko X = {x 1,..., x N }. Voimme tuottaa uuden datajoukon X B poimimalla (takaisinpanolla) N pistettä joukosta X, jolloin jotkut pisteet tulevat monta kertaa valituksi, toiset jäävät pois. Tämä prosessi toistetaan L kertaa jolloin meillä on L datajoukkoa jonka jokaisen koko on N. Estimaattien tilastollista luotettavuutta voidaan nyt arvioida tarkastamalla estimaattien jakaumaa bootstrapdatajoukkojen yli [Tässä ei käsitellä bootstrapin teoriaa tarkemmin, tarkoitus on pikemmin antaa intuitiivinen ymmärrys.] 60
Bootstrap regressio-ongelmaan Otetaan alkuperäinen data y x 61
Bootstrap regressio-ongelmaan Otetaan alkuperäinen data Arvotaan uusi bootstrapdata (poimitaan palauttaen) y 2 2 3 2 2 x 62
Bootstrap regressio-ongelmaan Otetaan alkuperäinen data Arvotaan uusi bootstrapdata (poimitaan palauttaen) Sovitetaan siihen käyrä y 2 2 2 2 3 x 63
Bootstrap regressio-ongelmaan Otetaan alkuperäinen data Arvotaan uusi bootstrapdata (poimitaan palauttaen) Sovitetaan siihen käyrä Tehdään uudestaan... y 2 3 2 2 3 x 64
Bootstrap regressio-ongelmaan Otetaan alkuperäinen data Arvotaan uusi bootstrapdata (poimitaan palauttaen) Sovitetaan siihen käyrä Tehdään uudestaan......ja uudestaan yhteensä L kertaa. Saadaan joukko käyriä. y x 65
Bootstrap regressio-ongelmaan Otetaan alkuperäinen data Arvotaan uusi bootstrapdata (poimitaan palauttaen) Sovitetaan siihen käyrä Tehdään uudestaan......ja uudestaan yhteensä L kertaa. Saadaan joukko käyriä. y Kukin yksittäinen käyrä edustaa yhtä mahdollista mallia. Huomatkaa että ne poikkeavat toisistaan eniten siellä missä dataa on vähän (data ei siellä sido mallia), olemme siellä siis epävarmempia mallista ja näin ollen myös y:n arvosta, annettuna x. x 66
Bootstrap luokittelu-ongelmaan Otetaan alkuperäinen data x 2 x 1 67
Bootstrap luokittelu-ongelmaan Otetaan alkuperäinen data Arvotaan uusi bootstrapdata (poimitaan palauttaen) x 2 2 2 2 3 3 2 x 1 68
Bootstrap luokittelu-ongelmaan Otetaan alkuperäinen data Arvotaan uusi bootstrapdata (poimitaan palauttaen) Sovitetaan siihen luokitin (malli) x 2 90% 50% 90% 2 2 2 3 3 2 x 1 69
Bootstrap luokittelu-ongelmaan Otetaan alkuperäinen data Arvotaan uusi bootstrapdata (poimitaan palauttaen) x 2 Sovitetaan siihen luokitin (malli) Tehdään L kertaa, saadaan joukko malleja x 1 70
Bootstrap luokittelu-ongelmaan Otetaan alkuperäinen data Arvotaan uusi bootstrapdata (poimitaan palauttaen) x 2 90% 50% Sovitetaan siihen luokitin (malli) Tehdään L kertaa, saadaan joukko malleja Kukin yksittäinen käyrä edustaa yhtä mahdollista mallia. Huomatkaa että ne poikkeavat toisistaan eniten siellä missä dataa on vähän (data ei siellä sido mallia), olemme siellä siis epävarmempia mallista ja näin ollen myös luokasta, annettuna uusi havainto (x 1, x 2 ). 90% x 1 71
Bootstrap ryvästämiseen... Kaksi vai kolme lajia? Kuinka todennäköiset nämä vaihtoehdot ovat? x 2 x 1 72
Bootstrap ryvästämiseen... Kaksi vai kolme lajia? Kuinka todennäköiset nämä vaihtoehdot ovat? Arvotaan uusi bootstrapdata (poimitaan palauttaen) 2 3 x 2 2 2 x 1 73
Bootstrap ryvästämiseen... Kaksi vai kolme lajia? Kuinka todennäköiset nämä vaihtoehdot ovat? Arvotaan uusi bootstrapdata (poimitaan palauttaen) Tehdään ryvästäminen 2 3 x 2 2 x 1 2 74
Bootstrap ryvästämiseen... Kaksi vai kolme lajia? Kuinka todennäköiset nämä vaihtoehdot ovat? Arvotaan uusi bootstrapdata (poimitaan palauttaen) Tehdään ryvästäminen Toistetaan L kertaa, joskus tulee 3 ryvästä, joskus 2. Näiden suhteellista osuutta voidaan käyttää arvioidessa parhaan arvion luotettavuutta x 2 x 1 75
Bayesiläinen mallintaminen Subjektiivinen todennäköisyys yli kaikkien mahdollisten mallien (aina tietysti rajoitettu johonkin malliperheeseen): P (M) 76
Bayesiläinen mallintaminen Subjektiivinen todennäköisyys yli kaikkien mahdollisten mallien (aina tietysti rajoitettu johonkin malliperheeseen): P (M) Jokaiselle mallille pystytään laskemaan havaitun datan todennäköisyys annettuna malli: P (D M) 77
Bayesiläinen mallintaminen Subjektiivinen todennäköisyys yli kaikkien mahdollisten mallien (aina tietysti rajoitettu johonkin malliperheeseen): P (M) Jokaiselle mallille pystytään laskemaan havaitun datan todennäköisyys annettuna malli: P (D M) Lasketaan posterioritodennäköisyysjakauma mallien yli: P (M D) 78
Bayesiläinen mallintaminen Subjektiivinen todennäköisyys yli kaikkien mahdollisten mallien (aina tietysti rajoitettu johonkin malliperheeseen): P (M) Jokaiselle mallille pystytään laskemaan havaitun datan todennäköisyys annettuna malli: P (D M) Lasketaan posterioritodennäköisyysjakauma mallien yli: P (M D) Prediktiivinen todennäköisyys voidaan laskea: P (D D) = M P (D M)P (M D) 79
Bayesiläinen mallintaminen Subjektiivinen todennäköisyys yli kaikkien mahdollisten mallien (aina tietysti rajoitettu johonkin malliperheeseen): P (M) Jokaiselle mallille pystytään laskemaan havaitun datan todennäköisyys annettuna malli: P (D M) Lasketaan posterioritodennäköisyysjakauma mallien yli: P (M D) Prediktiivinen todennäköisyys voidaan laskea: P (D D) = M P (D M)P (M D) Huom: Käytännön laskut saattavat olla hyvinkin hankalia, mutta ainakin tavoite on hyvin määritelty 80
Bayesiläinen inferenssi... Esim: Laatikossa on 5 palloa, joista jokainen on joko keltainen tai valkoinen. Palloja poimitaan (ja katsotaan) satunnaisesti, takaisinpanolla. Tehtävänä on arvioida, montako keltaista palloa laatikossa on. 81
Bayesiläinen inferenssi... Esim: Laatikossa on 5 palloa, joista jokainen on joko keltainen tai valkoinen. Palloja poimitaan (ja katsotaan) satunnaisesti, takaisinpanolla. Tehtävänä on arvioida, montako keltaista palloa laatikossa on. Ennen kun yhtään palloa on nostettu, sinulla on subjektiivinen todennäköisyys yli mahdollisten vastausten (0-5). Esim: 0 1 2 3 4 5 P(#) 82
Bayesiläinen inferenssi... Esim: Laatikossa on 5 palloa, joista jokainen on joko keltainen tai valkoinen. Palloja poimitaan (ja katsotaan) satunnaisesti, takaisinpanolla. Tehtävänä on arvioida, montako keltaista palloa laatikossa on. Ennen kun yhtään palloa on nostettu, sinulla on subjektiivinen todennäköisyys yli mahdollisten vastausten (0-5). Jos esim ensimmäinen pallo on keltainen, niin tiedetään että niitä on ainakin 1. Subjektiivinen jakauma päivittyy... Esim: 0 1 2 3 4 5 0 1 2 3 4 5 P(#) P(#) 83
Bayesiläinen inferenssi... Esim: Laatikossa on 5 palloa, joista jokainen on joko keltainen tai valkoinen. Palloja poimitaan (ja katsotaan) satunnaisesti, takaisinpanolla. Tehtävänä on arvioida, montako keltaista palloa laatikossa on. Ennen kun yhtään palloa on nostettu, sinulla on subjektiivinen todennäköisyys yli mahdollisten vastausten (0-5). Jos esim ensimmäinen pallo on keltainen, niin tiedetään että niitä on ainakin 1. Subjektiivinen jakauma päivittyy... Jos esim toinen on valkoinen... Esim: 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 P(#) P(#) P(#) 84
Bayesiläinen inferenssi... Esim: Laatikossa on 5 palloa, joista jokainen on joko keltainen tai valkoinen. Palloja poimitaan (ja katsotaan) satunnaisesti, takaisinpanolla. Tehtävänä on arvioida, montako keltaista palloa laatikossa on. Ennen kun yhtään palloa on nostettu, sinulla on subjektiivinen todennäköisyys yli mahdollisten vastausten (0-5). Jos esim ensimmäinen pallo on keltainen, niin tiedetään että niitä on ainakin 1. Subjektiivinen jakauma päivittyy... Jos esim toinen on valkoinen......jne Esim: 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 P(#) P(#) P(#) 85
Bayesin kaava Voidaan osoittaa (Cox, 1946) että rationaalinen inferenssi seuraa tavallisia todennäköisyyslaskun kaavoja, erityisesti Bayesin kaavaa: P (M D) = P (D M)P (M) P (D) eli mallin M todennäköisyys, annettuna data D, on datan todennäköisyys annettuna malli P (D M) kerrottuna mallin prioritodennäköisyydellä P (M), uudelleennormalisoituna. 86
Bayesin kaava Voidaan osoittaa (Cox, 1946) että rationaalinen inferenssi seuraa tavallisia todennäköisyyslaskun kaavoja, erityisesti Bayesin kaavaa: P (M D) = P (D M)P (M) P (D) eli mallin M todennäköisyys, annettuna data D, on datan todennäköisyys annettuna malli P (D M) kerrottuna mallin prioritodennäköisyydellä P (M), uudelleennormalisoituna. Huom: Malliperheen ulkopuolella oleva vaihtoehto ei vaikuta malliperheen sisällä olevien mallien suhteisiin 87
Bayesin kaava Voidaan osoittaa (Cox, 1946) että rationaalinen inferenssi seuraa tavallisia todennäköisyyslaskun kaavoja, erityisesti Bayesin kaavaa: P (M D) = P (D M)P (M) P (D) eli mallin M todennäköisyys, annettuna data D, on datan todennäköisyys annettuna malli P (D M) kerrottuna mallin prioritodennäköisyydellä P (M), uudelleennormalisoituna. Huom: Malliperheen ulkopuolella oleva vaihtoehto ei vaikuta malliperheen sisällä olevien mallien suhteisiin Huom: Vaatii aina vähintään kahden mallin vertaamista. 88
Bayesiläinen regressio... Yksinkertainen esimerkki Malliperhe: (w 0, w 1 ) N(0, α 1 I) y i N(w 0 + w 1 x i, β 1 ) β jossa siis α ja ovat meidän tiedossamme olevia vakioita. Toisin sanoen, ensin malli valitaan arpomalla w 0 ja w 1 normaali-jakaumasta; sitten data generoidaan lineaarisella funktiolla w 0 + w 1 x jonka päälle lisätään normaalijakautunutta kohinaa. Seuraavalla kalvolla havainnollistus mallin toiminnasta 89
Bayesiläinen regressio... Data generoitu arpomalla tasajakaumasta [-1,1], jonka jälkeen y i = a 0 + a 1 x i + n i jossa a 0 = 0.3, a 1 = 0.5 ja n i N(0, 0.04) x i Ylimmällä rivillä on kuvattu tilanne ennen datapisteiden saapumista. Toisella rivillä tilanne yhden datapisteen jälkeen. Kolmannella toinen datapiste on saatu, ja viimeisellä rivillä on 20 havaintoa. 90
Bayesiläinen regressio... (esim) 1 1 0 0 1 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 Satunnaisotos posteriorijakaumasta 91
Bayesiläinen regressio... (esim) 1 1 0 0 1 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 Prediktiivinen jakauma 92
Mallin asteen valinta Otetaan yksinkertaisuuden vuoksi taas helppo esimerkki: Malli : M 1 w 0 N(0, α 1 ) y i N(w 0, β 1 ) Malli : M 2 (w 0, w 1 ) N(0, α 1 I) y i N(w 0 + w 1 x i, β 1 ) Havaitaan seuraava data: Kumpi malli sopii siihen paremmin? 0.6 M 1 vai M 2?? 93
Mallin asteen valinta Otetaan yksinkertaisuuden vuoksi taas helppo esimerkki: Malli : M 1 w 0 N(0, α 1 ) y i N(w 0, β 1 ) Malli : M 2 (w 0, w 1 ) N(0, α 1 I) y i N(w 0 + w 1 x i, β 1 ) Havaitaan seuraava data: Kumpi malli sopii siihen paremmin? 0.6 Aina pienempi opetusvirhe! M 1 vai M 2?? 94
Mallin asteen valinta Otetaan yksinkertaisuuden vuoksi taas helppo esimerkki: Malli : M 1 w 0 N(0, α 1 ) y i N(w 0, β 1 ) Malli : M 2 (w 0, w 1 ) N(0, α 1 I) y i N(w 0 + w 1 x i, β 1 ) Havaitaan seuraava data: Kumpi malli sopii siihen paremmin? 0.6 Aina pienempi opetusvirhe! M 1 vai M 2?? (Huom: Ristiinvalidointi eräs tapa. Se voi kuitenkin olla laskennallisesti raskas ja epäluotettavakin. Tässä esitetään bayesiläinen menetelmä...) 95
Mallin asteen valinta Periaatteessa helppo formuloida ratkaisu. Mallinnetaan datan generointiprosessia seuraavasti: 1. Arvotaan malli jollain priorijakaumalla 2. Arvotaan mallin parametrit w (siis tässä tai riippuen valitusta mallista) niiden priorijakaumista, annettuna valittu malli 3. Generoidaan data mallin ja parametrien mukaan Kun tietty datajoukko on havaittu, voidaan laskea posteriorijakauma P (M i data), joka saadaan kun tunnetaan ja P (M i ), Bayesin kaavaa käyttäen. P (data M i ) Tässä on olennaista että parametrit lausekkeista pois! w P (M i ) w 0 (w 0, w 1 ) integroidaan 96
Mallin asteen valinta P (M i ) otetaan annettuna, esim jos ei ole syytä olettaa muuta niin oletetaan 50-50 priori, eli kumpikin malli a priori yhtä todennäköinen Datan todennäköisyys annettuna malli saadaan seuraavasti: p(data M i ) = Jotta voidaan selittää data mallilla täytyy olla ( voi olla mitä vaan ) w 1 Jotta voidaan selittää data mallilla M 2 täytyy olla sekä w 0 0.6 että w 1 0 p(data w, M i )p(w M i ) dw M 1 w 0 0.6 97
Mallin asteen valinta P (M i ) otetaan annettuna, esim jos ei ole syytä olettaa muuta niin oletetaan 50-50 priori, eli kumpikin malli a priori yhtä todennäköinen Datan todennäköisyys annettuna malli saadaan seuraavasti: p(data M i ) = Jotta voidaan selittää data mallilla täytyy olla ( voi olla mitä vaan ) Jotta voidaan selittää data mallilla M 2 täytyy olla sekä w 0 0.6 että w 1 0 p(data w, M i )p(w M i ) dw p(data M 1 ) M 1 w 0 0.6 w 1 p(data M 2 ) 98
Mallin asteen valinta P (M i ) otetaan annettuna, esim jos ei ole syytä olettaa muuta niin oletetaan 50-50 priori, eli kumpikin malli a priori yhtä todennäköinen Datan todennäköisyys annettuna malli saadaan seuraavasti: p(data M i ) = Jotta voidaan selittää data mallilla täytyy olla ( voi olla mitä vaan ) Jotta voidaan selittää data mallilla M 2 täytyy olla sekä w 0 0.6 että w 1 0 p(data w, M i )p(w M i ) dw p(data M 2 ) p(data M 1 ) M 1 w 0 0.6 w 1 saadaan siis: p(m 1 data) p(m 2 data) 99
Mallin asteen valinta Occamin partaveitsi : kilpailevista, yhtä selitysvoimaisista teorioista tulisi valita kaikista yksinkertaisin. Bayesiläistä mallin valintaa voidaan pitää automaattisena Occamin partaveitsenä p(d) M 1 M 2 M 3 D 0 D 100
PCA / probalistinen PCA PCA etsii aliavaruuden joka parhaiten approksimoi datapisteitä, mutta ei mallinna datan todennäköisyysjakaumaa x 2 x n x n u 1 x 1 101
PCA / probalistinen PCA PCA etsii aliavaruuden joka parhaiten approksimoi datapisteitä, mutta ei mallinna datan todennäköisyysjakaumaa x 2 x n x n u 1 p(x) Probabilistinen PCA on jakaumamalli: x 1 p(z) = N (z 0, I) p(x z) = N (x Wz + µ, σ 2 I) josta saadaan p(x) = N (x µ, C) C = WW T + σ 2 I 102
PCA / probalistinen PCA PCA etsii aliavaruuden joka parhaiten approksimoi datapisteitä, mutta ei mallinna datan todennäköisyysjakaumaa x 2 x n x n u 1 p(x) Probabilistinen PCA on jakaumamalli: p(z) = N (z 0, I) p(x z) = N (x Wz + µ, σ 2 I) josta saadaan p(x) = N (x µ, C) C = WW T + σ 2 I (se on siis rajoitettu normaalijakauma joka sisältää vähemmän parametreja kuin täysin vapaa normaalijakauma) x 1 103
Probabilistinen PCA: x 2 p(x ẑ) w x 2 µ } ẑ w µ p(z) p(x) latenttimuuttujan jakauma p(z) ẑ z x 1 ehdollinen jakauma p(x z) marginaalijakauma p(x) x 1 104
PCA vs probabilistinen PCA Probabilistisen viitekehyksen edut: Puuttuvien arvojen oikea käsittely Mikstuurimallien muodostaminen Bayesiläinen versio: dimension automaattinen löytäminen Voidaan verrata löydettyä mallia toisenlaisiin malleihin Luokittelussa PPCA soveltuu luokkien ehdolliseksi jakaumaksi Voidaan käyttää datan tuottamiseen 105
PPCA: estimointi Parametrit voidaan löytää suurimman uskottavuuden menetelmällä: - µ ML = x eli keskiarvon estimaatti on otoksen keskiarvo - W ML saadaan suoraan tavallisen PCAn ratkaisusta (tosin rotaatio-invarianssi!) - σ 2 ML on pois jätettyjen suuntien varianssien keskiarvo Helppoa siis PCAsta siirtyä probabilistiseen malliin jos halutaan. EM-algoritmi voi olla kilpailukykyinen korkeadimensioisissa ongelmissa (ja erityisesti antaa mahdollisuuden huomioida puuttuvia arvoja)... 106
PPCA, puuttuvat arvot, esim: alkuperäinen data, kaksi ensimmäistä komponenttia 30% alkuperäisen datan muuttujien arvoista poistettu ennen PPCAn laskemista EM-algoritmilla 107
Kirjallisuutta David J.C. MacKay Information Theory, Inference, and Learning Algorithms http://www.inference.phy.cam.ac.uk/mackay/itila/ (ilmaiseksi ladattavissa netissä!) Christopher M. Bishop Pattern Recognition and Machine Learning http://research.microsoft.com/~cmbishop/prml/ 108
Yhteenveto Epävarmuuden mallintaminen usein olennaista laskennallisessa data-analyysissä Sekä ad-hoc että teoreettisesti perustellumpia ratkaisuja - knn, generatiiviset mallit - Uudelleenotanta, bootstrap - Bayesiläinen mallintaminen 109