IA 101
Ce este un arbore de decizie?

Ce este un arbore de decizie?
Un arbore de decizie este un algoritm util de învățare automată utilizat atât pentru sarcini de regresie, cât și pentru sarcini de clasificare. Numele „arbore de decizie” provine din faptul că algoritmul continuă să divizeze setul de date în porțiuni din ce în ce mai mici până când datele sunt divizate în instanțe individuale, care sunt apoi clasificate. Dacă ați vizualiza rezultatele algoritmului, modul în care categoriile sunt divizate ar semăna cu un arbore și multe frunze.
Acesta este un definition rapidă a unui arbore de decizie, dar să facem o analiză profundă a modului în care funcționează arborii de decizie. Având o înțelegere mai bună a modului în care funcționează arborii de decizie, precum și a cazurilor de utilizare, vă va ajuta să știți când să îi utilizați în proiectele dvs. de învățare automată.
Formatul unui arbore de decizie
Un arbore de decizie este foarte asemănător cu un diagramă de flux. Pentru a utiliza o diagramă de flux, începeți de la punctul de start, sau rădăcina, diagramei și apoi, în funcție de modul în care răspundeți la criteriile de filtrare ale nodului de start, treceți la unul dintre următoarele noduri posibile. Acest proces se repetă până când se ajunge la un sfârșit.
Arborii de decizie funcționează în mod similar, cu fiecare nod intern din arbore fiind un fel de test sau criteriu de filtrare. Nodurile din exterior, punctele finale ale arborelui, sunt etichetele pentru punctul de date în cauză și sunt denumite „frunze”. Ramurile care duc de la nodurile interne la următorul nod sunt caracteristici sau conjuncții de caracteristici. Regulile utilizate pentru a clasifica punctele de date sunt căile care rulează de la rădăcină la frunze.

Algoritmi pentru arbori de decizie
Arborii de decizie funcționează pe o abordare algoritmică care împarte setul de date în puncte de date individuale pe baza unor criterii diferite. Aceste împărțiri se fac cu variabile diferite, sau cu caracteristicile diferite ale setului de date. De exemplu, dacă scopul este de a determina dacă un câine sau o pisică este descris de caracteristicile de intrare, variabilele pe care se împarte datele ar putea fi lucruri precum „gheare” și „lătrat”.
Deci, ce algoritmi se utilizează pentru a împărți realmente datele în ramuri și frunze? Există diverse metode care pot fi utilizate pentru a împărți un arbore, dar metoda cea mai comună de împărțire este probabil o tehnică numită „împărțire binară recursivă”. Atunci când se efectuează această metodă de împărțire, procesul începe de la rădăcină și numărul de caracteristici din setul de date reprezintă numărul posibil de împărțiri posibile. O funcție este utilizată pentru a determina cât de precisă va fi fiecare împărțire posibilă, iar împărțirea se face utilizând criteriul care sacrifică cea mai mică precizie. Acest proces se efectuează recursiv și subgrupuri sunt formate utilizând aceeași strategie generală.
Pentru a determina costul împărțirii, se utilizează o funcție de cost. O funcție de cost diferită se utilizează pentru sarcinile de regresie și pentru sarcinile de clasificare. Scopul ambelor funcții de cost este de a determina care ramuri au valorile de răspuns cele mai asemănătoare, sau ramurile cele mai omogene. Luați în considerare că doriți ca datele de testare ale unei anumite clase să urmeze anumite căi și acest lucru are sens intuitiv.
În ceea ce privește funcția de cost pentru împărțirea binară recursivă, algoritmul utilizat pentru calcularea costului este următorul:
sum(y – predicție)^2
Predicția pentru un anumit grup de puncte de date este media răspunsurilor datelor de antrenare pentru acel grup. Toate punctele de date sunt rulate prin funcția de cost pentru a determina costul pentru toate împărțirile posibile și împărțirea cu costul cel mai mic este selectată.
În ceea ce privește funcția de cost pentru clasificare, funcția este următoarea:
G = sum(pk * (1 – pk))
Acesta este scorul Gini, și este o măsură a eficacității unei împărțiri, pe baza numărului de instanțe din clase diferite care se află în grupurile rezultate din împărțire. Cu alte cuvinte, cantifică cât de amestecate sunt grupurile după împărțire. O împărțire optimă este atunci când toate grupurile rezultate din împărțire sunt alcătuite numai din intrări dintr-o singură clasă. Dacă s-a creat o împărțire optimă, valoarea „pk” va fi 0 sau 1 și G va fi egal cu zero. Probabil că puteți ghici că cea mai proastă împărțire este una în care există o reprezentare 50-50 a claselor în împărțire, în cazul clasificării binare. În acest caz, valoarea „pk” ar fi 0,5 și G ar fi, de asemenea, 0,5.
Procesul de împărțire se încheie atunci când toate punctele de date au fost transformate în frunze și clasificate. Cu toate acestea, este posibil să doriți să opriți creșterea arborelui mai devreme. Arborii mari și complexi sunt predispuși la suprapunere, dar există mai multe metode care pot fi utilizate pentru a combate acest lucru. O metodă de reducere a suprapunerii este de a specifica un număr minim de puncte de date care vor fi utilizate pentru a crea o frunză. O altă metodă de controlare a suprapunerii este de a restricționa arborele la o anumită adâncime maximă, care controlează cât de lungă poate fi o cale de la rădăcină la o frunză.
Un alt proces implicat în crearea arborilor de decizie este tăierea. Tăierea poate ajuta la creșterea performanței unui arbore de decizie prin eliminarea ramurilor care conțin caracteristici cu putere predictivă mică sau importanță mică pentru model. În acest fel, complexitatea arborelui este redusă, este mai puțin probabil să se suprapună și utilitatea predictivă a modelului este crescută.
Atunci când se efectuează tăierea, procesul poate începe de la partea superioară a arborelui sau de la partea inferioară a arborelui. Cu toate acestea, metoda cea mai ușoară de tăiere este de a începe cu frunzele și de a încerca să eliminați nodul care conține clasa cea mai comună din acea frunză. Dacă precizia modelului nu se deteriorează atunci când se face acest lucru, atunci schimbarea este păstrată. Există alte tehnici utilizate pentru a efectua tăierea, dar metoda descrisă mai sus – tăierea cu eroare redusă – este probabil cea mai comună metodă de tăiere a arborilor de decizie.
Considerații pentru utilizarea arborilor de decizie
Arborii de decizie sunt adesea utili atunci când clasificarea trebuie efectuată, dar timpul de calcul este o constrângere majoră. Arborii de decizie pot face clar care caracteristici din seturile de date alese au cea mai mare putere predictivă. În plus, spre deosebire de mulți algoritmi de învățare automată, în care regulile utilizate pentru a clasifica datele pot fi greu de interpretat, arborii de decizie pot oferi reguli interpretabile. Arborii de decizie pot utiliza, de asemenea, atât variabile categorice, cât și variabile continue, ceea ce înseamnă că este nevoie de mai puțină prelucrare, comparativ cu algoritmii care pot gestiona doar unul dintre aceste tipuri de variabile.
Arborii de decizie nu funcționează foarte bine atunci când sunt utilizați pentru a determina valorile atributelor continue. O altă limitare a arborilor de decizie este că, atunci când se efectuează clasificarea, dacă există puține exemple de antrenare, dar multe clase, arborele de decizie tinde să fie inexact.










