0809 p2 z10 prezentacija

23
Goran Repinc Zagreb, veljača, 2009. 1

Upload: milica

Post on 09-Dec-2015

227 views

Category:

Documents


5 download

DESCRIPTION

slucajna suma

TRANSCRIPT

Page 1: 0809 p2 z10 Prezentacija

Goran Repinc

Zagreb, veljača, 2009.

1

Page 2: 0809 p2 z10 Prezentacija

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

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

Osnovna ideja

4

Page 5: 0809 p2 z10 Prezentacija

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

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

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

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

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

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

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

Važnost atributa - primjer

12

Page 13: 0809 p2 z10 Prezentacija

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

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

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

Outliners - primjer

16

Page 17: 0809 p2 z10 Prezentacija

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

Testiranja – parametar m

18

Page 19: 0809 p2 z10 Prezentacija

Testiranja – parametar m

19

Page 20: 0809 p2 z10 Prezentacija

Testiranja – broj stabala

20

Page 21: 0809 p2 z10 Prezentacija

Testiranja – oob greška

21

Page 22: 0809 p2 z10 Prezentacija

Usporedba

22

Page 23: 0809 p2 z10 Prezentacija

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