Grunnleggende AI

Hva er et beslutningstre?

mm
Legg til Unite.AI blant dine foretrukne kilder pÃĨ Google

Hva er et beslutningstre?

Et beslutningstre er et nyttig maskinlÃĶring-algoritme som brukes til bÃĨde regresjon og klassifisering oppgaver. Navnet “beslutningstre” kommer fra faktum at algoritmen deler datasett ned i mindre og mindre deler til dataene er delt inn i enkelt eksempler, som deretter klassifiseres. Hvis du skulle visualisere resultater av algoritmen, ville mÃĨten kategorier er delt pÃĨ ligne et tre med mange blader.

Dette er en kort definisjon av et beslutningstre, men la oss dykke dyptere inn i hvordan beslutningstre fungerer. Å ha en bedre forstÃĨelse av hvordan beslutningstre opererer, samt deres bruksomrÃĨder, vil hjelpe deg med ÃĨ vite nÃĨr du skal bruke dem i dine maskinlÃĶring prosjekter.

Format for et beslutningstre

Et beslutningstre er mye likt en flytskjema. For ÃĨ bruke et flytskjema starter du pÃĨ startpunktet, eller roten, av skjemaet og deretter, basert pÃĨ hvordan du svarer pÃĨ filterkriteriene for den start noden, flytter du til en av de neste mulige nodene. Denne prosessen gjentas til en slutt er nÃĨdd.

Beslutningstre opererer pÃĨ samme mÃĨte, med hver intern node i treet som noen form for test/filterkriterie. Nodene pÃĨ utsiden, endepunktene av treet, er labelene for datapunktet i question og de kalles “blader”. Greinene som fÃļrer fra de interne nodene til den neste noden er trekk eller kombinasjoner av trekk. Reglene som brukes til ÃĨ klassifisere datapunktene er stiene som lÃļper fra roten til bladene.

Algoritmer for beslutningstre

Beslutningstre opererer pÃĨ en algoritmsk tilnÃĶrming som deler datasett opp i enkelt data punkter basert pÃĨ forskjellige kriterier. Disse delingene gjÃļres med forskjellige variabler, eller de forskjellige trekkene av datasett. For eksempel, hvis mÃĨlet er ÃĨ bestemme om det er en hund eller en katt som beskrives av inndata trekkene, kan variablene dataene deles pÃĨ vÃĶre ting som “klÃļr” og “bjeffer”.

SÃĨ hva algoritmer brukes til ÃĨ faktisk dele dataene inn i greiner og blader? Det finnes flere metoder som kan brukes til ÃĨ dele et tre opp, men den vanligste metoden for deling er kanskje en teknikk kjent som “rekursiv binÃĶr deling”. NÃĨr denne metoden for deling utfÃļres, starter prosessen ved roten og antallet trekk i datasett representerer det mulige antallet mulige delinger. En funksjon brukes til ÃĨ bestemme hvor mye nÃļyaktighet hver mulig deling vil koste, og delingen gjÃļres ved hjelp av kriteriet som ofrer minst nÃļyaktighet. Denne prosessen utfÃļres rekursivt og undergrupper dannes ved hjelp av samme generelle strategi.

For ÃĨ bestemme kostnaden av delingen, brukes en kostnadsfunksjon. En annen kostnadsfunksjon brukes for regresjon oppgaver og klassifisering oppgaver. MÃĨlet med begge kostnadsfunksjoner er ÃĨ bestemme hvilke greiner som har de mest like svarverdier, eller de mest homogene greinene. Overvei at du Ãļnsker testdata av en bestemt klasse ÃĨ fÃļlge bestemte stier og dette har intuitivt mening.

I forhold til regresjon kostnadsfunksjonen for rekursiv binÃĶr deling, er algoritmen som brukes til ÃĨ beregne kostnaden som fÃļlger:

sum(y – prediksjon)^2

Prediksjonen for en bestemt gruppe data punkter er gjennomsnittet av svarene til trening dataene for den gruppen. Alle data punktene kjÃļres gjennom kostnadsfunksjonen for ÃĨ bestemme kostnaden for alle mulige delinger og delingen med den laveste kostnaden velges.

Med hensyn til kostnadsfunksjonen for klassifisering, er funksjonen som fÃļlger:

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

Dette er Gini-scoren, og det er et mÃĨl pÃĨ effektiviteten av en deling, basert pÃĨ hvor mange eksempler av forskjellige klasser som er i gruppene som resulterer fra delingen. Med andre ord, det kvantifiserer hvor blandet gruppene er etter delingen. En optimal deling er nÃĨr alle gruppene som resulterer fra delingen bestÃĨr bare av inndata fra en klasse. Hvis en optimal deling er opprettet, vil “pk”-verdien vÃĶre enten 0 eller 1 og G vil vÃĶre lik 0. Du kan kanskje gjette at den verste delingen er en der det er en 50-50 representasjon av klassene i delingen, i tilfelle binÃĶr klassifisering. I dette tilfellet vil “pk”-verdien vÃĶre 0,5 og G vil ogsÃĨ vÃĶre 0,5.

Delingsprosessen avsluttes nÃĨr alle data punktene er omdannet til blader og klassifisert. Imidlertid kan du Ãļnske ÃĨ stoppe veksten av treet tidlig. Store komplekse tre er utsatt for overfitting, men flere forskjellige metoder kan brukes til ÃĨ bekjempe dette. En metode for ÃĨ redusere overfitting er ÃĨ angi et minimum antall data punkter som vil brukes til ÃĨ opprette et blad. En annen metode for ÃĨ kontrollere overfitting er ÃĨ begrense treet til en bestemt maksimal dybde, som kontrollerer hvor lang en sti kan strekke seg fra roten til et blad.

En annen prosess som er involvert i opprettelsen av beslutningstre er beskjÃĶring. BeskjÃĶring kan hjelpe med ÃĨ Ãļke ytelsen av et beslutningstre ved ÃĨ fjerne greiner som inneholder trekk som har liten prediktiv kraft/liten viktighet for modellen. PÃĨ denne mÃĨten reduseres kompleksiteten av treet, det blir mindre sannsynlig ÃĨ overfitte, og den prediktive nytten av modellen Ãļker.

NÃĨr beskjÃĶring utfÃļres, kan prosessen starte enten fra toppen av treet eller bunnen av treet. Imidlertid er den enkleste metoden for beskjÃĶring ÃĨ starte med bladene og prÃļve ÃĨ fjerne noden som inneholder den vanligste klassen i det bladet. Hvis nÃļyaktigheten av modellen ikke forverres nÃĨr dette gjÃļres, sÃĨ beholdes endringen. Det finnes andre teknikker som brukes til ÃĨ utfÃļre beskjÃĶring, men metoden som er beskrevet ovenfor – reduksjon av feil beskjÃĶring – er kanskje den vanligste metoden for beslutningstre beskjÃĶring.

Overveielser for ÃĨ bruke beslutningstre

Beslutningstre er ofte nyttige nÃĨr klassifisering mÃĨ utfÃļres, men beregnings tid er en stor begrensning. Beslutningstre kan gjÃļre det klart hvilke trekk i de valgte datasett som har mest prediktiv kraft. I tillegg, i motsetning til mange maskinlÃĶring algoritmer hvor reglene som brukes til ÃĨ klassifisere dataene kan vÃĶre vanskelige ÃĨ tolke, kan beslutningstre gi tolkbare regler. Beslutningstre er ogsÃĨ i stand til ÃĨ bruke bÃĨde kategoriske og kontinuerlige variabler, noe som betyr at mindre forarbeiding er nÃļdvendig, sammenlignet med algoritmer som bare kan hÃĨndtere en av disse variabel typene.

Beslutningstre tenderer ikke til ÃĨ fungere svÃĶrt godt nÃĨr de brukes til ÃĨ bestemme verdiene av kontinuerlige attributter. En annen begrensning av beslutningstre er at, nÃĨr klassifisering utfÃļres, hvis det er fÃĨ treningseksempler men mange klasser, tenderer beslutningstreet ÃĨ vÃĶre upresist.

Blogger og programmerer med spesialomrÃĨder i Machine Learning og Deep Learning emner. Daniel hÃĨper ÃĨ hjelpe andre med ÃĨ bruke kraften av AI for sosialt godt.