Arbori de decizie în învățarea automată: funcții, clasificare, avantaje și dezavantaje

Publicat: 2020-05-14

Fiecare om trebuie să ia decizii în viața sa. Aceste decizii depind de situație. Luarea deciziei corecte ajută la înfruntarea unei situații în cel mai bun mod, rezolvând problema în cel mai simplu mod. În copilărie, majoritatea deciziilor tale se învârte în jurul a ceea ce mănânci și a lucrurilor legate de școala ta.

Pe măsură ce cresc, deciziile tale încep să aibă o implicație mai serioasă nu numai asupra vieții tale, ci și asupra vieții altora. La un moment dat în viața ta, vei lua decizii cu privire la cariera sau afacerea ta. Această analogie este de a vă introduce în conceptul de arbore de decizie în învățarea automată.

Cuprins

Ce este un arbore de decizie?

Pentru început, permiteți-ne să vă spunem că un arbore de decizie este un model sau un instrument predictiv care sprijină deciziile. Se știe că furnizează inferențe precise utilizând modele, modele de design sau reprezentări care urmează o structură arborescentă. Obiectivul principal al acestui model sau model de învățare automată este de a lua în considerare anumite atribute ale unei ținte și apoi de a lua decizii pe baza acelor atribute.

Majoritatea deciziilor dintr-un arbore de decizie urmează declarații condiționale – dacă și else. Pentru ca un model de arbore de decizie să fie mai bun decât alții, va avea o structură mai profundă și reguli mai complexe care îl guvernează. Este unul dintre cele mai preferate modele de învățare supravegheată în învățarea automată și este utilizat într-o serie de domenii. Ar putea părea ca o diagramă de flux care este concepută ținând cont de tehnicile algoritmice pentru a se asigura că împărțirea se face în funcție de condiții.

Structura acestei organigrame este destul de simplă. Are un nod rădăcină care servește ca fundație pentru construirea modelului. Apoi, unele noduri și ramuri interne arată caracteristici sau teste și, respectiv, rezultate ale testelor. Nodul frunză reprezintă un grup cu valori care sunt similare cu acele valori care sunt atinse atunci când se iau decizii privind atributul aferent.

Arborii de decizii își găsesc în primul rând utilizări în probleme de clasificare și regresie. Acestea sunt folosite pentru a crea modele automate de predicție care servesc mai mult de câteva aplicații nu numai în aplicațiile de algoritm de învățare automată, ci și în statistică, știința datelor și extragerea datelor, printre alte domenii. Aceste structuri bazate pe arbore oferă unele dintre cele mai precise modele predictive, care sunt atât ușor de interpretat, cât și mai stabile decât majoritatea celorlalte modele predictive.

Spre deosebire de modelele liniare care sunt bune doar pentru un anumit număr de probleme, modelele bazate pe arbori de decizie pot fi folosite și în maparea relațiilor neliniare. Nu e de mirare că arborii de decizie sunt atât de populari. Un motiv foarte important pentru aceasta este cât de ușor de înțeles este modelul arborelui de decizie finală. Poate descrie destul de clar ce s-a aflat în spatele unei predicții. Ele sunt, de asemenea, baza celor mai avansate metode de colaborare sau de ansamblu, inclusiv creșterea gradientului, bagajul și pădurile aleatorii, printre altele.

Cum definiți un arbore de decizie?

Acum că am dezvoltat o înțelegere de bază a conceptului, permiteți-ne să-l definim pentru dvs. Un arbore de decizie este un algoritm de învățare automată supravegheat care poate fi utilizat pentru a rezolva atât probleme bazate pe clasificare, cât și pe cele bazate pe regresie. Să vedem cum este folosit pentru clasificare.

Să presupunem că există un set de date la care lucrăm în prezent. Creăm un plan 2D care poate fi împărțit în diferite zone, astfel încât punctele din fiecare zonă să fie desemnate aceleiași clase. Diviziunile sau diviziunile sunt notate printr-un caracter unic. Acesta este un arbore binar la care lucrăm aici.

Acum, există diferite lucruri din acest arbore de decizie care nu au o reprezentare anterioară, dar sunt create folosind datele de instruire care ni s-au oferit. Aceste lucruri includ numărul de noduri pe care le va avea acest arbore, poziționarea marginilor și structura sa. Nu vom crea arborele de la zero aici. Vom merge doar înainte, având în vedere că arborele nostru este deja acolo.

Acum, cum putem clasifica noi puncte de intrare? Trebuie doar să ne coborăm în copac pentru a face asta. În timpul traversării, vom continua să punem o întrebare despre punctul de date la atingerea fiecărui nod. De exemplu, când punem această întrebare la nodul rădăcină, răspunsul ne-ar permite fie să ne ramificăm la dreapta, fie la stânga. Regula generală este dacă întrebarea pusă este adevărată pentru condiția pusă în condiția este îndeplinită, trebuie să ramificăm la stânga. Dacă nu este adevărat, trebuie să ne ramificăm corect. Dacă starea noastră ne duce la un nod din stânga, am ști ce clasă trebuie să i se atribuie un punct de intrare.

Când vine vorba de modul în care este demonstrat un arbore de decizie, există câteva lucruri care nu ar trebui să fie uitate niciodată. Nu există nicio regulă sau necesitate care să spună că trebuie să alternăm între cele două coordonate ale unui arbore de decizie în timp ce îl parcurgem. Putem alege să mergem cu o singură caracteristică sau dimensiune. Trebuie să reținem că arborii de decizie pot fi utilizați cu un set de date de orice dimensiune. Am luat date 2D în exemplul nostru, dar asta nu înseamnă că arborii de decizie sunt doar pentru seturi de date cu două dimensiuni.

Checkout: Tipuri de arbore binar

Ai fost vreodată implicat într-un concurs de Douăzeci de întrebări? Este destul de similar cu modul în care funcționează arborii de decizie. Să aflăm cum? Obiectivul final al jocului Twenty Questions este de a afla obiectul la care se gândește persoana care răspunde la întrebări în timp ce răspunde la întrebări. La întrebări se poate răspunde doar cu da sau nu.

Pe măsură ce avansați în joc, veți ști din răspunsurile anterioare ce întrebări specifice să puneți pentru a obține răspunsul corect înainte de încheierea jocului. Un arbore de decizie este seria ta de întrebări care te ajută să ajungi la răspunsul final, îndrumându-te să pui întrebări mai relevante.

Vă amintiți cum sunteți direcționat către persoana cu care doriți să vorbiți într-o companie prin mesageria vocală? Mai întâi vorbiți cu asistentul computerizat și apoi apăsați o serie de butoane de pe telefoanele dvs. și introduceți câteva detalii despre contul dvs. înainte de a ajunge la persoana cu care doriți să vorbiți în primul rând. Aceasta ar putea fi o experiență supărătoare pentru dvs., dar astfel majoritatea companiilor folosesc arbori de decizie pentru a-și ajuta clienții să ajungă la departamentul potrivit sau să discute cu persoana potrivită. Citește, de asemenea, 6 tipuri de învățare supravegheată despre care trebuie să știi.

Cum funcționează un arbore de decizie?

Te gândești cum să creezi un arbore decizional perfect? După cum am menționat mai devreme, arborii de decizie sunt o clasă de algoritmi care sunt utilizați pentru a rezolva problemele de învățare automată care aparțin tipurilor de clasificare și regresie. Poate fi folosit atât pentru variabile categorice, cât și pentru variabile continue.

Acest algoritm are o modalitate simplă de a merge mai departe - parțiază setul de date sau eșantionul de date în seturi diferite de date, fiecare set de date grupat împreună cu aceleași atribute. Arborele de decizie utilizează o serie de algoritmi în scopuri diferite - identifică diviziunea, cele mai importante variabile și cea mai bună valoare a rezultatului care poate produce mai multe subdiviziuni mergând mai departe.

De obicei, fluxul de lucru al unui arbore de decizie implică împărțirea datelor în seturi de date de antrenament și de testare, aplicarea algoritmilor și evaluarea performanței modelului. Să înțelegem cum funcționează cu un exemplu foarte simplu. Să presupunem că vrem să verificăm dacă o persoană este potrivită pentru un loc de muncă sau nu. Aceasta va fi rădăcina copacului.

Acum trecem la caracteristicile sau atributele arborelui, care vor constitui nodurile interne. Pe baza acestor atribute se vor lua decizii – formarea ramurilor copacului. Să facem o altă presupunere aici. Parametrul pentru o persoană considerată potrivită pentru job este experiența sa de 5 sau mai mulți ani. Prima împărțire va avea loc pe acest parametru pe care tocmai l-am setat.

Avem nevoie de mai multe seturi de parametri pentru o împărțire ulterioară. Acești parametri ar putea fi despre ei aparținând sau nu la o anumită grupă de vârstă, purtând un anumit grad sau nu și așa mai departe. Rezultatele sunt descrise de frunzele copacului, altele decât rădăcini și ramuri. Frunzele nu se despart niciodată și descriu deciziile. Acest arbore vă va ajuta să decideți dacă un candidat este potrivit pentru job sau nu.

După cum sa menționat deja, un arbore de decizie are propria sa reprezentare particulară care îi permite să rezolve o problemă pentru noi. Are rădăcini, noduri interne, ramuri și frunze, fiecare având un scop specific sau făcând o anumită treabă. Acești pași vă vor ajuta să faceți reprezentarea arborelui:

  1. Rădăcina arborelui prezintă versiunea optimizată a celui mai bun atribut
  2. Împărțiți datele eșantionului în subseturi folosind atribute adecvate. Asigurați-vă că noile subseturi sau grupuri de date nu poartă valori diferite pentru același atribut
  3. Repetați cei doi pași de mai sus până când aveți frunzele pentru fiecare ramură din arborele de decizie

Arborele de clasificare sau regresie (CART)

Să luăm un exemplu. Imaginați-vă că ni se dă sarcina de a clasifica candidații la post pe baza unor atribute predefinite pentru a ne asigura că doar candidații care merită sunt selectați la sfârșitul procesului. Decizia de a selecta un candidat ar depinde de un eveniment în timp real sau posibil. Tot ce ne trebuie este un arbore de decizie pentru a găsi criteriile potrivite pentru clasificare. Rezultatele ar depinde de modul în care se face clasificarea.

Clasificarea, după cum știm cu toții, conține doi pași. Primul pas implică construirea unui model aleatoriu pe setul de date eșantion. Al doilea pas implică predicție – modelul antrenat în primul pas este implementat pentru a face o predicție cu privire la răspunsul pentru datele date.

Acum, există anumite situații în care variabila țintă este un număr real, sau deciziile se iau pe date continue. Vi se poate cere să faceți o predicție cu privire la prețul unui articol pe baza costului forței de muncă. Sau vi se poate cere să decideți salariul unui candidat în funcție de salariul anterior, setul de abilități, experiența și alte informații relevante.

Valoarea valorii țintă în aceste situații va fi fie o valoare reală, fie o valoare asociată cu un set de date continuu. Vom folosi versiunea de regresie a unui arbore de decizie pentru a rezolva aceste probleme. Acest arbore va lua în considerare observațiile făcute asupra caracteristicilor unui obiect și va antrena modelul să facă predicții și să ofere o ieșire continuă care are sens absolut.

Să vorbim acum despre câteva asemănări și diferențe între arborii de decizie de clasificare și regresie. Arborele de decizie sunt utilizați ca modele de clasificare în situațiile în care variabilele țintă sunt de natură categorică. Valoarea pe care o primește setul de date de antrenament chiar la punctul culminant al unui nod terminal este egală cu valoarea primită atunci când luăm un mod al observațiilor pentru acea secțiune anume. În cazul în care se adaugă vreo observație nouă la acea secțiune a arborelui, o vom înlocui cu valoarea modului și apoi vom face predicția.

Pe de altă parte, arborii de decizie sunt utilizați ca modele de regresie atunci când variabilele țintă fac parte dintr-un set de date continuu. Valoarea primită în același punct despre care am discutat pentru arbori de clasificare, este valoarea medie a observațiilor din acea secțiune când vine vorba de arbori de regresie.

Există și câteva asemănări. Ambele modele de arbore de decizie folosesc o abordare binară recursivă și împart variabilele independente în regiuni care nu se suprapun unele cu altele și sunt definite. În ambii acești copaci, diviziunea începe din vârful copacului, iar observațiile se află într-o singură regiune. Aceste observații împart variabilele în două ramuri. Această diviziune este un proces continuu care dă loc unui copac complet crescut.

Citiți: Idei de proiecte de învățare automată

Cum să înveți un model CART?

Există câteva lucruri importante pe care trebuie să le faceți pentru a crea un model CART. Acestea includ alegerea variabilelor de intrare, precum și a punctelor de diviziune, astfel încât arborele să fie construit corespunzător. Algoritmul lacom care reduce funcția de cost este folosit pentru a alege variabilele de intrare precum și punctele de divizare.

Strângerea arborelui se încheie cu ajutorul criteriului de oprire, care este definit în prealabil. Criteriul de oprire ar putea menționa orice, cum ar fi câte instanțe de antrenament sunt alocate nodurilor frunze ale arborelui.

1. Algoritmul greedy : spațiul de intrare trebuie împărțit corect pentru a construi un arbore binar. Divizarea binară recursiv este algoritmul lacom folosit în acest scop. Este o metodă numerică care implică alinierea diferitelor valori. O funcție de cost este apoi utilizată pentru a încerca și a testa mai multe puncte de împărțire. Se alege punctul de împărțire cu costul minim. Această metodă este folosită pentru a evalua toate punctele de divizare, precum și variabilele de intrare.

2. Tăierea copacilor : Criteriul de oprire îmbunătățește performanța arborelui de decizie. Pentru a-l face și mai bun, puteți încerca să tăiați copacul după ce ați învățat. Numărul de diviziuni pe care le are un arbore de decizie spune multe despre cât de complex este acesta. Toată lumea preferă copacii care sunt mai simpli decât alții. Nu supraajustează datele și sunt ușor de descifrat.

Cel mai bun mod de a tăia un copac este să te uiți la fiecare nod al frunzei și să afli cum va afecta copacul eliminarea acestuia. Îndepărtarea nodurilor frunze are loc atunci când această acțiune justifică o scădere a funcției de cost. Când credeți că nu puteți îmbunătăți performanța în continuare, puteți opri acest proces de eliminare. Metodele de tăiere pe care le puteți folosi includ

3. Criteriul de oprire : Metoda de divizare greedy menționată despre care am vorbit mai devreme trebuie să aibă o comandă sau o condiție de oprire pentru a ști când să se oprească. Un criteriu comun este de a lua numărul de instanțe cărora le-a fost atribuit fiecare nod frunză. Dacă acest număr este atins, împărțirea nu va avea loc, iar acel nod va fi considerat cel final.

De exemplu, să presupunem că criteriul de oprire predefinit este menționat ca cinci instanțe. Acest număr spune multe despre exactitatea arborelui conform datelor de antrenament. Dacă este prea precis sau exact, va avea ca rezultat o supraadaptare, ceea ce înseamnă o performanță slabă.

Cum să evitați supraadaptarea într-un arbore de decizie?

Majoritatea arborilor de decizie sunt expuși supraadaptării. Putem construi un arbore de decizie care este capabil să clasifice datele într-o manieră ideală, sau putem avea o situație în care nu avem atribute pentru divizare. Acest lucru nu va funcționa prea bine cu setul de date de testare; cu toate acestea, s-ar potrivi setului de date de antrenament. Puteți urma oricare dintre cele două abordări pe care le vom menționa pentru a evita această situație.

Puteți fie să tăiați copacul dacă este prea mare, fie să-i opriți creșterea înainte de a ajunge la acea stare de supraadaptare. În cele mai multe cazuri, există o limită definită pentru a controla creșterea arborelui care menționează adâncimea, numărul de straturi și alte lucruri pe care le poate avea. Setul de date pe care trebuie antrenat arborele va fi împărțit într-un set de date de testare și un set de date de antrenament. Ambele seturi de date vor avea adâncimi maxime pe baza setului de date de antrenament și vor fi testate față de setul de date de testare. Puteți utiliza și validarea încrucișată împreună cu această abordare.

Când alegeți să tăiați copacul, testați edițiile tăiate ale copacului față de versiunea originală. Dacă arborele tăiat se descurcă mai bine decât versiunea sa când vine vorba de testarea setului de date de testare, frunzele nu vor fi disponibile pentru arbore atâta timp cât această situație persistă.

Aflați mai multe despre: Arborele decizional în R

Avantajele abordării arborilor de decizie

  1. Poate fi folosit atât cu date continue, cât și cu date categorice.
  2. Poate furniza mai multe ieșiri
  3. Poate interpreta rezultate precise și puteți cuantifica și aveți încredere în fiabilitatea copacilor
  4. Cu această metodă, puteți explora datele, găsiți variabile importante și găsiți relații între diferite variabile pentru consolidarea variabilelor țintă și construiți noi caracteristici într-un timp mult mai puțin.
  5. Este ușor de înțeles și de explicat altora
  6. Este util în curățarea datelor. În comparație cu alte metode, nu durează prea mult timp, deoarece nu există nici un impact al valorilor lipsă și al valorilor aberante asupra acesteia după un anumit punct
  7. Eficiența și performanța arborilor de decizie nu sunt afectate de relațiile neliniare dintre caracteristici
  8. Nu este nevoie de mult timp pentru a pregăti datele, deoarece nu necesită înlocuirea valorii lipsă, normalizarea datelor și multe altele.
  9. Este o abordare non-parametrică. Nu are nimic de-a face cu proiectarea și aranjarea spațială a clasificatoarelor

Dezavantajele arborilor de decizie

  1. Unii utilizatori pot construi arbori de decizie prea complexi, chiar și pentru propriul lor plac. Acești copaci nu generalizează datele așa cum fac copacii mai simpli.
  2. Copacii părtinitori sunt adesea creați din cauza dominației anumitor clase. Acesta este motivul pentru care este foarte important să echilibrați datele eșantionului înainte de a fi utilizate
  3. Uneori, acești copaci nu sunt prea stabili. Variațiile datelor pot duce la crearea unui arbore care nu se potrivește cu proiectul de lege. Această anomalie este denumită varianță. Poate fi tratată prin utilizarea boosting și bagging.
  4. Nu vă puteți aștepta să obțineți cel mai bun arbore de decizie cu algoritmi lacomi. Pentru a elimina această problemă, puteți antrena mai mulți copaci.

Concluzie

Acest blog discută toate lucrurile importante pe care un cursant trebuie să le știe despre arborii de decizie. După ce ai citit acest blog, vei înțelege mai bine conceptul și vei fi într-o poziție mai bună să-l implementezi în viața reală.

Dacă sunteți interesat să aflați mai multe despre învățarea automată și inteligența artificială, consultați Diploma PG în Învățare automată și inteligență artificială a IIIT-B și upGrad, care este concepută pentru profesioniști care lucrează și oferă peste 450 de ore de pregătire riguroasă, peste 30 de studii de caz și sarcini, Statut de absolvenți IIIT-B, peste 5 proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Pentru ce se folosește algoritmul arborelui de decizie?

O parte a familiei de algoritmi de învățare supravegheată, arborii de decizie sunt unul dintre cei mai folosiți algoritmi de clasificare. Este foarte ușor de înțeles și de interpretat, ceea ce explică popularitatea sa. Arborii de decizie pot fi folosiți pentru a dezvolta modele de antrenament care pot prezice valorile variabilelor țintă pe baza instrucțiunilor simple de decizie derivate din datele istorice de antrenament. Cel mai bun lucru despre algoritmul arborilor de decizie este că poate fi utilizat eficient pentru a rezolva probleme de clasificare și regresie, cărora nu li se pot aplica alți algoritmi de învățare supravegheată. Pot fi utilizate diferite tipuri de arbori de decizie în funcție de tipul de variabilă țintă.

O parte a familiei de algoritmi de învățare supravegheată, arborii de decizie sunt unul dintre cei mai folosiți algoritmi de clasificare. Este foarte ușor de înțeles și de interpretat, ceea ce explică popularitatea sa. Arborii de decizie pot fi folosiți pentru a dezvolta modele de antrenament care pot prezice valorile variabilelor țintă pe baza instrucțiunilor simple de decizie derivate din datele istorice de antrenament. Cel mai bun lucru despre algoritmul arborilor de decizie este că poate fi utilizat eficient pentru a rezolva probleme de clasificare și regresie, cărora nu li se pot aplica alți algoritmi de învățare supravegheată. Pot fi utilizate diferite tipuri de arbori de decizie în funcție de tipul de variabilă țintă.

În AI, algoritmul arborilor de decizie vine cu o gamă largă de aplicații. Unele dintre cele mai interesante aplicații ale arborilor de decizie includ evaluarea oportunităților potențiale de creștere pentru companii pe baza datelor istorice. Pentru aceasta, datele istorice despre vânzări pot ajuta arborii de decizie să indice posibile rute pentru extinderea și creșterea ulterioară a afacerii. Arborele de decizie pot fi folosiți și pentru a găsi clienți potențiali folosind informații demografice. În plus, instituțiile financiare pot aplica și arbori de decizie pentru a crea modele predictive de evaluare a bonității clienților și a debitorilor în împrumuturi.

Ce alți algoritmi sunt folosiți în inteligența artificială?

Algoritmii utilizați în inteligența artificială pot fi clasificați în trei părți – algoritmi de regresie, algoritmi de clasificare și algoritmi de grupare. Algoritmii de clasificare sunt utilizați pentru a clasifica seturile de date într-un anumit mod. Algoritmii de grupare sunt aplicați la seturi întregi de date pentru a găsi diferențe și asemănări între anumite puncte de date. Poate fi folosit pentru a indica persoane de aceeași vârstă dintr-un grup mare de clienți. Algoritmii de regresie sunt de ajutor în prognoza rezultatelor viitoare în funcție de datele de intrare. De exemplu, algoritmii de regresie pot fi utilizați pentru a proiecta modele pentru prezicerea vremii.