Random Forest è un algoritmo di machine learning comunemente utilizzato, creato da Leo Breiman e Adele Cutler, che combina l'output di più strutture ad albero decisionali per raggiungere un unico risultato. La facilità d'uso e la flessibilità ne hanno favorito l'adozione, in quanto gestisce sia i problemi di classificazione che quelli di regressione.
Poiché il modello Random Forest è costituito da più strutture ad albero decisionali, sarebbe utile iniziare descrivendo brevemente l'algoritmo della struttura ad albero decisionale. Le strutture ad albero decisionali iniziano con una domanda di base, come, ad esempio, "Dovrei fare surf?" Da lì, puoi porre una serie di domande per determinare una risposta, ad esempio, "L'onda lunga durerà per molto tempo?" o "Sta soffiando il vento verso il mare?". Queste domande formano i nodi decisionali nella struttura e rappresentano un mezzo per suddividere i dati. Ogni domanda aiuta un individuo ad arrivare a una decisione finale, che viene indicata dal nodo foglia. Le osservazioni che soddisfano i criteri seguiranno il ramo "Sì" e quelle che non lo fanno seguiranno il percorso alternativo. Le strutture ad albero decisionali cercano di trovare il modo migliore per suddividere i dati e sono in genere addestrate attraverso l'algoritmo CART (Classification and Regression Tree). È possibile utilizzare metriche, come l'impurità di Gini, il guadagno di informazioni o l'errore quadratico medio (mean square error, MSE) per valutare la qualità della suddivisione.
Questa struttura ad albero decisionale è un esempio di un problema di classificazione, dove le etichette di classe sono "surf" e "non surf".
Nonostante le strutture ad albero decisionali siano algoritmi di apprendimento supervisionato comuni, possono essere soggette a problemi, quali distorsione (bias) e overfitting. Tuttavia, quando più strutture ad albero decisionali formano un insieme nell'algoritmo Random Forest, prevedono risultati più accurati, in particolare quando le singole strutture ad albero non sono correlate tra loro.
I metodi di apprendimento di insieme sono costituiti da una serie di classificatori, ad esempio, strutture ad albero decisionali, e le loro previsioni vengono aggregate per identificare il risultato più diffuso. I metodi di insieme più noti sono il bagging, noto anche come aggregazione bootstrap, e il boosting. Nel 1996, Leo Breiman (link esterno a ibm.com) (PDF, 810 KB) ha introdotto il metodo di bagging: in questo metodo, un campione casuale di dati in un set di addestramento viene selezionato con sostituzione, il che significa che i singoli punti di dati possono essere scelti più di una volta. Una volta generati diversi campioni di dati, questi modelli vengono addestrati in modo indipendente e, a seconda del tipo di attività (regressione o classificazione), la media o la maggioranza di queste previsioni produce una stima più accurata. Questo approccio viene comunemente utilizzato per ridurre la varianza all'interno di un set di dati rumoroso.
L'algoritmo Random Forest è un'estensione del metodo di bagging in quanto utilizza sia il bagging che la casualità delle caratteristiche per creare una foresta non correlata di strutture ad albero decisionali. La casualità delle caratteristiche, nota anche come bagging delle caratteristiche o "metodo del sottospazio casuale" (link esterno a ibm.com) (PDF, 121 KB), genera un sottoinsieme casuale di caratteristiche, che garantisce una bassa correlazione tra le strutture ad albero decisionali. Si tratta di una differenza fondamentale tra strutture ad albero decisionali e Random Forest. Mentre le strutture ad albero decisionali considerano tutte le possibili suddivisioni delle caratteristiche, gli algoritmi Random Forest selezionano solo un sottoinsieme di queste caratteristiche.
Se torniamo all'esempio "dovrei fare surf?", le domande che posso porre per determinare la previsione potrebbero non essere così complete come le serie di domande di un altro individuo. Tenendo conto di tutta la potenziale variabilità dei dati, possiamo ridurre il rischio di overfitting, distorsione (bias) e varianza complessiva, ottenendo previsioni più precise.
SPSS Modeler
Gli algoritmi Random Forest hanno tre iperparametri principali, che devono essere impostati prima dell'addestramento. Questi iperparametri includono la dimensione dei nodi, il numero di strutture ad albero e il numero di caratteristiche campionate. Da lì, il classificatore Random Forest può essere utilizzato per risolvere problemi di regressione o classificazione.
L'algoritmo Random Forest è costituito da una serie di strutture ad albero decisionali e ogni struttura ad albero è un insieme composto da un campione di dati tratto da un set di addestramento con sostituzione, chiamato esempio di bootstrap. Di questo campione di addestramento, un terzo è messo da parte come dati di test, noto come campione oob (out-of-bag), su cui torneremo più avanti. Un'altra istanza di casualità viene poi inserita attraverso il bagging delle caratteristiche, aggiungendo maggiore diversità al set di dati e riducendo la correlazione tra le strutture ad albero decisionali. A seconda del tipo di problema, la determinazione della previsione potrà variare. Per un'attività di regressione, sarà calcolata la media delle singole strutture ad albero decisionali, e per un attività di classificazione, un voto di maggioranza - ossia la variabile categoriale più frequente - produrrà la classe prevista. Infine, il campione oob viene poi utilizzato per la convalida incrociata, finalizzando tale previsione.
Esistono una serie di vantaggi e difficoltà fondamentali che l'algoritmo Random Forest presenta quando viene utilizzato per problemi di classificazione o regressione. Tra queste, vi sono:
L'algoritmo Random Forest è stato applicato in diversi settori, consentendo di prendere decisioni di business migliori. Alcuni casi di utilizzo includono:
SPSS Modeler offre servizi di analytics predittiva per aiutarti a scoprire correlazioni tra i dati, ottenere accuratezza predittiva e migliorare il processo decisionale.
Scopri come le organizzazioni di tutto il mondo utilizzano SPSS Modeler per la preparazione e il rilevamento dei dati, l'analytics predittiva, la gestione e l'implementazione dei modelli e l'ML per monetizzare gli asset di dati.
Scopri in che modo una rete neurale attentamente progettata con una struttura Random Forest può avere una migliore capacità di generalizzazione.