Alberi decisionali nell'apprendimento automatico: funzioni, classificazione, pro e contro
Pubblicato: 2020-05-14Ogni persona deve prendere decisioni nella propria vita. Queste decisioni dipendono dalla situazione. Prendere la decisione giusta aiuta ad affrontare una situazione nel modo migliore, risolvendo il problema nel modo più diretto. Durante l'infanzia, la maggior parte delle tue decisioni girerebbe attorno a ciò che mangi e alle cose relative alla tua scuola.
Man mano che cresci, le tue decisioni iniziano ad avere un'implicazione più seria non solo sulla tua vita ma anche su quella degli altri. Ad un certo punto della tua vita, prenderai decisioni riguardanti la tua carriera o la tua attività. Questa analogia serve per introdurti al concetto di albero decisionale nell'apprendimento automatico.
Sommario
Che cos'è un albero decisionale?
Per cominciare, diciamo che un albero decisionale è un modello o uno strumento predittivo che supporta le decisioni. È noto per fornire inferenze accurate utilizzando progetti, modelli di progettazione o rappresentazioni che seguono una struttura ad albero. L'obiettivo principale di questo modello o modello di apprendimento automatico è considerare determinati attributi di un obiettivo e quindi prendere decisioni sulla base di tali attributi.
La maggior parte delle decisioni in un albero decisionale segue affermazioni condizionali, se e altro. Affinché un modello di albero decisionale sia migliore di altri, avrà una struttura più profonda e regole più complesse che lo governano. È uno dei modelli di apprendimento supervisionato più preferiti nell'apprendimento automatico e viene utilizzato in diverse aree. Potrebbe apparire come un diagramma di flusso progettato tenendo presenti le tecniche algoritmiche per garantire che la suddivisione avvenga in base alle condizioni.
La struttura di questo diagramma di flusso è abbastanza semplice. Ha un nodo radice che funge da base per la costruzione del modello. Quindi, alcuni nodi interni e rami mostrano rispettivamente le caratteristiche o i test e i risultati dei test. Il nodo foglia rappresenta un gruppo con valori simili a quelli ottenuti quando vengono prese decisioni sull'attributo correlato.
Gli alberi decisionali trovano principalmente il loro uso nei problemi di classificazione e regressione. Vengono utilizzati per creare modelli predittivi automatizzati che servono più di alcune applicazioni non solo in applicazioni di algoritmi di apprendimento automatico, ma anche in statistica, scienza dei dati e data mining, tra le altre aree. Queste strutture ad albero forniscono alcuni dei modelli predittivi più accurati, facilmente interpretabili e più stabili rispetto alla maggior parte degli altri modelli predittivi.

A differenza dei modelli lineari che sono validi solo per un certo numero di problemi, i modelli basati su alberi decisionali possono essere utilizzati anche per mappare relazioni non lineari. Non c'è da stupirsi che gli alberi decisionali siano così popolari. Una ragione molto importante per questo è la facilità di comprensione del modello dell'albero decisionale finale. Può descrivere abbastanza chiaramente cosa c'era dietro una previsione. Sono anche la base dei metodi collaborativi o di insieme più avanzati, tra cui l'aumento del gradiente, il bagging e le foreste casuali, tra gli altri.
Come si definisce un albero decisionale?
Ora che abbiamo sviluppato una comprensione di base del concetto, definiamolo per te. Un albero decisionale è un algoritmo di apprendimento automatico supervisionato che può essere utilizzato per risolvere problemi sia basati sulla classificazione che sulla regressione. Vediamo come viene utilizzato per la classificazione.
Supponiamo che ci sia un set di dati su cui stiamo attualmente lavorando. Creiamo un piano 2D che può essere suddiviso in diverse aree in modo tale che i punti in ciascuna area siano designati per la stessa classe. Le divisioni o divisioni sono denotate da un carattere unico. Questo è un albero binario su cui stiamo lavorando qui.
Ora, ci sono diverse cose di questo albero decisionale che non hanno una rappresentazione preventiva ma vengono create utilizzando i dati di addestramento forniti a noi. Queste cose includono il numero di nodi che questo albero avrà, il suo posizionamento sul bordo e la sua struttura. Non creeremo l'albero da zero qui. Andremo solo avanti, visto che il nostro albero è già lì.
Ora, come possiamo classificare i nuovi punti di input? Dobbiamo solo scendere dall'albero per farlo. Durante l'attraversamento, continueremo a porre una domanda sul punto dati al raggiungimento di ogni nodo. Ad esempio, quando poniamo questa domanda al nodo radice, la risposta ci farebbe ramificare a destra oa sinistra. La regola generale è che se la domanda posta è vera se la condizione posta nella condizione è soddisfatta, dobbiamo diramare a sinistra. Se non è vero, dobbiamo diramare a destra. Se la nostra condizione ci porta a un nodo sinistro, sapremmo quale classe deve essere assegnata a un punto di input.
Quando si tratta di come viene dimostrato un albero decisionale, ci sono alcune cose che non dovrebbero mai essere dimenticate. Non c'è alcuna regola o necessità che dica che dobbiamo alternare tra le due coordinate di un albero decisionale mentre lo percorriamo. Possiamo scegliere di utilizzare solo una singola caratteristica o dimensione. Dobbiamo tenere a mente che gli alberi decisionali possono essere utilizzati con un set di dati di qualsiasi dimensione. Nel nostro esempio abbiamo preso dati 2D, ma ciò non significa che gli alberi decisionali siano solo per set di dati bidimensionali.
Checkout: tipi di albero binario
Sei mai stato coinvolto in un concorso di Twenty Questions? È abbastanza simile a come funzionano gli alberi decisionali. Scopriamo come? L'obiettivo finale del gioco Twenty Questions è scoprire l'oggetto a cui sta pensando la persona che risponde alle domande mentre risponde alle domande. Alle domande si può rispondere solo con un sì o un no.
Man mano che avanzi nel gioco, saprai dalle risposte precedenti quali domande specifiche porre per ottenere la risposta giusta prima che il gioco finisca. Un albero decisionale è la tua serie di domande che ti aiuta a ottenere la risposta definitiva guidandoti a porre domande più rilevanti.
Ricordi come vieni indirizzato alla persona con cui vuoi parlare in un'azienda tramite la segreteria telefonica? Per prima cosa parli con l'assistente computerizzato, quindi premi una serie di pulsanti sui tuoi telefoni e inserisci alcuni dettagli sul tuo account prima di raggiungere la persona con cui volevi parlare in primo luogo. Potrebbe essere un'esperienza problematica per te, ma è così che la maggior parte delle aziende utilizza gli alberi decisionali per aiutare i propri clienti a raggiungere il dipartimento giusto o parlare con la persona giusta. Leggi anche 6 tipi di apprendimento supervisionato che devi conoscere.
Come funziona un albero decisionale?
Stai pensando a come creare un albero decisionale perfetto? Come accennato in precedenza, gli alberi decisionali sono una classe di algoritmi utilizzati per risolvere problemi di apprendimento automatico che appartengono ai tipi di classificazione e regressione. Può essere utilizzato sia per variabili categoriali che continue.
Questo algoritmo ha un modo semplice per andare avanti: partiziona il set di dati o campiona i dati in diversi set di dati con ogni set di dati raggruppato condividendo gli stessi attributi. Gli alberi decisionali utilizzano una serie di algoritmi per scopi diversi: identificare la divisione, le variabili più importanti e il miglior valore del risultato che può produrre più suddivisioni andando oltre.
In genere, il flusso di lavoro di un albero decisionale prevede la divisione dei dati in set di dati di addestramento e test, l'applicazione di algoritmi e la valutazione delle prestazioni del modello. Capiamo come funziona con un esempio molto semplice. Supponiamo di voler verificare se una persona è adatta per un lavoro o meno. Questa sarà la radice dell'albero.
Passiamo ora alle caratteristiche o attributi dell'albero, che costituiranno i nodi interni. Sulla base di questi attributi, verranno prese le decisioni: la formazione dei rami dell'albero. Facciamo qui un'altra ipotesi. Il parametro per una persona considerata giusta per il lavoro è la sua esperienza di 5 o più anni. La prima divisione avverrà su questo parametro che abbiamo appena impostato.
Abbiamo bisogno di più set di parametri per un'ulteriore suddivisione. Questi parametri potrebbero riguardare l'appartenenza a un determinato gruppo di età o meno, il possesso di un certo grado o meno, e così via. I risultati sono rappresentati dalle foglie dell'albero, oltre a radici e rami. Le foglie non si dividono mai e descrivono le decisioni. Questo albero ti aiuterà a decidere se un candidato è adatto al lavoro o meno.
Come già accennato, un albero decisionale ha una sua rappresentazione peculiare che gli consente di risolvere un problema per noi. Ha radici, nodi interni, rami e foglie, ognuno dei quali serve a uno scopo specifico o svolge un lavoro specifico. Questi passaggi ti aiuteranno a creare la rappresentazione dell'albero:
- La radice dell'albero presenta la versione ottimizzata dell'attributo migliore
- Suddividere i dati di esempio in sottoinsiemi utilizzando gli attributi appropriati. Assicurati che i nuovi sottoinsiemi o gruppi di dati non contengano valori diversi per lo stesso attributo
- Ripeti i due passaggi precedenti finché non hai le foglie per ogni ramo nel tuo albero decisionale
Classificazione o albero di regressione (CART)
Facciamo un esempio. Immaginiamo che ci venga affidato il compito di classificare i candidati al lavoro sulla base di alcuni attributi predefiniti per garantire che solo i candidati meritevoli vengano selezionati alla fine del processo. La decisione di selezionare un candidato dipenderebbe da un evento in tempo reale o possibile. Tutto ciò di cui abbiamo bisogno è un albero decisionale per trovare i criteri giusti per la classificazione. I risultati dipenderanno da come viene eseguita la classificazione.
La classificazione, come tutti sappiamo, contiene due passaggi. Il primo passaggio prevede la creazione di un modello casuale sul set di dati campione. Il secondo passaggio prevede la previsione: il modello addestrato nel primo passaggio viene implementato per fare una previsione sulla risposta per determinati dati.

Ora, ci sono alcune situazioni in cui la variabile target è un numero reale o le decisioni vengono prese su dati continui. Ti potrebbe essere chiesto di fare una previsione sul prezzo di un articolo in base al costo della manodopera. Oppure ti potrebbe essere chiesto di decidere lo stipendio di un candidato in base allo stipendio precedente, alle competenze, all'esperienza e ad altre informazioni pertinenti.
Il valore del valore target in queste situazioni sarà un valore reale o un valore associato a un set di dati continuo. Useremo la versione di regressione di un albero decisionale per risolvere questi problemi. Questo albero considererà le osservazioni fatte sulle caratteristiche di un oggetto e addestrerà il modello per fare previsioni e fornire un output continuo che ha assolutamente senso.
Parliamo ora di alcune somiglianze e differenze tra gli alberi decisionali di classificazione e regressione. Gli alberi decisionali vengono utilizzati come modelli di classificazione in situazioni in cui le variabili target sono di natura categoriale. Il valore che il set di dati di addestramento ottiene proprio al culmine di un nodo terminale è uguale al valore ricevuto quando prendiamo una modalità delle osservazioni per quella particolare sezione. Nel caso in cui una nuova osservazione venga aggiunta a quella sezione dell'albero, la sostituiremo con il valore mode e quindi faremo la previsione.
D'altra parte, gli alberi decisionali vengono utilizzati come modelli di regressione quando le variabili target fanno parte di un set di dati continuo. Il valore ricevuto allo stesso punto che abbiamo discusso per gli alberi di classificazione, è il valore medio delle osservazioni in quella sezione quando si tratta di alberi di regressione.
Ci sono anche alcune somiglianze. Entrambi i modelli di albero decisionale utilizzano un approccio binario ricorsivo e dividono variabili indipendenti in regioni che non si sovrappongono e sono definite. In entrambi questi alberi, la divisione inizia in cima all'albero e le osservazioni si trovano in una regione. Queste osservazioni dividono le variabili in due rami. Questa divisione è un processo continuo che lascia il posto a un albero completamente cresciuto.
Leggi: Idee per progetti di apprendimento automatico
Come imparare un modello di CARRELLO?
Ci sono alcune cose importanti che devi fare per creare un modello CART. Questi includono la scelta delle variabili di input e dei punti di divisione in modo che l'albero sia costruito correttamente. L'algoritmo greedy che riduce la funzione di costo viene utilizzato per scegliere le variabili di input e i punti di divisione.
La costrizione dell'albero viene terminata con l'aiuto del criterio di arresto, che è definito in anticipo. Il criterio di arresto potrebbe menzionare qualsiasi cosa, ad esempio quante istanze di addestramento sono assegnate ai nodi foglia dell'albero.
1. Algoritmo Greedy : lo spazio di input deve essere diviso correttamente per costruire un albero binario. La divisione binaria ricorsiva è l'algoritmo avido utilizzato per questo scopo. È un metodo numerico che prevede l'allineamento di valori diversi. Una funzione di costo viene quindi utilizzata per provare a testare diversi punti di divisione. Viene scelto il punto di divisione con il costo minimo. Questo metodo viene utilizzato per valutare tutti i punti di divisione e le variabili di input.
2. Potatura degli alberi : il criterio di arresto migliora le prestazioni del tuo albero decisionale. Per renderlo ancora migliore, puoi provare a potare l'albero dopo aver appreso. Il numero di divisioni di un albero decisionale dice molto su quanto sia complesso. Tutti preferiscono alberi più semplici di altri. Non sovraccaricano i dati e sono facilmente decifrabili.
Il modo migliore per potare un albero è guardare ogni nodo fogliare e scoprire come rimuoverlo avrà un impatto sull'albero. La rimozione dei nodi foglia avviene quando questa azione garantisce un calo della funzione di costo. Quando pensi che non ci sia modo di migliorare ulteriormente le prestazioni, puoi interrompere questo processo di rimozione. I metodi di potatura che puoi utilizzare includono
3. Criterio di arresto : il metodo di divisione avido menzionato in precedenza deve avere un comando o una condizione di arresto per sapere quando fermarsi. Un criterio comune è prendere il numero di istanze che è stato assegnato a ogni nodo foglia. Se quel numero viene raggiunto, la divisione non avverrà e quel nodo sarà considerato l'ultimo.
Ad esempio, supponiamo che il criterio di arresto predefinito sia menzionato come cinque istanze. Questo numero dice anche molto sull'esattezza dell'albero in base ai dati di allenamento. Se è troppo preciso o esatto, si tradurrà in un overfitting, il che significa prestazioni scadenti.
Come evitare l'overfitting in un albero decisionale?
La maggior parte degli alberi decisionali è esposta a overfitting. Possiamo costruire un albero decisionale in grado di classificare i dati in modo ideale, oppure possiamo avere una situazione in cui non abbiamo alcun attributo per la divisione. Questo non funzionerà molto bene con il set di dati di test; tuttavia, si adatterebbe al set di dati di addestramento. Puoi seguire uno qualsiasi dei due approcci che menzioneremo per evitare questa situazione.

Puoi potare l'albero se è troppo grande o fermarne la crescita prima che raggiunga quello stato di sovraadattamento. Nella maggior parte dei casi, c'è un limite definito per controllare la crescita degli alberi che menziona la profondità, il numero di strati e altre cose che può avere. Il set di dati su cui l'albero deve essere addestrato sarà suddiviso in un set di dati di test e un set di dati di addestramento. Entrambi questi set di dati avranno la profondità massima sulla base del set di dati di addestramento e verranno testati rispetto al set di dati di test. Puoi anche usare la convalida incrociata insieme a questo approccio.
Quando scegli di potare l'albero, testa le edizioni potate dell'albero rispetto alla versione originale. Se l'albero potato fa meglio della sua versione quando si tratta di testare il set di dati di test, le foglie non saranno disponibili per l'albero finché questa situazione persiste.
Ulteriori informazioni su: Decision Tree in R
Vantaggi dell'approccio degli alberi decisionali
- Può essere utilizzato con dati continui e categoriali.
- Può fornire più output
- Può interpretare risultati precisi e puoi quantificare e fidarti dell'affidabilità degli alberi
- Con questo metodo, puoi esplorare i dati, trovare variabili importanti e trovare relazioni tra variabili diverse per rafforzare le variabili target e creare nuove funzionalità in molto meno tempo.
- È facile da capire e spiegare agli altri
- È utile per pulire i dati. Rispetto ad altri metodi, non ci vuole troppo tempo in quanto non vi è alcun impatto su valori mancanti e valori anomali dopo un certo punto
- L'efficienza e le prestazioni degli alberi decisionali non sono influenzate dalle relazioni non lineari tra le caratteristiche
- Non è necessario molto tempo per preparare i dati in quanto non è necessaria la sostituzione del valore mancante, la normalizzazione dei dati e altro ancora.
- È un approccio non parametrico. Non ha nulla a che fare con la progettazione e la disposizione degli spazi dei classificatori
Svantaggi degli alberi decisionali
- Alcuni utenti possono costruire alberi decisionali troppo complessi, anche per i propri gusti. Questi alberi non generalizzano i dati come fanno gli alberi più semplici.
- Gli alberi di parte vengono spesso creati a causa del dominio di alcune classi. Questo è il motivo per cui è molto importante bilanciare i dati del campione prima che vengano utilizzati
- A volte questi alberi non sono troppo stabili. Le variazioni dei dati possono comportare la creazione di un albero che non si adatta al conto. Questa anomalia è denominata varianza. Può essere affrontato utilizzando boosting e bagging.
- Non puoi aspettarti di ottenere il miglior albero decisionale con algoritmi avidi. Per eliminare questo problema, puoi addestrare più alberi.
Conclusione
Questo blog discute tutte le cose importanti che uno studente deve sapere sugli alberi decisionali. Dopo aver letto questo blog, avrai una migliore comprensione del concetto e sarai in una posizione migliore per implementarlo nella vita reale.
Se sei interessato a saperne di più sull'apprendimento automatico e sull'intelligenza artificiale, dai un'occhiata al Diploma PG di IIIT-B e upGrad in Machine Learning e AI, progettato per i professionisti che lavorano e offre oltre 450 ore di formazione rigorosa, oltre 30 casi di studio e incarichi, Status di Alumni IIIT-B, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.
A cosa serve l'algoritmo dell'albero decisionale?
Appartenenti alla famiglia degli algoritmi di apprendimento supervisionato, gli alberi decisionali sono uno degli algoritmi di classificazione più utilizzati. È molto facile da capire e da interpretare, il che spiega la sua popolarità. Gli alberi decisionali possono essere impiegati per sviluppare modelli di addestramento in grado di prevedere i valori delle variabili target sulla base di semplici istruzioni decisionali derivate da dati di addestramento storici. La cosa migliore dell'algoritmo degli alberi decisionali è che può essere utilizzato in modo efficiente per risolvere problemi di classificazione e regressione, a cui non possono essere applicati altri algoritmi di apprendimento supervisionato. È possibile utilizzare diversi tipi di alberi decisionali in base al tipo di variabile target.
Appartenenti alla famiglia degli algoritmi di apprendimento supervisionato, gli alberi decisionali sono uno degli algoritmi di classificazione più utilizzati. È molto facile da capire e da interpretare, il che spiega la sua popolarità. Gli alberi decisionali possono essere impiegati per sviluppare modelli di addestramento in grado di prevedere i valori delle variabili target sulla base di semplici istruzioni decisionali derivate da dati di addestramento storici. La cosa migliore dell'algoritmo degli alberi decisionali è che può essere utilizzato in modo efficiente per risolvere problemi di classificazione e regressione, a cui non possono essere applicati altri algoritmi di apprendimento supervisionato. È possibile utilizzare diversi tipi di alberi decisionali in base al tipo di variabile target.
Nell'IA, l'algoritmo degli alberi decisionali viene fornito con un'ampia gamma di applicazioni. Alcune delle applicazioni più interessanti degli alberi decisionali includono la valutazione delle potenziali opportunità di crescita per le aziende sulla base di dati storici. Per questo, i dati storici sulle vendite possono aiutare gli alberi decisionali a indicare possibili percorsi per un'ulteriore espansione e crescita del business. Gli alberi decisionali possono essere utilizzati anche per trovare potenziali clienti utilizzando le informazioni demografiche. Inoltre, le istituzioni finanziarie possono anche applicare alberi decisionali per creare modelli predittivi per la valutazione del merito creditizio dei clienti e degli inadempienti sui prestiti.
Quali altri algoritmi vengono utilizzati nell'Intelligenza Artificiale?
Gli algoritmi utilizzati nell'intelligenza artificiale possono essere classificati in tre parti: algoritmi di regressione, algoritmi di classificazione e algoritmi di clustering. Gli algoritmi di classificazione vengono utilizzati per classificare i set di dati in un modo particolare. Gli algoritmi di clustering vengono applicati a interi set di dati per trovare differenze e somiglianze tra punti dati specifici. Può essere utilizzato per indicare persone della stessa età tra un grande gruppo di clienti. Gli algoritmi di regressione sono utili per prevedere i risultati futuri in base ai dati di input. Ad esempio, gli algoritmi di regressione possono essere utilizzati per progettare modelli per la previsione del tempo.