škrbina Što je stablo odlučivanja? - Ujedinite se.AI
Povežite se s nama
Majstorski tečaj umjetne inteligencije:

AI 101

Što je stablo odlučivanja?

mm
Ažurirano on

Što je stablo odlučivanja?

A stablo odluke je koristan algoritam strojnog učenja koji se koristi i za zadatke regresije i klasifikacije. Naziv "stablo odlučivanja" dolazi od činjenice da algoritam nastavlja dijeliti skup podataka na sve manje i manje dijelove dok se podaci ne razdijele na pojedinačne instance, koje se zatim klasificiraju. Kad biste vizualizirali rezultate algoritma, način na koji su kategorije podijeljene sličio bi stablu i mnogo lišća.

To je kratka definicija stabla odlučivanja, ali zaronimo duboko u to kako funkcioniraju stabla odlučivanja. Bolje razumijevanje načina na koji funkcioniraju stabla odlučivanja, kao i njihovih slučajeva upotrebe, pomoći će vam da znate kada ih upotrijebiti tijekom svojih projekata strojnog učenja.

Format stabla odlučivanja

Stablo odlučivanja je dosta poput dijagrama toka. Da biste upotrijebili dijagram toka, počinjete od početne točke ili korijena grafikona, a zatim se, ovisno o tome kako ispunjavate kriterije filtriranja tog početnog čvora, pomičete na jedan od sljedećih mogućih čvorova. Ovaj proces se ponavlja dok se ne dođe do kraja.

Stabla odlučivanja funkcioniraju u biti na isti način, pri čemu je svaki unutarnji čvor u stablu neka vrsta kriterija za testiranje/filtriranje. Čvorovi izvana, krajnje točke stabla, oznake su za dotičnu podatkovnu točku i nazivaju se "lišće". Grane koje vode od unutarnjih čvorova do sljedećeg čvora su značajke ili spojevi značajki. Pravila koja se koriste za klasifikaciju podatkovnih točaka su staze koje vode od korijena do listova.

Algoritmi za stabla odlučivanja

Stabla odlučivanja rade na algoritamskom pristupu koji skup podataka dijeli na pojedinačne podatkovne točke na temelju različitih kriterija. Ta se podjela obavlja s različitim varijablama ili različitim značajkama skupa podataka. Na primjer, ako je cilj utvrditi je li pas ili mačka opisan ulaznim značajkama, varijable na koje se podaci dijele mogu biti stvari poput "kandži" i "lajanja".

Dakle, koji se algoritmi koriste za stvarno dijeljenje podataka u grane i listove? Postoje različite metode koje se mogu koristiti za cijepanje stabla, ali najčešća metoda cijepanja vjerojatno je tehnika koja se naziva "rekurzivno binarno dijeljenje”. Prilikom izvođenja ove metode razdvajanja, proces počinje u korijenu, a broj značajki u skupu podataka predstavlja mogući broj mogućih dijeljenja. Funkcija se koristi za određivanje točnosti svake moguće podjele koja će koštati, a podjela se vrši pomoću kriterija koji žrtvuju najmanju točnost. Ovaj se proces provodi rekurzivno, a podskupine se formiraju koristeći istu opću strategiju.

Da bi odrediti trošak podjele, koristi se troškovna funkcija. Za zadatke regresije i zadatke klasifikacije koristi se različita troškovna funkcija. Cilj obiju troškovnih funkcija je odrediti koje grane imaju najsličnije vrijednosti odgovora, odnosno najhomogenije grane. Uzmite u obzir da želite da testni podaci određene klase slijede određene staze i to ima intuitivnog smisla.

U smislu funkcije regresijskog troška za rekurzivno binarno dijeljenje, algoritam koji se koristi za izračun troška je sljedeći:

zbroj(y – predviđanje)^2

Predviđanje za određenu skupinu podatkovnih točaka srednja je vrijednost odgovora podataka za obuku za tu skupinu. Sve podatkovne točke prolaze kroz funkciju troška kako bi se odredio trošak za sve moguće podjele i odabire se podjela s najnižim troškom.

Što se tiče troškovne funkcije za klasifikaciju, funkcija je sljedeća:

G = zbroj (pk * (1 – pk))

Ovo je Gini rezultat, a to je mjerenje učinkovitosti podjele, temeljeno na tome koliko je instanci različitih klasa u grupama koje proizlaze iz podjele. Drugim riječima, kvantificira koliko su grupe izmiješane nakon podjele. Optimalna podjela je kada se sve grupe koje proizlaze iz podjele sastoje samo od inputa iz jedne klase. Ako je stvorena optimalna podjela, vrijednost "pk" bit će ili 0 ili 1, a G će biti jednak nuli. Možda možete pogoditi da je najgori slučaj podjele onaj gdje postoji 50-50 zastupljenost klasa u podjeli, u slučaju binarne klasifikacije. U ovom bi slučaju vrijednost "pk" bila 0.5, a G bi također bio 0.5.

Proces razdvajanja se završava kada se sve podatkovne točke pretvore u listove i klasificiraju. Međutim, možda biste trebali rano zaustaviti rast stabla. Velika složena stabla sklona su pretjeranom opremanju, ali za borbu protiv toga može se koristiti nekoliko različitih metoda. Jedna od metoda smanjenja prekomjernog uklapanja je određivanje minimalnog broja podatkovnih točaka koje će se koristiti za stvaranje lista. Druga metoda kontrole prekomjernog opremanja je ograničavanje stabla na određenu maksimalnu dubinu, koja kontrolira koliko dugo se put može protezati od korijena do lista.

Još jedan proces uključen u stvaranje stabala odlučivanja je orezivanje. Skraćivanje može pomoći u povećanju izvedbe stabla odlučivanja uklanjanjem grana koje sadrže značajke koje imaju malu prediktivnu moć/malu važnost za model. Na taj način, složenost stabla je smanjena, postaje manja vjerojatnost da će se pretjerano prilagoditi, a prediktivna korisnost modela je povećana.

Prilikom provođenja rezidbe, proces može započeti na vrhu ili dnu stabla. Međutim, najlakši način obrezivanja je započeti s listovima i pokušati ispustiti čvor koji sadrži najčešću klasu unutar tog lista. Ako se točnost modela ne pogorša kada se to učini, tada je promjena sačuvana. Postoje i druge tehnike koje se koriste za provođenje rezidbe, ali gore opisana metoda – reduciranje grešaka – vjerojatno je najčešća metoda rezidbe stabla odlučivanja.

Razmatranja za korištenje stabala odlučivanja

Stabla odlučivanja često su korisni kada je potrebno izvršiti klasifikaciju, ali je vrijeme izračuna glavno ograničenje. Stabla odlučivanja mogu jasno pokazati koje značajke u odabranim skupovima podataka imaju najveću moć predviđanja. Nadalje, za razliku od mnogih algoritama strojnog učenja gdje pravila koja se koriste za klasificiranje podataka može biti teško protumačiti, stabla odlučivanja mogu prikazati interpretabilna pravila. Stabla odlučivanja također mogu koristiti i kategoričke i kontinuirane varijable, što znači da je potrebno manje predprocesiranja, u usporedbi s algoritmima koji mogu rukovati samo jednom od ovih vrsta varijabli.

Stabla odlučivanja obično nemaju dobre rezultate kada se koriste za određivanje vrijednosti kontinuiranih atributa. Još jedno ograničenje stabla odlučivanja je da, kada se radi klasifikacija, ako postoji malo primjera obuke, ali mnogo klasa, stablo odlučivanja ima tendenciju biti netočno.

Bloger i programer sa specijalnošću u Strojno učenje i Duboko učenje temama. Daniel se nada pomoći drugima da iskoriste snagu umjetne inteligencije za društveno dobro.