Nell'ambito dell'apprendimento automatico la classificazione a cascata (o cascading) è una tecnica avanzata di apprendimento d'insieme supervisionato in cui diversi modelli, chiamati classificatori o base learner, sono strutturati in una sequenza gerarchica o lineare.
A differenza di altre tecniche ensemble come il bagging (ad es. random forest) o il boosting (ad es. gradient boosting), che combinano i risultati di modelli operanti in parallelo o pesati sequenzialmente su tutto il dataset, il cascading introduce un meccanismo di filtraggio progressivo dei dati. L'obiettivo principale è ottimizzare il compromesso tra l'accuratezza predittiva e l'efficienza computazionale.
Il cascading trova largo impiego in domini in cui il flusso di dati è massivo e la tempestività della risposta è critica. Nella computer vision (e, in particolare, nella face detection) l'algoritmo di Viola-Jones utilizza una cascata di classificatori deboli basati su feature Haar-like per scartare rapidamente le aree dell'immagine che non contengono volti. In ambito di sicurezza informatica, trova applicazione nel rilevamento delle frodi bancarie: modelli ultra-rapidi scartano la maggior parte delle transazioni chiaramente legittime, lasciando l'analisi approfondita dei casi restanti a modelli di deep learning. Inoltre, nei sistemi di rilevamento delle intrusioni, il filtraggio del traffico di rete permette di bloccare subito minacce evidenti prima di analizzare i pacchetti più ambigui.
Funzionamento
Il nucleo della tecnica del cascading risiede nell'idea che non tutti gli esempi all'interno di un dataset richiedano la stessa complessità computazionale per essere classificati correttamente. Molti casi sono "facili" e possono essere risolti da modelli leggeri, mentre solo una frazione di casi "difficili" richiede l'intervento di modelli complessi e costosi.
Il processo si articola nelle seguenti fasi: Fase iniziale (i = 1): il primo classificatore della cascata, generalmente un modello molto semplice e veloce (come un albero di decisione poco profondo o un regressore logistico) analizza l'intero input. Meccanismo di soglia (confidence score): se il modello esprime un livello di confidenza (probabilità) superiore a una soglia prestabilita (θi), l'istanza viene classificata e il processo si interrompe. Passaggio al livello successivo: se la confidenza è inferiore a θi (caso ambiguo o difficile), l'istanza viene passata al successivo classificatore della cascata, tipicamente più complesso del precedente. Iterazione e terminazione: il processo continua sequenzialmente (i = i+1). Si noti che l'ultimo classificatore della catena, il più potente e computazionalmente oneroso (ad es. una rete neurale profonda o un modello di gradient boosting), elabora solo il sottoinsieme residuo di dati che nessun modello precedente è riuscito a classificare con sufficiente sicurezza. Riassumendo, rispetto alle altre tecniche ensemble, il cascading è caratterizzato da una disposizione sequenziale (gerarchica) dei modelli base, da un flusso di dati che è breve per esempi facili e più lungo per esempi più difficili da classificare, da un duplice obiettivo ossia quello di migliorare sia l'accuratezza della classificazione sia l'efficienza del processo.
Vantaggi e svantaggi Si registrano i seguenti vantaggi dall'adozione di modelli a cascata
Efficienza computazionale in fase di inferenza: si riduce drasticamente il tempo di calcolo complessivo, poiché la maggior parte dei dati viene gestita dai primi livelli della cascata. Flessibilità: permette di combinare algoritmi di natura completamente diversa (eterogenei). Idoneità verso sistemi embedded e real-time: indicato per contesti con risorse hardware limitate (ad es. smartphone, dispositivi IoT) dove l'algoritmo complesso viene attivato solo se strettamente necessario.
Fra gli svantaggi dei modelli a cascata si possono indicare
Complessità di addestramento: occorre tarare le soglie di confidenza (θ) ottimali per ogni livello richiede una convalida incrociata accurata. Potenziale propagazione dell'errore: se un modello iniziale classifica erroneamente un'istanza con alta confidenza (un "falso sicuro"), l'errore non potrà più essere corretto dai livelli successivi.
Note
Categoria:Algoritmi di classificazione Categoria:Apprendimento automatico