Il rilevamento delle anomalie nei dati è una delle possibili applicazioni del machine learning e viene impiegato per identificare e fermare frodi, cyberattacchi e intrusioni. Identificare valori anomali richiede sforzo e organizzazione
Quando si parla di anomalie dei dati si fa spesso riferimento a un discorso astratto. Per comprendere meglio di cosa si tratta occorre definire il concetto stesso di anomalia, quali parametri sono utilizzati per riconoscerla e quali approcci è meglio seguire. Il machine learning è deputato al rilevamento di anomalie perché offre, per sua natura, innumerevoli vantaggi.
Il rilevamento delle anomalie e il machine learning
Un’anomalia, come del resto suggerisce il nome, è qualcosa che varia dalla norma. Nella letteratura specifica vi si fa riferimento anche con i nomi di “variazione” o “eccezione” e, di fatto, si tratta di un evento tanto insolito da potere generare dei sospetti. Si può trattare di una variazione del traffico di una rete aziendale, un’operazione che rallenta la fluidità nell’esecuzione di un software, un movimento bancario eccezionale rispetto alla media di quelli disposti da un cliente o un acquisto online atipico rispetto alle abitudini dell’acquirente. I campi di applicazione sono svariati e, con sempre maggiore enfasi, il machine learning viene impiegato per trovare anomalie in ambito sanitario al fine, per esempio, di rilevare l’aggravarsi della condizione di salute di una persona o l’insorgere di una patologia. Discorso questo che assume una sua profondità se applicato a un numero elevato di persone o diversi gruppi sottoposti a cure sperimentali.
Poiché le aziende creano una grande quantità di dati, per riuscire a trovare quelli anomali occorrono modelli di apprendimento automatico specifici per ogni settore. Riuscire a identificare le anomalie offre vantaggi innumerevoli, si pensi per esempio alla manutenzione predittiva, laddove registrare, identificare ed etichettare un dato come anomalo permette di intervenire prima che un guasto fermi una linea di produzione industriale, un treno o la normale erogazione di un acquedotto.
Occorre fare una riflessione che esula dall’impiego delle tecnologie e sottolineare che la rilevazione delle anomalie assume un ruolo di prim’ordine soprattutto perché consente una conoscenza approfondita dei dati di cui un’azienda (un ente o un’organizzazione) dispone. Un’anomalia può essere anche intesa con un’accezione positiva, si pensi per esempio a una macchina industriale i cui cilindri devono essere sostituiti di norma ogni tre mesi. L’analisi dei dati può evidenziare che, nonostante il termine per la sostituzione sia prossimo alla scadenza, i cilindri non danno ancora segno di deterioramento. Saperlo aiuta l’azienda a non intervenire laddove non è necessario e a fare altri tipi di considerazioni, magari legate alla minore necessità di impiego di un macchinario e all’ottimizzazione del parco degli strumenti usati per la produzione.
A seconda del tipo di dati, esistono metodi per costruire modelli di riconoscimento delle anomalie mediante il machine learning basati su dati etichettati e su dati grezzi (quindi senza etichetta). I modelli addestrati su dati etichettati osservano valori che variano da una soglia espressamente specificata da chi istruisce il machine learning, mentre i modelli che usano dati grezzi li classificano per trovare valori anomali nei cluster di dati. In altre parole, i dati vengono raggruppati in base a elementi o valori omogenei, di fatto in base alla loro somiglianza. In entrambi i casi i modelli di machine learning riconoscono quelli che sono definibili come comportamenti (o dati) accettabili e quelli che non lo sono e che possono essere considerati anomali.
I tipi di anomalie
Le anomalie sono di diverso tipo, qui le prendiamo in esame per macro-gruppi:
- Valori anomali globali
- Valori anomali contestuali
- Valori anomali collettivi
Il rilevamento delle anomalie per valori globali rientra nella sfera di quei dati che escono dai limiti stabiliti dai dati precedentemente raccolti e analizzati. Per esempio, il cliente aziendale di una banca che genera movimenti mensili medi per 300mila euro e che, all’improvviso, ne genera per una cifra cinque volte superiore.
I valori contestuali seguono una logica simile ma all’interno di un quadro circoscritto. Può, per esempio, essere un valore anomalo registrato tra i dati di un paziente che assume un farmaco specifico o un valore non congruo registrato da un macchinario posto sotto determinate condizioni di stress.
Un repentino e inspiegabile calo delle potenzialità logistiche di tutte le succursali di una multinazionale nel medesimo periodo dell’anno è una rilevazione delle anomalie collettive.
Si tratta di esempi ridotti all’essenziale per rendere accessibili i concetti espressi ma, in realtà, il rilevamento delle anomalie è disciplina tanto più complessa quanto sono più numerosi i dati.
I tipi di dati e le anomalie
Il termine “dati” è un contenitore, una definizione generica che si interpola tra la sineddoche e la metonimia che aumenta la propria granularità tenendo conto di alcune caratteristiche, tra le quali:
- tipo di dati
- tipo di elaborazione
- modalità di etichettatura dei dati
- ambito di applicazione
Ci sono dati strutturati, non strutturati e semi-strutturati, ossia macro-gruppi a loro volta dotati di peculiarità e dei quali fanno parte dati di testo, di immagini (o video), di audio e, scavando ulteriormente tra i vari livelli di astrazione, si possono trovare dati di serie temporali, ovvero set di informazioni che variano con il passare del tempo, come possono essere per esempio le analisi delle vendite di un prodotto circoscritte a un trimestre, a un bimestre oppure durante giorni dell’anno specifici. Il tipo di dati con cui si lavora detta, tra le altre cose, la strategia mediante la quale esaminare e identificare le anomalie.
Il tipo di elaborazione è da ricondurre innanzitutto a modalità online e offline. Quest’ultima trova applicazione quando si dispone di tutti i dati necessari, mentre l’elaborazione online ha un senso ponderato quando i dati continuano ad arrivare, magari raccolti da procedure di polling seriali, e occorre poter trovare anomalie in tempo pressoché reale.
L’etichettatura dei dati ha un ruolo nell’identificazione delle anomalie, che possono essere classificate in modalità di machine learning supervisionata, non supervisionata o semi-supervisionata. Questo argomento è spesso foriero di discussione e fraintendimenti. In realtà anche dei dati privi di etichetta possono indicare anomalie, tant’è che si tratta di una modalità di machine learning tra le più usate perché non necessita di dati di addestramento.
Infine, le anomalie vanno contestualizzate nell’ambito di applicazione. Ogni settore le valuta secondo regole proprietarie e queste, oltre a dipendere dall’etichettatura e dal tipo di dati, vanno contestualizzate anche in base al tipo di elaborazione. Per esempio, per identificare le anomalie tra i dati rilevati da sensori occorre un’analisi di informazioni di tipo storiche, mentre il rilevamento di anomalie nella visione di un agente robotico necessita dei dati relativi alle condizioni di illuminazione di un’area circoscritta e in un momento specifico.
Le difficoltà nella rilevazione delle anomalie
Riuscire a identificare le anomalie è un processo che richiede l’analisi statistica e questa necessita di un campione di dati sufficiente all’addestramento e di buona qualità e, non da ultimo, prevede una cultura orientata al riconoscimento dei falsi positivi.
Va da sé che l’elemento più importante nel rilevamento delle anomalie è rappresentato dai dati che devono essere di buona qualità e devono essere in quantità tale da consentire l’addestramento dei modelli di machine learning. La costante è semplice: un maggiore numero di dati di qualità permette una migliore rilevazione delle anomalie ma, poiché la profondità dell’argomento è notevole, entrano in gioco altri fattori. Come abbiamo visto sopra, il termine “dati” non è esaustivo e necessita di una contestualizzazione che varia a seconda del tipo di informazioni, della loro granularità e della presenza o meno di etichette. Per stabilire se, nel corso del tempo, ci sono momenti storici in cui una moneta estera si svaluta nei confronti di un’altra valuta, per svolgere analisi accurate è necessario avere set di dati storici decennali dei mercati monetari. Dopo avere preso in esame la qualità, la granularità, l’etichettatura e la storicità dei dati è possibile stabilire quale tipo di algoritmo impiegare per la rilevazione delle anomalie.
Disporre di dati qualitativamente e quantitativamente appropriati non è di per sé sufficiente, occorre tenere conto anche dei falsi positivi e delle distribuzioni non equilibrate dei dati. Una volta rilevata un’anomalia occorre indagare per essere certi che sia davvero tale e, non di meno, occorre valutarla nell’ottica della distribuzione non equilibrata dei dati, problema particolarmente avvertito nel machine learning. Si tratta di un’aberrazione del campione di dati a disposizione: supponendo di usare i dati delle transazioni effettuate mediante carta di credito dai clienti di una banca, è lecito attendersi che nel 99,99% queste siano regolari e che soltanto lo 0,01% abbia origine fraudolenta. Istruire un modello per il riconoscimento delle transazioni illecite usando un campione di dati al cui interno queste sono poco rappresentate è tutt’altro che evidente.
Anomalie e machine learning
I metodi di rilevamento delle anomalie dipendono dal tipo di dati a disposizione tuttavia, allo stato attuale, prevalgono quelli subordinati all’apprendimento non supervisionato, piuttosto che quelli riconducibili all’apprendimento supervisionato e il motivo è presto detto.
Nel caso dell’apprendimento supervisionato le macchine imparano a riconoscere le anomalie partendo da istruzioni specifiche che indicano quali dati sono da ritenere normali e quali anomali affinché, eseguendo algoritmi specifici, possano essere identificate. Per ricorrere a un esempio, si presta bene all’analisi delle temperature. Usando un set di dati relativo alle temperature degli ultimi cento anni in una determinata area geografica, è relativamente facile assegnare parametri al di sopra o al di sotto dei quali possono essere ritenute anomale. Fissate le regole gli algoritmi esaminano tutti i dati disponibili individuando quelli al di fuori della normalità.
Si ricorre all’approccio non supervisionato quando il concetto stesso di anomalia non può essere determinato in partenza. In questi casi vengono usate tecniche di machine learning come il clustering, che permette di selezionare e raggruppare gli elementi omogenei di un set di dati. Si ottengono così dei cluster in cui ci sono dati simili tra loro e cluster che contengono dati molto differenti.
Poiché di norma i dati etichettati anomali sono abbastanza rari, la maggior parte delle attività di rilevamento delle anomalie si appoggia proprio sugli algoritmi non supervisionati i quali, però, possono restituire falsi positivi o individuare anomalie che non sono rilevanti.
Se l’apprendimento supervisionato usa prevalentemente dati etichettati e quello non supervisionato usa dati non etichettati, l’apprendimento semi-supervisionato consente di usarli entrambi. Giacché l’etichettatura viene di norma eseguita dall’uomo, questo apprendimento diventa pratico quando i set di dati sono particolarmente grandi.
Il riconoscimento delle anomalie è argomento di attualità e discussione che, ancora oggi, viene affrontato con metodologie e algoritmi già in auge un decennio fa. Questo è indice della complessità del tema.