Ristiinvalidointi ja bootstrap-menetelmä 20.10.2010
Ristiinvalidointi Estimoi suoraan odotusarvoista ennustevirhettä Valitaan mallirakenne jolle estimoitu ennustevirhe pienin Ristiinvalidointi yksinkertaista, laajasti käytössä Ei estimoi hyvin yleistysvirhettä Lisää tästä kappaleessa 7.12, ei kuulu esitykseen
K-kertainen ristiinvalidointi 1 2 3 4 K . . . opetus opetus opetus validointi opetus opetusainesto Jaetaan N havainnon opetusaineisto K yhtä suureen osaan Sovitetaan malli käyttäen osia 1, ..., k-1, k+1, ..., K Estimoidaan odotusarvoinen ennustevirhe käyttäen osaa k Toistetaan kaikilla
Odotusarvoisen ennustevirheen estimoiminen ristiinvalidoinnilla Indeksointifunktio Kertoo mihin osaan havainto i kuuluu malli joka sovitettu opetusaineistolla, josta osa k poistettu mallin parametrivektori Odotusarvoisen ennustevirheen ristiinvalidointiestimaatti
Ristiinvalidoinnin kertaluvun valitseminen ”Leave One Out” (LOO) – ristiinvalidointi: K=N Estimoi harhattomasti odotusarvoista ennustevirhettä Opetusjoukot samankaltaisia ð varianssi korkea Tyypillisesti K=5 tai K=10 Odotusarvoisen ennustevirheen estimaatti voi olla harhainen Opetusjoukot erilaisia ð varianssi pienempi Mitä korkeampi K, sitä enemmän aikaa käytetään laskentaan
Ristiinvalidointi ja mallin oppiminen 1/2 Kuvassa opetetun mallin odotusarvoinen ennustevirhe Opetusaineiston koko N = 200 Jos ristiinvalidoinnissa K=5, opetukseen käytetään 160 havaintoa Lähes yhtä hyvä estimaatti kuin käytettäessä N kpl havaintoja
Ristiinvalidointi ja mallin oppiminen 2/2 Nyt koko opetusaineiston koko N = 50 Jos ristiinvalidoinnissa K=5, opetukseen käytetään 40 havaintoa Odotusarvoisen ennustevirheen estimaatti ylöspäin harhainen
Ristiinvalidointivirhe lineaarisessa regressiossa Kirjan kappaleen 7.3.1 esimerkki Luokittelu tehty lineaarisella regressiolla jossa p parasta selittäjää Ristiinvalidoinnissa K= 10 Valitaan p = 9 , koska p = 10 ei eroa tilastollisesti merkitsevästi ristiinvalidointivirhe ja sen luottamusväli ennustevirhe
LOO-ristiinvalidoinnin approksimointi Approksimoidaan LOO-ristiinvalidointia, kun Lineaarinen malli: Neliöllinen virhefunktio: Monille lineaarisille sovitusmenetelmille on :n i:s diagonaalielementti
Yleistetyn ristiinvalidointi Yleistetty ristiinvalidointiestimaatti on trace(S) on efektiivinen parametrien lukumäär Etuna laskennallinen helppous trace(S) on joskus helpompi laskea kuin alkiot Ristiinvalidointi ei aina anna riittävän sileitä malleja Yleistetty ristiinvalidointi auttaa Yhtymäkohtia Akaiken informaatiokriteerin kanssa
Ristiinvalidoinnin soveltaminen Ristiinvalidointia helppo soveltaa väärin Tarkastellaan luokittelutilannetta, jossa Kaksi luokkaa, p selittäjää, N havaintoa luokista Mahdollinen lähestymistapa: Valitaan selittäjät, jotka korreloivat eniten selitettävien luokkamuuttujien kanssa Muodostetaan luokittelija 1. vaiheessa valittujien muuttujien perusteella Käytetään ristiinvalidointia luokittelijan parametrien valitsemiseen ja odotusarvoisen ennustevirheen estimoimiseen VÄÄRIN VÄÄRIN
Ristiinvalidoinnin väärinkäyttö Nyt luokittelussa kaksi luokkaa, N = 50, p=5000 normaalijakautunutta selittäjää Selittäjät riippumattomia luokkamuuttujista ð Valitaan 1. vaiheessa 100 eniten luokkamuuttujien kanssa korreloitunutta selittäjää Muodostetaan lähimmän naapurin luokittelija Estimoidaan odotusarvoinen ennustevirhe ristiinvalidoinnilla, K=5 Toistettiin 50 kertaa, keskimäärin CV = 0.03 ?
Ristiinvalidoinnissa tehty virhe Vaiheessa 1 valittu 100 luokkamuuttujien kanssa eniten korreloivaa selittäjää Havaintojen jättäminen pois selittäjien valinnan jälkeen ei vastaa riippumattoman validointiaineiston käyttämistä!
Ristiinvalidoinnin oikea käyttö Jaetaan aineisto K yhtä suureen osaan sattumanvaraisesti Jokaiselle osalle k = 1, 2, ... , K Valitaan selittäjät, jotka korreloivat eniten luokkamuuttujien kanssa käyttäen aineistoa josta poistettu osa k Käyttäen näitä selittäjiä, muodosta luokittelija käyttäen opetusaineistoa josta poistettu osa k Käytä luokittelijaa ennustamaan opetusaineiston osan k luokkamuuttujien arvot Odotusarvoisen ennustevirheen estimaatti vaiheen 2 c) tulosten perusteella
Ristiinvalidoinnin soveltaminen päätöspuuhun N = 20 havaintoa 2 luokasta, p = 500 selittäjää Luokkamuuttujat riippumattomia selittäjistä ð Luokitellaan yhden selittäjän päätöspuulla Jaetaan aineisto kahteen luokkaan yhden selittäjän arvon perusteella Parametrina haaran sijainti luokka A luokka B selittäjän arvo haara havainto luokasta A
Tutkittava väite ristiinvalidoinnista ”Koko aineistoon sovitettaessa löydetään varmasti hyvin toimiva luokittelija. Jos käytetään 5-kertaista ristiinvalidointia, tämä sama luokittelija toimii hyvin myös mille tahansa 4/5 ja 1/5 aineistosta. Tämän takia ristiinvalidoinnin avulla estimoitu odotusarvoinen ennustevirhe on liian pieni.” VÄÄRIN VÄÄRIN
Väitteen tutkiminen simulaatiolla Err = 0.5 ! Käytetty 5-kertaista ristiinvalidointia, N = 20 Vasemmalla opetusvirhe eri selittäjille, opetusaineistona 16 havaintoa Oikealla y-akselilla luokitteluvirhe, validointiaineistona 4 havaintoa
Väitteessä tehty päättelyvirhe Malli muodostettava kokonaan uudelleen jokaiselle ositukselle Vasen kuva: 20 havainnolla luokittelija olisi täydellinen, 16 havainnolla tehdään kaksi virhettä Oikea kuva: Väärin luokiteltujen pisteiden osuus, luokittelija muodostettu 50 kertaa
Bootstrap-menetelmät Tavoitteena estimoida yleistysvirhe Käytännössä estimoi hyvin vain odotusarvoisen ennustevirheen Opetusjoukko jossa Poimitaan takaisinpanolla N näytteen opetusjoukkoja alkuperäisestä datasta B kertaa: Sovitetaan malli jokaiseen bootstrap-opetusjoukkoon Lasketaan jokaisen mallin avulla estimaatti
Bootstrap: periaatepiirros Bootstrap – replikaatiot Bootstrap – opetusjoukot Alkuperäinen opetusjoukko
Bootsrap: toinen periaatepiirros Useimmissa versioissa Paroni von Münchausen vetää itsensä suosta palmikostaan, ei saappaannyöreistään
Bootstrap-estimaatti Sovitettujen mallien perusteella voidaan laskea esim. bootsrap-estimaatin varianssi Voidaan pitää varianssin Monte-Carlo estimaattina kun näytteistetään opetusaineiston empiirisestä jakaumasta
Bootstrap-estimaatti odotusarvoiselle ennustevirheelle Sovitetaan bootsrap-aineistoon, validoidaan alkuperäisellä Huono estimaatti: bootstrap-aineistossa ja validointiaineistossa paljon samoja havaintoja Tuloksena saatu estimaatti liian pieni
Bootstrap & lähimmän naapurin luokittelija Kaksi luokkaa, molemmissa luokissa yhtä monta havaintoa Selittäjät ja luokkamuuttujat riippumattomia ð Err = 0.5 Havainto i ei vaikuta ellei mukana bootstrap-aineistossa b Saadaan Liian pieni estimaatti odotusarvoiselle ennustevirheelle!
LOO Bootstrap-estimaattoria Estimaattia voidaan parantaa matkimalla LOO-ristiinvalidointia Merkitään niiden bootstrap-aineistojen indeksien joukkoa jossa havainto i ei mukana Bootstrap-näytteessä keskimäärin havaintoa Käyttäytyy kuten ristiinvalidointi jossa K=2 Samat ongelmat liittyen opetusjoukon kokoon (kalvot 6 ja 7)
”.632”-estimaattori ”.632”-estimaattori korjaa odotusarvoisen ennustevirheen - estimaattoria kohti opetusvirhettä Johtaminen monimutkaista Toimii huonosti jos luokittelija ylisovittuu opetusaineistoon eli
”.632+” – estimaattorin johtaminen Halutaan korjata ylisovittumisesta aiheutuvia ongelmia Määritellään informaatioton virhesuure Virheiden osuus jos selittävät muuttujat ja selitettävät luokkamuuttujat riippumattomia Estimaattori
”.632+”-estimaattori Määritellään suhteellinen ylisovittuminen 0 jos ei lainkaan ylisovittumista ( ) 1 jos Määritellään .632+ - estimaattori Kompromissi: lopputulos jotain opetusvirheen ja LOO bootstrap-estimaatin väliltä Johto monimutkainen, ei käsitelty kirjassa
Bootsrap- ja ristiinvalidointi- estimaattoreiden vertailu Kirjan esimerkeissä ristiinvalidoinnin ja bootstrap-menetelmien käyttö johti samankaltaisiin tuloksiin Etuna helppo toteutus Haittana laskennallinen vaativuus Akaiken informaatiokriteerillä samankaltaisia tuloksia Parempi arvio yleistysvirheestä kuin Akaiken informaatiokriteerillä tai Bayesiläisellä informaatiokriteerillä
Kiitos! Kysymyksiä?
Kotitehtävä: Kirjan tehtävä 7.10 Kaksi luokkaa, N havaintoa, p bin. selittäjää jotka riippumattomia luokkamuuttujista Luokittelijana jokin p selittäjästä Jos p riittävän suuri, löydetään selittäjä joka luokittelee koko aineiston täydellisesti Tällöin myös ristiinvalidoinnin validointiaineisto luokitellaan täydellisesti Seuraako tästä, että ristiinvalidoinnilla laskettu ennustevirhe on 0, eikä ristiinvalidointia voida käyttää? Saa simuloida jos haluaa, voi myös päätellä ja perustella Osittain valmis MATLAB-koodi es14.m