Cos'è Random Forest?

Pubblicato il 20 ottobre 2021
A futuristic digital representation showcasing vibrant streams of data flowing into a grid-like structure. The setting is minimalistic and tech-oriented, with a dark background emphasizing the glowing visuals. The image conveys themes of data processing, analytics, and technology innovation.
By Eda Kavlakoglu

Cos'è Random Forest?

Random Forest è 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 tree sono comuni algoritmi di apprendimento supervisionato, possono essere soggetti a problemi, come distorsioni e sovradattamento. Tuttavia, quando più decision tree formano un insieme nell’algoritmo random forest, 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 strutture ad albero decisionali) e le relative previsioni vengono aggregate per individuare il risultato più popolare. I metodi di ensemble più noti sono il bagging, noto anche come aggregazione bootstrap, e il boosting.

Nel 1996, Leo Breiman 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 Random Forest

L’algoritmo “random forest” è un’estensione del metodo di bagging, in quanto utilizza sia il bagging, sia la casualità delle caratteristiche per creare una foresta non correlata di alberi decisionali.

La feature randomness, nota anche come feature bagging o “metodo del subspazio casuale“ genera un sottoinsieme casuale di caratteristiche, garantendo una bassa correlazione tra gli alberi decisionali.

Questa è una differenza fondamentale tra albero decisionale e random forest. Mentre gli alberi decisionali considerano tutte le possibili suddivisioni delle caratteristiche, i random forest selezionano solo un sottoinsieme di tali caratteristiche.

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.

Come funziona l'algoritmo di Random Forest?

Gli algoritmi di random forest 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 del random forest può essere utilizzato per risolvere problemi di regression o classificazione.

L’algoritmo random forest è 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.

Diagramma Random Forest

Vantaggi e sfide del Random Forest

Ci sono tanti vantaggi e sfide chiave che l’algoritmo di random forest presenta quando viene utilizzato per problemi di classificazione o regression. Alcuni di questi includono:

Benefici 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 un random forest, 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é il random forest è 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 del random forest 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à: il random forest 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 di random forest 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é i random forest 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.
AI Academy

AI all'opera nell'ambito del servizio clienti

Scopri come l'AI generativa può offrire ai clienti un'esperienza più fluida e aumentare la produttività dell'organizzazione in queste tre aree chiave: self-service, agenti umani e operazioni di contact center.

Applicazioni del Random Forest

L’algoritmo di random forest è 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.

  • Assistenza sanitaria: l’algoritmo di random forest ha applicazioni nell’ambito della biologia computazionale e consente 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.

Autore

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

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.

  1. Esplora watsonx.ai
  2. Prenota una demo live