La foresta casuale è un algoritmo di apprendimento automatico di uso comune, registrato da Leo Breiman e Adele Cutler, che combina l'output di più decision trees per raggiungere un unico risultato. La sua facilità d'uso e la sua flessibilità ne hanno favorito l'adozione, in quanto gestisce sia i problemi di classificazione che quelli di regressione.
Poiché il modello "random forest" è composto da più decision tree, potrebbe essere utile descrivere brevemente l'algoritmo del decision tree. I decision tree iniziano con una domanda di base, come ad esempio: "Dovrei fare surf?" Si possono quindi porre delle domande per determinare una risposta, ad esempio: "Le onde sono lunghe?" o "Il vento soffia al largo?". Queste domande costituiscono i nodi decisionali dell'albero, che servono a suddividere i dati. Ogni domanda aiuta l'individuo a prendere una decisione finale, indicata dal nodo foglia. Le osservazioni che soddisfano i criteri seguiranno il ramo "Sì", mentre quelle che non lo soddisfano seguiranno il percorso alternativo. I decision tree cercano di trovare la migliore suddivisione dei dati e sono in genere addestrati attraverso l'algoritmo Classification and Regression Tree (CART). Per valutare la qualità della suddivisione, si possono utilizzare metriche come l'impurità di Gini, l'information gain o l'errore quadratico medio (MSE).
Questo decision tree è un esempio di problema di classificazione, in cui le etichette delle classi sono "surf" e "don't surf".
Mentre i decision trees sono comuni algoritmi di apprendimento supervisionato, possono essere soggetti a problemi, come distorsioni e sovradattamento. Tuttavia, quando più decision trees formano un insieme nell'algoritmo foresta casuale, prevedono risultati più precisi, in particolare quando i singoli alberi non sono correlati tra loro.
I metodi di apprendimento d'insieme sono costituiti da un insieme di classificatori, ad esempio i decision tree, e le relative previsioni vengono aggregate per individuare il risultato più diffuso. I metodi d'insieme più noti sono il bagging, noto anche come aggregazione bootstrap, e il boosting. Nel 1996, Leo Breiman(link esterno a ibm.com) ha introdotto il metodo del 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 dati possono essere scelti più di una volta. Dopo avere generato 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 maggior parte di tali previsioni producono una stima più accurata. Questo approccio è comunemente usato 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, sia la casualità delle funzioni per creare una foresta non correlata di decision tree. La feature randomness, nota anche come feature bagging o "metodo del subspazio casuale" (link esterno a ibm.com), genera un sottoinsieme casuale di caratteristiche, garantendo una bassa correlazione tra decision tree. Questa è una differenza fondamentale tra decision tree e random forest. Mentre i decision tree considerano tutte le possibili suddivisioni delle funzioni, le random forest selezionano solo un sottoinsieme di tali funzioni.
Se torniamo all'esempio "dovrei fare surf?", le domande che potrei porre per determinare la previsione potrebbero non essere così complete come l'insieme di domande di un'altra persona. Tenendo conto di tutta la potenziale variabilità dei dati, possiamo ridurre il rischio di overfitting, bias e varianza complessiva, ottenendo previsioni più precise.
Gli algoritmi delle foreste casuali hanno tre iperparametri principali, che devono essere impostati prima dell'addestramento. Tra questi rientrano la dimensione del nodo, il numero di alberi e il numero di funzioni campionate. Da lì, il classificatore della foresta casuale può essere utilizzato per risolvere problemi di regression o classificazione.
L'algoritmo foresta casuale è costituito da una raccolta di decision trees e ogni albero dell'insieme è composto da un campione di dati tratto da un set di addestramento con sostituzione, chiamato Bootstrapping. Di quel campione di allenamento, un terzo viene accantonato come dati di test, noti come campione out-of-bag (oob), su cui torneremo più avanti. Un altro esempio di casualità viene poi immesso attraverso il feature bagging, aggiungendo maggiore diversità al set di dati e riducendo la correlazione tra decision trees. A seconda del tipo di problema, la determinazione della previsione varierà. Per un'attività di regressione, verrà calcolata la media dei singoli decision trees e per un'attività di classificazione, un voto di maggioranza (ovvero la variabile categorica più frequente) produrrà la classe prevista. Infine, il campione oob viene quindi utilizzato per la convalida incrociata, finalizzando tale previsione.
Ci sono tanti vantaggi e sfide chiave che l'algoritmo della foresta casuale presenta quando viene utilizzato per problemi di classificazione o regression. Alcuni di questi includono:
L'algoritmo della foresta casuale è stato applicato in diversi settori, consentendo loro di prendere decisioni aziendali migliori. Alcuni casi d'uso includono:
Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.
Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.
Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.