Download - 0809 p2 z10 Prezentacija
![Page 1: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/1.jpg)
Goran Repinc
Zagreb, veljača, 2009.
1
![Page 2: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/2.jpg)
Slučajna šuma (random forest)� Slučajna šuma (random forest ) je klasifikacijski
algoritam koji su razvili Leo Breiman i Adele Cutler.
� Termin slučajna šuma odlučivanja (random decision forest) je prvi predložio Tin Kam Ho iz Bell Labs 1995.
� Algoritam spaja Breimanovu ''bagging'' ideju s Hoovom ''random subspace method'' da bi stvorio skup stabla odlučivanja s kontroliranim varijacijama.
2
![Page 3: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/3.jpg)
Osnovna ideja
� Umjesto jednog klasifikatora imami ih mnogo
� Svaki klasifikator pojedinačno je općenito slab klasifikator
� Kada treba klasificirati novi primjer:
Svaki klasifikator neovisno od drugih izvodi klasifikaciju
Primjeru se dodjeljuje ona klasa koju je dalo najviše
klasifikatora
3
![Page 4: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/4.jpg)
Osnovna ideja
4
![Page 5: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/5.jpg)
Konstrukcija stablaDTree(Primjeri, Atributi)
Kreiraj osnovni čvor stabla
Ako su svi primjeri iste klase i => stablo je osnovni čvor s oznakom i
Ako su svi atributi iskorišteni => vrati osnovni čvor s oznakom najbrojnije klase
Inače
Dok atributi >0
Ai = Odredi atribut koji najbolje klasificira skup primjera
Za svaku vrijednost vj od Ai
Dodaj novu granu ispod čvora, koja korespondira s testom Ai = vj
Neka su Primjeri(Ai = vj) onaj skup primjera koji zadovoljava Ai = vj
Ako primjeri (Ai=vj)=0
Dodaj oznaku c = najčešća klasa u skupu Primjeri
Inače za novu granu dodaj novo podstablo
DTree(Primjeri(Ai=vj),Atributi-Ai)
5
![Page 6: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/6.jpg)
Konstrukcija šume
� Neka ne n broj primjera, k broj stabala i m zadani parametar
� Za svako ok K stabala
� Odaberemo na slučajan način n primjera za učenje s preklapanjem
� Konstruirmo stablo tako da na svakom čvoru odaberemo m atributa i radimo najbolju podjelu po tih m atributa
� Stablo raste do maksimalne veličine – nema rezanja
6
![Page 7: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/7.jpg)
Klasifikacija
Kada želimo klasificirati novi primjer:
� pustimo primjer niz svako stablo
� stablo zasebno donosi odluku o klasi (kažemo da stabla glasaju za klasu)
� primjer će biti klasificiran klasom koja dobije najviše glasova
7
![Page 8: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/8.jpg)
Parametar mGreška slučajne šume ovisi o dvije veličine:
� koreliranost između stabala- povećanje koreliranosti povećava grešku stabla.
� jakost svakog pojedinog stabla stabla u šumi- stablo s niskim stupnjem pogreške ima veliku jakost; povećanje jakosti svakog pojedinog stabla smanjuje grešku cijele šume.
Smanjenjem varijable m smanjuje i koreliranost i jakost. Povećanje povećava i koreliranost i jakost. Negdje na sredini se nalazi optimalan interval za m (obično dosta širok). Korištenje oob stope pogreške optimalan interval za m se može brzo naći. To je jedini podesivi parametar (osim broja stabla) na koji je slučajna šuma osjetljiva.
8
![Page 9: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/9.jpg)
Oob procjena pogreške� Kod slučajne šume, nema potrebe za validacijom ili odvojenim
testovima da bi se dobila nepristrana procjena greške. Greška se procjenjuje interno, tijekom rasta šume.
� Svako stablo se gradi koristeći drugačiji skup primjera. Oko jedne trećine primjera se ne koristi za konstrukciju stabla.
� Svaki takav podatak se pusti kroz stablo da bi se izvršila klasifikacija. Na taj način svaki primjer se testira u otprilike trećini stabala. Na kraju izvođenja, uzmimo j da bude klasa koja je dobila najviše glasova svaki put kada je primjer n bio oob. Omjer broja puta kada j nije jednak pravoj klasi i prosjek svih n-ova daje oob procjenu pogreške. Pokazalo se da je to nepristrana procjena u mnogim testovima.
9
![Page 10: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/10.jpg)
Mogućnosti1. Vrlo točan na nekim skupovima podataka2. Efikasna na velikim skupovima podataka3. Efikasna za velik broj atributa4. Daje procjenu koje varijable su važne za klasifikaciju5. Daje unutrašnju nepristranu procjenu opće greške tijekom procesa
rasta šume6. Ima učinkovitu metodu procjene nepotpunih podataka i zadržava
točnost i kada mnogo podataka nedostaje7. Jedno narasla šuma može se spremiti za buduću upotrebu8. Prototipovi se izračunavaju koji daju procjenu o odnosu varijabli i
klasifikacije9. Računa udaljenosti između parova primjera koje se mogu koristiti u
klasterima, pronalaženju outlinera i daje zanimljiv prikaz podataka. Ovo se može proširiti na neklasificirane podatke koje vodi nenadgledanom učenju
10. Pruža eksperimentalnu metodu za otkrivanje interakcije među varijablama
10
![Page 11: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/11.jpg)
Važnost atributa� U svakom izgrađenom stablu, testiramo oob primjere
i brojimo broj točnih glasova. Sada slučajno permutiramo vrijednosti atributa m u oob primjerima i ponovimo test. Oduzmimo broj točnih klasifikacija za prave i permutirane primjere. Prosjek tog broja po svim stablima u šumi je približna važnost atributa m.
� Očekujemo da broj točnih glasova neće mnogo razlikovati ako je atribut nebitan, dok će se za važan atribut znatno razlikovati
11
![Page 12: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/12.jpg)
Važnost atributa - primjer
12
![Page 13: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/13.jpg)
Udaljenosti (proximities)� Najkorisniji alat u slučajnim šumama je računanje
udaljenosti.
� Udaljenosti originalno tvore N x N matricu.
� Nakon rasta stabla, sve primjere i oob i ne-oob pustimo niz stablo. Ako primjeri m i n završe u istom listu njihova udaljenost se povećava za 1.
� Na kraju se sve udaljenosti normaliziraju brojem stabala.
� Udaljenosti se koriste za skaliranje, prototipove, dopunjavanje nepoznatih vrijednosti, pronalaženje outlinera
13
![Page 14: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/14.jpg)
Prototipovi� Prototipovi su način da saznamo kako su atributi
povezane s klasifikacijom.
� Za j-tu klasu, nađemo primjer koji ima najviše j klasifikacija među svojih k najbližih susjeda.
� Susjede određujemo koristeći udaljenosti.
� Među tih k slučajeva nađemo medijan, 25 i 75 percentil za svaki atribut.
� Medijani su prototipovi za j-tu klasu, a percentili nam daju procjenu stabilnosti.
14
![Page 15: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/15.jpg)
Outliners (stršeće vrijednosti)
� Outlineri se općenito definiraju kao primjeri koji su odvojeni od glavnog dijela podataka.
� To se može prevesti kao: outlineri su oni slučajevi čije su udaljenosti prema ostalima slučajevima male.
� Koristan dodatak je promatrati outlinere relativno prema njihovoj klasi. Dakle, outliner klase j je primjer čije su udaljenosti prema ostalim primjerima klase j male.
15
![Page 16: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/16.jpg)
Outliners - primjer
16
![Page 17: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/17.jpg)
Više informacija
Za više informacija o
� Skaliranju
� Nadopunjavanju nepotpunih podataka iz skupa za učenje i skupa za testiranje
� Lokalnoj važnosti varijabli
� Nenadgledanom učenju
� Balansiranju greške
www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm
17
![Page 18: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/18.jpg)
Testiranja – parametar m
18
![Page 19: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/19.jpg)
Testiranja – parametar m
19
![Page 20: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/20.jpg)
Testiranja – broj stabala
20
![Page 21: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/21.jpg)
Testiranja – oob greška
21
![Page 22: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/22.jpg)
Usporedba
22
![Page 23: 0809 p2 z10 Prezentacija](https://reader034.vdocuments.mx/reader034/viewer/2022042702/563db983550346aa9a9e10ac/html5/thumbnails/23.jpg)
Zaključak
� Random forest je dobar klasifikator za velike skupove podataka s velikim brojem atributa.
� Pruža velike mogućnosti u analizi podataka.
� Mane su mu vremenska i prostorna složenost s obzirom na jednostavnije klasifikatore.
23