Come fa l'intelligenza artificiale a rilevare le anomalie?

Come fa l'intelligenza artificiale a rilevare le anomalie?

Il rilevamento delle anomalie è l'eroe silenzioso delle operazioni sui dati: l'allarme antincendio che sussurra prima che le cose prendano fuoco.

In parole semplici: l'IA impara cosa significa "più o meno normale", assegna un punteggio di anomaliae poi decide se contattare un essere umano (o bloccare automaticamente l'evento) in base a una soglia. Il problema sta nel modo in cui si definisce "più o meno normale" quando i dati sono stagionali, disordinati, variabili e a volte ingannevoli. [1]

Articoli che potrebbero interessarti dopo questo:

🔗 Perché l'IA può essere dannosa per la società:
esamina i rischi etici, economici e sociali derivanti da un'adozione diffusa dell'IA.

🔗 Quanta acqua consumano effettivamente i sistemi di intelligenza artificiale?
Spiega il raffreddamento dei data center, le esigenze di addestramento e l'impatto ambientale sul consumo idrico.

🔗 Cos'è un dataset per l'IA e perché è importante
Definisce i dataset, l'etichettatura, le fonti e il loro ruolo nelle prestazioni del modello.

🔗 Come l'IA prevede le tendenze a partire da dati complessi.
Tratta il riconoscimento di modelli, i modelli di apprendimento automatico e le applicazioni pratiche di previsione.


"Come fa l'intelligenza artificiale a rilevare le anomalie?" 

Una buona risposta dovrebbe fare più che elencare gli algoritmi. Dovrebbe spiegarne i meccanismi e come si presentano quando vengono applicati a dati reali e imperfetti. Le spiegazioni migliori:

  • Mostra gli ingredienti di base: caratteristiche, linee di base, punteggie soglie. [1]

  • Famiglie pratiche di contrasto: distanza, densità, una classe, isolamento, probabilistico, ricostruzione. [1]

  • Gestire le stranezze delle serie temporali: “normale” dipende dall’ora del giorno, dal giorno della settimana, dalle uscite e dalle festività. [1]

  • Trattare la valutazione come un vero vincolo: i falsi allarmi non sono solo fastidiosi, ma bruciano la fiducia. [4]

  • Includere l’interpretabilità + l’intervento umano, perché “è strano” non è una causa principale. [5]


Le meccaniche di base: linee di base, punteggi, soglie 🧠

La maggior parte dei sistemi anomali, sofisticati o meno, si riducono a tre parti mobili:

1) Rappresentazione (ovvero: ciò che vede)

I segnali grezzi raramente sono sufficienti. O si progettano le caratteristiche (statistiche mobili, rapporti, ritardi, delta stagionali) o si apprendono le rappresentazioni (incorporamenti, sottospazi, ricostruzioni). [1]

2) Punteggio (ovvero: quanto è "strano" questo?)

Le idee più comuni per il punteggio includono:

  • Basato sulla distanza: lontano dai vicini = sospetto. [1]

  • Basato sulla densità: bassa densità locale = sospetto (LOF è il simbolo). [1]

  • Confini di una classe: impara la “normalità”, segnala ciò che ne è al di fuori. [1]

  • Probabilistico: bassa verosimiglianza secondo un modello adattato = sospetto. [1]

  • Errore di ricostruzione: se un modello addestrato su una rete normale non riesce a ricostruirla, probabilmente è fuori sincrono. [1]

3) Thresholding (ovvero: quando suonare il campanello)

Le soglie possono essere fisse, basate su quantili, per segmento o sensibili ai costi, ma dovrebbero essere calibrate in base ai budget di allerta e ai costi a valle, non alle vibrazioni. [4]

Un dettaglio molto pratico: i rilevatori di outlier/novità di scikit-learn espongono i punteggi grezzi e poi applicano una soglia (spesso controllata tramite un'ipotesi di tipo contaminazione) per convertire i punteggi in decisioni inlier/outlier. [2]


Definizioni rapide che prevengono il dolore in futuro 🧯

Due distinzioni che ti salvano da errori sottili:

  • Rilevamento di valori anomali: i dati di addestramento potrebbero già includere valori anomali; l'algoritmo tenta comunque di modellare la "regione normale densa".

  • Rilevamento di novità: si presume che i dati di addestramento siano puliti; si valuta se le nuove osservazioni corrispondono al modello normale appreso. [2]

Inoltre: il rilevamento della novità è spesso inquadrato come una classificazione a una classe , modellando la normalità perché gli esempi anormali sono scarsi o indefiniti. [1]

 

Anomalie dell'IA che causano glitch

Attrezzi da lavoro non supervisionati che utilizzerai davvero 🧰

Quando le etichette sono scarse (il che accade praticamente sempre), questi sono gli strumenti che compaiono nelle pipeline reali:

  • Isolation Forest: un forte default in molti casi tabulari, ampiamente utilizzato nella pratica e implementato in scikit-learn. [2]

  • SVM a una classe: può essere efficace ma è sensibile alla messa a punto e alle ipotesi; scikit-learn sottolinea esplicitamente la necessità di una messa a punto attenta degli iperparametri. [2]

  • Local Outlier Factor (LOF): punteggio classico basato sulla densità; ottimo quando la “normalità” non è una macchia ordinata. [1]

Un problema pratico che i team riscoprono ogni settimana: LOF si comporta in modo diverso a seconda che si stia eseguendo il rilevamento di outlier sul set di training o il rilevamento di novità su nuovi dati - scikit-learn richiede addirittura novelty=True per assegnare in modo sicuro punti mai visti. [2]


Una solida base di riferimento che funziona anche quando i dati sono instabili 🪓

Se pensi che "abbiamo solo bisogno di qualcosa che non ci faccia sprofondare nell'oblio", allora le statistiche affidabili sono sottovalutate.

Il punteggio z modificato utilizza la mediana e la MAD (deviazione assoluta mediana) per ridurre la sensibilità ai valori estremi. Il manuale EDA del NIST documenta la forma del punteggio z modificato e nota una regola empirica comunemente usata per i "potenziali outlier" con un valore assoluto superiore a 3,5. [3]

Ciò non risolverà tutti i problemi di anomalia, ma spesso rappresenta una solida prima linea di difesa, soprattutto per le metriche rumorose e il monitoraggio in fase iniziale. [3]


Realtà delle serie temporali: "Normale" dipende da quando ⏱️📈

Le anomalie delle serie temporali sono complesse perché il contesto è fondamentale: un picco a mezzogiorno potrebbe essere prevedibile; lo stesso picco alle 3 del mattino potrebbe indicare che qualcosa sta prendendo fuoco. Molti sistemi pratici modellano quindi la normalità utilizzando caratteristiche sensibili al tempo (ritardi, delta stagionali, finestre mobili) e deviazioni del punteggio rispetto al modello previsto. [1]

Se dovessi ricordare una sola regola: segmenta la tua linea di base (ora/giorno/regione/livello di servizio) prima di dichiarare metà del tuo traffico "anomalo". [1]


Valutazione: la trappola degli eventi rari 🧪

Il rilevamento delle anomalie è spesso come cercare un ago in un pagliaio, il che rende la valutazione strana:

  • Le curve ROC possono sembrare ingannevolmente buone quando i valori positivi sono rari.

  • Le visualizzazioni di precisione-richiamo sono spesso più informative per le impostazioni sbilanciate perché si concentrano sulle prestazioni della classe positiva. [4]

  • Dal punto di vista operativo, è necessario anche un budget di allerta: quanti allerta all'ora possono effettivamente gestire gli esseri umani senza che si arrendano per rabbia? [4]

Il backtesting su finestre mobili aiuta a individuare la classica modalità di errore: “funziona benissimo… sulla distribuzione del mese scorso”. [1]


Interpretabilità e causa principale: mostra il tuo lavoro 🪄

Inviare un avviso senza una spiegazione è come ricevere una cartolina misteriosa. Utile, ma frustrante.

Gli strumenti di interpretabilità possono essere d'aiuto indicando quali caratteristiche hanno contribuito maggiormente a un punteggio di anomalia, oppure fornendo spiegazioni del tipo "cosa dovrebbe cambiare perché questo sembri normale?". Il Interpretable Machine Learning è una guida solida e critica ai metodi comuni (incluse le attribuzioni in stile SHAP) e ai loro limiti. [5]

L'obiettivo non è solo il comfort delle parti interessate, ma anche un triage più rapido e un minor numero di incidenti ripetuti.


Distribuzione, deriva e cicli di feedback 🚀

I modelli non vivono nelle diapositive. Vivono nelle pipeline.

Una storia tipica del "primo mese in produzione": il sistema di rilevamento segnala principalmente implementazioni, processi batch e dati mancanti... il che è comunque utile perché ti costringe a distinguere gli "incidenti di qualità dei dati" dalle "anomalie aziendali".

In pratica:

  • Monitorare la deriva e riaddestrare/ricalibrare quando il comportamento cambia. [1]

  • Inserisci i punteggi di log + la versione del modello in modo da poter riprodurre il motivo per cui qualcosa è stato impaginato. [5]

  • Cattura il feedback umano (avvisi utili vs rumorosi) per regolare soglie e segmenti nel tempo. [4]


Angolo di sicurezza: IDS e analisi comportamentale 🛡️

I team di sicurezza spesso combinano idee di anomalie con il rilevamento basato su regole: linee di base per il "comportamento normale dell'host", più firme e policy per modelli errati noti. La SP 800-94 (Final) del NIST rimane un framework ampiamente citato per le considerazioni sui sistemi di rilevamento e prevenzione delle intrusioni; rileva inoltre che una bozza del 2012 "Rev. 1" non è mai diventata definitiva ed è stata successivamente ritirata. [3]

Traduzione: usa l'apprendimento automatico dove è utile, ma non buttare via le noiose regole: sono noiose perché funzionano.


Tabella comparativa: i metodi più diffusi a colpo d'occhio 📊

Strumento / Metodo Ideale per Perché funziona (in pratica)
Punteggi z robusti/modificati Metriche semplici, linee di base rapide Primo passaggio efficace quando è necessario un “abbastanza buono” e meno falsi allarmi. [3]
Foresta di isolamento Caratteristiche tabulari e miste Solida implementazione predefinita e ampiamente utilizzata nella pratica. [2]
SVM di una classe Regioni “normali” compatte Rilevamento della novità basato sui confini; la messa a punto è molto importante. [2]
Fattore anomalo locale Normali simili a collettori Il contrasto di densità rispetto ai vicini cattura le stranezze locali. [1]
Errore di ricostruzione (ad esempio, stile autoencoder) Modelli ad alta dimensionalità Allenarsi normalmente; grandi errori di ricostruzione possono segnalare deviazioni. [1]

Codice cheat: inizia con delle linee di base robuste + un noioso metodo non supervisionato, quindi aggiungi complessità solo dove è conveniente.


Un mini manuale: da zero agli avvisi 🧭

  1. Definisci "strano" in termini operativi (latenza, rischio di frode, sovraccarico della CPU, rischio di inventario).

  2. Iniziare con una linea di base (statistiche robuste o soglie segmentate). [3]

  3. Scegli un modello non supervisionato come primo passaggio (Isolation Forest / LOF / One-Class SVM). [2]

  4. Stabilisci delle soglie con un budget di allertae valuta con un ragionamento in stile PR se i risultati positivi sono rari. [4]

  5. Aggiungere spiegazioni + registrazione in modo che ogni avviso sia riproducibile e debuggabile. [5]

  6. Backtest, spedizione, apprendimento, ricalibrazione : la deriva è normale. [1]

Puoi assolutamente farlo in una settimana... supponendo che i tuoi timestamp non siano tenuti insieme con del nastro adesivo e della speranza. 😅


Osservazioni finali - Troppo lungo, non l'ho letto🧾

L'IA rileva le anomalie apprendendo un'immagine pratica della "normalità", assegnando un punteggio alle deviazioni e segnalando ciò che supera una soglia. I sistemi migliori vincono non per essere appariscenti, ma per essere calibrati: linee di base segmentate, budget di allerta, output interpretabili e un ciclo di feedback che trasforma gli allarmi rumorosi in un segnale affidabile. [1]


Riferimenti

  1. Pimentel et al. (2014) - Una revisione del rilevamento della novità (PDF, Università di Oxford) Leggi di più

  2. Documentazione di scikit-learn - Rilevamento di novità e valori anomali Leggi di più

  3. Manuale elettronico NIST/SEMATECH - Rilevamento di valori anomali (per saperne di più) e NIST CSRC - SP 800-94 (Finale): Guida ai sistemi di rilevamento e prevenzione delle intrusioni (IDPS) ( per saperne di più

  4. Saito & Rehmsmeier (2015) - Il grafico precisione-richiamo è più informativo del grafico ROC nella valutazione dei classificatori binari su dataset sbilanciati (PLOS ONE) Leggi di più

  5. Molnar - Interpretable Machine Learning (libro web) Leggi di più

Trova l'ultima intelligenza artificiale nello store ufficiale di AI Assistant

Chi siamo

Torna al blog