Il concept drift (in italiano: deriva concettuale) è un fenomeno tipico dell'apprendimento automatico su flussi di dati (data stream) per il quale la distribuzione statistica sulla quale sono basati i dati e, di conseguenza, anche la relazione tra variabili osservate e variabile-obiettivo da predire, sono soggette a cambiamenti nel tempo in modo non stazionario.J. Lu, A. Liu, F. Dong, F. Gu, J. Gama, G. Zhang, “Learning under Concept Drift: A Review”, IEEE Transactions on Knowledge and Data Engineering, vol. 31, n. 12, pp. 2346–2363, 2019. DOI: 10.1109/TKDE.2018.2876857.F. Hinder, V. Vaquet, B. Hammer, “One or two things we know about concept drift – a survey on monitoring in evolving environments. Part A: detecting concept drift”, Frontiers in Artificial Intelligence, vol. 7, 1330257, 2024. DOI: 10.3389/frai.2024.1330257. Quando non viene opportunamente gestito, il concept drift può portare al degrado progressivo delle prestazioni di modelli predittivi già addestrati su dati non recenti.F. Bayram, B. S. Ahmed, A. Kassler, “From Concept Drift to Model Degradation: An Overview on Performance-Aware Drift Detectors”, arXiv, 2022. DOI: 10.48550/arXiv.2203.11070.

Definizione

In un problema di apprendimento supervisionato, si considera usualmente un insieme di variabili osservate (di input) e una variabile-obiettivo . Un concetto può essere identificato con la distribuzione congiunta o, in alternativa, con la distribuzione condizionata che il modello cerca di apprendere.S. Wang, S. Schlobach, M. Klein, “What Is Concept Drift and How to Measure It?”, in: P. Cimiano, H. S. Pinto (a cura di), Knowledge Engineering and Management by the Masses, EKAW 2010, Lecture Notes in Computer Science, vol. 6317, Springer, 2010. DOI: 10.1007/978-3-642-16438-5_17.

Il concept drift si verifica quando, per due istanti temporali successivi e , si ha:

oppure, in formulazioni più specifiche:

.

Varianti del fenomeno distinguono i cambiamenti nella distribuzione marginale (spesso chiamati covariate shift) dai cambiamenti veri e propri nella relazione tra e (concept shift). Wang, Schlobach e Klein hanno proposto una definizione basata su intensione, estensione ed etichetta del concetto (classe), introducendo anche le nozioni di stabilità e shift tra istanti temporali.

Origini del termine

Il termine "concept drift" è emerso nella letteratura sull'apprendimento automatico adattivo negli anni '90. Uno dei lavori fondativi sul tema è quello di Widmer e Kubat (1996), che hanno studiato algoritmi capaci di reagire a cambiamenti del concetto-obiettivo in presenza di contesti latenti.G. Widmer, M. Kubat, “Learning in the Presence of Concept Drift and Hidden Contexts”, Machine Learning, vol. 23, pp. 69–101, 1996. DOI: 10.1023/A:1018046501280.

Successivamente, il tema è stato sistematizzato in numerose rassegne e monografie, in particolare in ambito di data stream mining e apprendimento online. Il testo di João Gama Knowledge Discovery from Data Streams (2010) offre una trattazione organica dei problemi legati ai data stream e dedica ampio spazio al concetto di drift e alle strategie di adattamento al fenomeno.J. Gama, Knowledge Discovery from Data Streams, Chapman & Hall/CRC, 2010. DOI: 10.1201/EBK1439826119. La rassegna di Gama, Žliobaitė, Bifet, Pechenizkiy e Bouchachia (2014) è diventata un testo di riferimento standard per il problema dell'adattamento al drift e comprende definizione, tassonomia, algoritmi e metodologie di valutazione.J. Gama, I. Žliobaitė, A. Bifet, M. Pechenizkiy, A. Bouchachia, “A Survey on Concept Drift Adaptation”, ACM Computing Surveys, vol. 46, n. 4, art. 44, 2014. DOI: 10.1145/2523813.

Tipologie

La letteratura scientifica correlata distingue diverse tipologie di deriva concettuale, in base a velocità, modalità e struttura del cambiamento:

Drift improvviso (abrupt drift): il concetto cambia in modo brusco da uno stato a un altro; Drift graduale (gradual drift): la transizione tra concetti avviene in modo progressivo, con una fase di sovrapposizione; Drift ricorrente (recurring drift): concetti già osservati in passato riappaiono dopo un certo intervallo di tempo; Drift incrementale (incremental drift): il concetto evolve in piccoli passi successivi, spesso in una direzione coerente.

Bayram, Ahmed e Kassler (2022) hanno proposto una tassonomia basata sulle definizioni matematiche dei vari tipi di drift e mostrano come termini diversi siano talvolta usati per indicare lo stesso fenomeno. Hinder, Vaquet e Hammer (2024) hanno offerto definizioni formali precise e una tassonomia focalizzata sul caso non supervisionato. Inoltre, Gama et al. (2014) hanno discusso le differenze tra forme di drift reali, virtuali e indotte da cambiamenti di contesto.

Rilevamento

I metodi di drift detection mirano a individuare, in tempo reale o quasi, il momento in cui si verifica un cambiamento significativo della distribuzione dei dati o delle prestazioni del modello.

Si distinguono due grandi famiglie di metodi:

Metodi basati sulla distribuzione: monitorano statistiche campionarie (media, varianza, distribuzioni multivariate) o test di ipotesi per rilevare cambiamenti in o . Metodi basati sulle prestazioni (performance-aware): osservano il degrado di accuratezza / errore, AUC o altre metriche del modello predittivo utili a inferire la presenza di drift.

Tra i metodi classici si possono citare ADWIN, DDM (Drift Detection Method), EDDM e altre varianti basate su finestre scorrevoli e test statistici su sequenze. Hinder, Vaquet e Hammer (2024) hanno fornito una rassegna dettagliata dei metodi non supervisionati, con esperimenti standardizzati su dataset artificiali parametrici.

Una panoramica complessiva è stata offerta da Lu et al. (2019), che hanno passato in rassegna oltre 130 pubblicazioni e proposto un framework unificato basato su rilevamento, comprensione e adattamento al drift. Un quadro più orientato all'adattamento è stato fornito da Gama et al. (2014), in cui sono state analizzate sistematicamente le strategie di adattamento e le relative metodologie di valutazione.

Adattamento

Una volta rilevato il drift, occorrono strategie di adattamento utili a mantenere o ripristinare il livello delle prestazioni del modello. Le principali linee di intervento sono:

Ri-addestramento: aggiornare il modello su una finestra recente di dati, scartando o pesando meno i dati vecchi. Apprendimento online: algoritmi che aggiornano i parametri ad ogni nuova istanza (ad es. SGD, percettrone online, Naïve Bayes incrementale). Ensemble adattivi: combinare più modelli, ciascuno addestrato su diverse finestre temporali o con diversi pesi, e adattare i pesi in base alle prestazioni recenti (ad es. Weighted Majority, Adaptive Random Forest). Cambiamento di rappresentazione: modificare le feature o la rappresentazione dei dati per catturare meglio il nuovo concetto.

Lu et al. (2019) hanno strutturato queste metodologie in un frameweork che comprende drift detection, drift understanding e drift adaptation, sottolineando che le strategie di adattamento devono essere coerenti con il tipo di drift rilevato e con il meccanismo di rilevamento utilizzato. Gama et al. (2014) hanno classificano le strategie di adattamento in termini di uso di finestre, meccanismi di pesatura, ensemble, e approcci basati su meta-apprendimento.

Dataset e benchmark

Per valutare algoritmi in presenza di concept drift, sono stati proposti sia dataset sintetici sia benchmark basati su problemi reali:

Dataset sintetici: permettono di controllare tipo, velocità e movimento del drift (ad es. rotazione dei confini di decisione, cambiamento di parametri di distribuzioni gaussiane). Dataset reali: flussi di dati provenienti da sensori, transazioni finanziarie, log del traffico di rete, social media, ecc., in cui il drift è implicito e non supervisionato.

Lu et al. hanno fornito un elenco di 10 dataset sintetici comuni e 14 dataset pubblici usati come benchmark per metodi correlati al problema. Inoltre, Gama (2010) ha descritto casi di studio reali su traffico TCP/IP, dati GPS, reti di sensori e click-stream, evidenziando come il concept drift sia pervasivo in tali scenari.

Domini applicativi

Il concept drift è un fenomeno di rilievo in tutti i domini in cui i dati sono generati in modo continuo e il contesto non è stazionario:

Rilevamento di anomalie e monitoraggio industriale: cambiamenti nei segnali provenienti da sensori possono indicare guasti o anomalie; il drift deve essere discriminato da veri eventi critici. Sicurezza informatica: pattern di attacco e traffico di rete evolvono nel tempo; i modelli di intrusion detection devono adattarsi per evitare l'obsolescenza. Finanza e trading algoritmico: relazioni tra variabili di mercato cambiano con l'evoluzione delle condizioni macroeconomiche e delle regolamentazioni. Sanità digitale: modelli predittivi per dati clinici devono adattarsi a cambiamenti nelle pratiche mediche, nella popolazione dei pazienti o nei protocolli.

Note

Voci correlate

Apprendimento d'insieme Apprendimento online

Categoria:Apprendimento automatico Categoria:Intelligenza artificiale Categoria:Data mining Categoria:Distribuzioni di probabilità