Random Forest Flashcards

1
Q

Cos’è l’ensemble learning?

A

L’ensemble learning, o apprendimento ensemble, è una tecnica di apprendimento automatico in cui diversi modelli sono combinati insieme per migliorare le prestazioni predittive e la robustezza complessiva del sistema. L’idea principale dell’ensemble learning è che la combinazione di più modelli, ciascuno con le sue debolezze e forze, può portare a risultati migliori rispetto all’utilizzo di un singolo modello.

VOTING

Nell’ensemble learning, i modelli che vengono combinati sono spesso chiamati “learner” o “base learner”, e possono essere di diversi tipi, ad esempio decision tree, reti neurali, regressori lineari, classificatori SVM, etc. Ci sono principalmente due approcci per l’ensemble learning:

Bagging (Bootstrap Aggregating): In questa tecnica, si creano diverse copie del modello di base addestrandole su differenti subset casuali dei dati di addestramento, utilizzando un processo chiamato "bootstrap". Ogni modello individuale produce una previsione indipendente, e la previsione finale viene ottenuta combinando le previsioni di tutti i modelli attraverso una media (per la regressione) o una votazione (per la classificazione).

Boosting: In questo approccio, i modelli di base vengono addestrati in sequenza, con ciascun modello che cerca di correggere gli errori commessi dai modelli precedenti. Ad ogni iterazione, viene assegnato un peso maggiore agli esempi di addestramento che sono stati classificati erroneamente in precedenza. La previsione finale viene ottenuta combinando le previsioni di tutti i modelli di base attraverso una combinazione ponderata.

Hard voting: si classifica basandosi sulla maggioranza tra le classificazioni dei singoli predittori;
* Soft voting: si effettua una media pesata tra le classificazioni dei singoli predittori.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cos’è il random patches?

A

Il termine “Random Patches” si riferisce a una tecnica di ensemble learning che combina l’idea del bagging con la variazione delle caratteristiche dell’input. È utilizzato principalmente con i classificatori basati su alberi decisionali come i Random Forest.

Nella tecnica dei Random Patches, vengono creati diversi subset casuali dei dati di addestramento, selezionando sia casualmente le istanze che casualmente le caratteristiche (attributi). Questa combinazione di selezione casuale di istanze e attributi consente di creare diversi modelli di base con una variazione nei dati di addestramento e nelle caratteristiche utilizzate per la previsione.

Durante il processo di addestramento, ogni modello di base viene addestrato utilizzando uno dei subset casuali creati. La previsione finale viene quindi ottenuta combinando le previsioni di tutti i modelli di base attraverso una votazione per la classificazione o una media per la regressione.

L’obiettivo dei Random Patches è quello di introdurre maggiore diversità tra i modelli di base, rendendo l’ensemble più robusto e in grado di affrontare situazioni in cui ci sono caratteristiche rilevanti che potrebbero non essere presenti in tutti i subset dei dati di addestramento. Inoltre, la variazione nelle caratteristiche selezionate può contribuire a ridurre il fenomeno di overfitting.

L’utilizzo dei Random Patches può portare a una maggiore accuratezza predittiva rispetto all’utilizzo di un singolo modello, poiché i modelli di base combinano le proprie decisioni attraverso una votazione o una media. Questa tecnica è particolarmente utile quando si lavora con dataset di grandi dimensioni o con un elevato numero di attributi, in cui la variazione dei dati e delle caratteristiche può essere vantaggiosa per il processo di apprendimento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cos’è una random forest?

A

Una Random Forest è un insieme di alberi di decisione

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cos’è l’Extremely Randomized Trees Ensemble?

A

L’Extremely Randomized Trees Ensemble (ERT) è una variante dell’algoritmo di ensemble learning basato su alberi decisionali chiamato Random Forest. È stato introdotto per aumentare la diversità e la casualità all’interno dei modelli di base.

Nell’ERT, al contrario del Random Forest tradizionale, la selezione delle divisioni dei nodi nell’albero decisionale avviene in modo ancora più casuale. Mentre nel Random Forest standard ogni albero viene addestrato utilizzando un sottoinsieme casuale delle caratteristiche (attributi), nell’ERT si selezionano in modo casuale anche i punti di divisione per ogni attributo candidato, senza considerare il valore ottimale di separazione.

Ciò significa che l’ERT fa affidamento su una selezione casuale di punti di divisione per ogni attributo candidato, invece di cercare il valore di separazione ottimale come nel Random Forest. Questa ulteriore casualità nella selezione delle divisioni rende gli alberi decisionali ancora più indipendenti e contribuisce a aumentare la diversità tra i modelli di base.

L’idea alla base dell’ERT è che l’introduzione di una maggiore casualità nelle divisioni dei nodi può portare a una migliore robustezza e generalizzazione dell’ensemble. Sebbene ciò possa portare a un aumento della variabilità delle prestazioni tra i diversi alberi dell’ensemble, in alcuni casi può migliorare l’accuratezza predittiva complessiva.

L’ERT ha dimostrato di essere particolarmente efficace in situazioni in cui il rumore o l’incertezza nei dati possono influire negativamente sulle prestazioni dei modelli di ensemble standard. Inoltre, l’ERT può essere computazionalmente più efficiente rispetto al Random Forest tradizionale, poiché richiede meno calcoli per determinare le divisioni ottimali dei nodi.

In sintesi, l’Extremely Randomized Trees Ensemble (ERT) è un algoritmo di ensemble learning che introduce una maggiore casualità nella selezione delle divisioni dei nodi nell’albero decisionale rispetto al Random Forest tradizionale. Questo contribuisce a migliorare la diversità e la robustezza dell’ensemble, rendendolo adatto a situazioni con rumore o incertezza nei dati.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quali sono i metodi più importanti del boosting?

A

I metodi più importanti sono:
* AdaBoost
per creare un classificatore AdaBoost abbiamo le seguenti fasi:
1. Viene addestrato e utilizzato un classificatore di base (come un albero decisionale) per fare
previsioni sul set di training.
2. Il peso relativo delle istanze di addestramento classificate erroneamente viene quindi aumentato.
3. Un secondo classificatore viene addestrato utilizzando i pesi aggiornati e di nuovo fa previsioni sul set di training, i pesi vengono aggiornati e così via.
Questo metodo è simile al Gradient Descent, con la differenza che in questo caso si aggiungono predittori all’insieme migliorati gradualmente, mentre in quel caso si modificano i parametri di un predittore per migliorarne i risultati

  • Gradient Boosting
    Il gradient boosting è una tecnica di apprendimento automatico che si basa sull’ensemble learning, in cui diversi modelli deboli (solitamente alberi decisionali) vengono combinati insieme per creare un modello più potente e predittivo. A differenza dell’approccio del bagging (come Random Forest) in cui i modelli di base vengono addestrati in modo indipendente, il gradient boosting addestra i modelli di base in sequenza in modo che ciascun modello corregga gli errori commessi dai modelli precedenti.

Il processo di gradient boosting comporta diverse fasi:

Inizializzazione: Si inizia addestrando un modello di base, solitamente un albero decisionale, sul set di addestramento.

Calcolo degli errori residui: Viene calcolato l'errore residuo tra le previsioni del modello corrente e i valori effettivi del set di addestramento.

Addestramento dei modelli successivi: Vengono addestrati ulteriori modelli di base, dove l'obiettivo è minimizzare gli errori residui. Durante il processo di addestramento, si assegna un peso maggiore agli esempi di addestramento che sono stati previsti erroneamente dal modello precedente, in modo da concentrarsi sulle istanze più difficili.

Aggiornamento dei pesi: Le previsioni dei modelli di base vengono combinate in modo ponderato per ottenere la previsione finale. Durante questo processo, i pesi dei modelli di base possono essere aggiornati per dare più importanza a quelli che hanno prestazioni migliori.

Iterazione: Le fasi 2-4 vengono ripetute fino a quando non viene raggiunto un criterio di arresto predefinito, come un numero massimo di modelli di base o un miglioramento minimo delle prestazioni.

L’obiettivo principale del gradient boosting è minimizzare una funzione di costo, utilizzando tecniche di ottimizzazione basate sul gradiente per trovare i pesi ottimali dei modelli di base. Ciò consente di creare un modello finale che sia in grado di fornire previsioni più accurate rispetto ai modelli di base singoli.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cos’è lo stacking?

A

Lo stacking è una tecnica di ensemble learning dove al posto di utilizzare una tecnica voting per decidere il risultato finale, gli output di ogni modello vengono passati come input ad un ultimo modello chiamato Blender che dà il risultato finale.

Per allenare il blender:
-Si divide il training set in 2 sottoinsiemi
-Il primo sottoinsieme è usato per allenare i modelli nel primo layer
-Questi predittori vengono utilizzati per fare previsioni sul 2° sottoinsieme
-I valori predetti vengono usati come training set come caratteristiche di input
-Il blender succesivamente viene allenato su questo set

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Out-Of-Bag

A

L’out-of-bag (OOB) è un concetto associato all’algoritmo di apprendimento automatico chiamato “Bagging” (Bootstrap Aggregating), spesso utilizzato con alberi decisionali o altri modelli di apprendimento. Il Bagging è una tecnica che mira a migliorare la stabilità e le prestazioni dei modelli riducendo l’overfitting.

L’out-of-bag (OOB) è un set di dati creato all’interno del processo di Bagging. Quando si utilizza il Bagging, si costruiscono diversi modelli (come alberi decisionali) su campioni di dati generati tramite il campionamento bootstrap (cioè campionamento con sostituzione) dal set di dati di addestramento originale. Poiché il campionamento è con sostituzione, alcuni campioni possono essere inclusi più volte, mentre altri possono essere esclusi.

L’out-of-bag (OOB) è costituito dai campioni che non sono stati inclusi nel campionamento bootstrap per la costruzione di ciascun modello. In altre parole, per ciascun modello creato, esiste un insieme di campioni che non sono mai stati visti da quel modello durante il suo addestramento. Questi campioni OOB vengono utilizzati per valutare le prestazioni del modello.

Poiché questi campioni OOB non sono stati utilizzati nell’addestramento del modello, possono essere considerati una sorta di “test set interno”. È possibile utilizzare i campioni OOB per valutare il modello, calcolare le misure di valutazione delle prestazioni (come l’accuratezza) e ottenere una stima della capacità del modello di generalizzare bene su dati non visti.

In sostanza, l’out-of-bag (OOB) fornisce una valutazione delle prestazioni “integrata” mentre si costruisce il modello utilizzando la tecnica del Bagging, eliminando la necessità di avere un set di dati di test separato.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly