Che cos'è la foresta casuale?

Dipendenti dell'azienda che lavorano nell'ufficio di sviluppo e progettazione software

Che cos'è la foresta casuale?

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.

Processi decisionali

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.

Metodi d'insieme

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.

Algoritmo di foresta casuale

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.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Come funziona

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.

Vantaggi e sfide della foresta casuale

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:

Vantaggi chiave

  • Rischio ridotto di overfitting: gli alberi decisionali corrono il rischio di overfitting in quanto tendono a inserire perfettamente tutti i campioni all'interno dei dati di addestramento. Tuttavia, quando è presente un numero elevato di alberi decisionali in una foresta casuale, il classificatore non sovraadatta il modello perché la media degli alberi non correlati riduce la varianza complessiva e l'errore di previsione.
  • Offre flessibilità: poiché la foresta casuale è in grado di gestire sia le attività di regression sia quelle di classificazione con un alto grado di precisione, è un metodo popolare tra i data scientist. Il feature bagging rende inoltre il classificatore della foresta casuale uno strumento efficace per stimare i valori mancanti in quanto mantiene la precisione quando manca una parte dei dati.
  • Facilità nel determinare l'importanza delle funzionalità: la foresta casuale semplifica la valutazione dell'importanza variabile, o del contributo, al modello. Esistono alcuni modi per valutare l'importanza delle funzionalità. L'importanza di Gini e la diminuzione media delle impurità (MDI) sono solitamente utilizzate per misurare quanto l'accuratezza del modello diminuisce quando una determinata variabile viene esclusa. Tuttavia, l'importanza della permutazione, nota anche come accuratezza della diminuzione media (MDA), è un'altra misura di importanza. L'MDA identifica la diminuzione media dell'accuratezza permutando in modo casuale i valori delle caratteristiche nei campioni oob.

Sfide principali

  • Processo dispendioso in termini di tempo: poiché gli algoritmi foresta casuale sono in grado di gestire set di dati di grandi dimensioni, possono fornire previsioni più accurate, ma possono essere lenti nell'elaborazione dei dati poiché li elaborano per ogni singolo decision tree.
  • Più risorse necessarie: poiché le foreste casuali elaborano set di dati più grandi, richiederanno più risorse per memorizzarli.
  • Più complesso: la previsione di un singolo albero decisionale è più facile da interpretare rispetto a una loro foresta.
Mixture of Experts | 28 agosto, episodio 70

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Applicazioni della foresta casuale

L'algoritmo della foresta casuale è stato applicato in diversi settori, consentendo loro di prendere decisioni aziendali migliori. Alcuni casi d'uso includono:

  • Finanza: Questo algoritmo viene preferito rispetto ad altri perché riduce il tempo dedicato alla gestione dei dati e alle attività di pre-elaborazione. Può essere utilizzato per valutare i clienti ad alto rischio di credito, per rilevare le frodi e individuare i problemi relativi ai prezzi delle opzioni.
  • Sanità: l'algoritmo random forest ha applicazioni nell'ambito della biologia computazionale (link esterno a ibm.com), consentendo ai medici di affrontare problemi come la classificazione dell'espressione genica, la scoperta di biomarcatori e l'annotazione delle sequenze. Di conseguenza, i medici possono effettuare stime sulla reazione a specifici medicinali.
  • E-commerce: può essere utilizzato per i motori di raccomandazione per scopi di cross-selling.
Soluzioni correlate
IBM watsonx.ai

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.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

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.

Esplora le soluzioni AI
Consulenza e servizi sull'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.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live