In varie situazioni abbiamo parlato dell’importanza dei dati e della loro corretta preparazione per garantire che i risultati ottenuti da progetti di Data Analysis siano corretti e coerenti con la realtà aziendale e possano quindi portare valore all’azienda ottimizzando i processi e di conseguenza massimizzando i ricavi.
Una delle problematiche più diffuse che si riscontra quando si approcciano progetti di questo tipo è la mancanza di dati storici, in termini quantitativi, ma anche qualitativi. Non si può definire a priori un valore soglia che rappresenti la quantità minima di dati necessaria e sufficiente per procedere, ma è ormai una consapevolezza diffusa il fatto che sia fondamentale avere a disposizione una quantità di dati e di informazioni accettabile rispetto al contesto e soprattutto rappresentativa del contesto e dei processi aziendali. Questo è spesso uno scoglio difficile da superare, ma esistono delle tecniche di preparazione dei dati che permettono di agire sui dati stessi per limitare questo problema: là dove i dati non ci sono possiamo cercare di “inventali”. Certo, non si può partire da zero, ma spesso può bastare poco per iniziare con le prime sperimentazioni analitiche. Parliamo delle tecniche di Data Augmentation.
Cos’è la data augmentation
La traduzione letterale di “Data Augmentation” è “aumento dei dati”. Senza scendere in eccessivi tecnicismi, possiamo dire che la data augmentation consiste in un insieme di tecniche di manipolazione e trasformazione dei dati che hanno lo scopo di ampliare la dimensione del dataset di partenza, in modo da garantire la fattibilità di progetti di Machine Learning e Advanced Analytics anche nelle situazioni in cui non c’è la possibilità di raccogliere nuovi dati per raggiungere la quantità di informazioni minima e necessaria per dare il via ai progetti.
Le tecniche di Data Augmentation vengono, infatti, spesso usate nelle prime fasi dei progetti di Machine Learning per l’impostazione iniziale del progetto, delle reti neurali che nel tempo “imparano” dai propri successi e soprattutto dai propri errori per poter rispondere in modo sempre più accurato e coerente al contesto aziendale man mano che il dataset di dati “veri” si arricchisce e va a sostituire i dati sintetici di partenza. Le tecniche di apprendimento automatico (o machine learning), infatti, si basano sull’uso di algoritmi per riconoscere all’interno dei dati a disposizione i pattern ricorrenti, pattern che inizialmente vengono “imboccati” grazie proprio agli Augmented Data e che i dati “veri” vanno a convalidare e verificare nel tempo.
Ad esempio, in ambito manifatturiero ed industriale ci sono capitate spesso richieste di progetti di manutenzione predittiva in situazioni in cui di dati storici ce ne sono pochissimi, o perché l’azienda da poco ha iniziato la svolta tecnologica e quindi la raccolta dei dati, o perché si tratta di macchinari innovativi di cui materialmente non esiste uno storico dati. In casi come questi ne va della fattibilità del progetto, e la Data Augmentation può sicuramente fare la differenza.
I dati sintetici prodotti con le tecniche di Data Augmentation possono essere di diverso tipo: possono consistere in “copie” leggermente modificate di dati già esistenti, oppure dati sintetici nuovi, creati ad hoc seguendo le linee guida degli esperti di dominio.
Sono Augmented Data, ad esempio, le immagini create a partire da quelle presenti nel dataset su cui vengono applicati piccoli cambiamenti controllati e coerenti con il contesto, ad esempio rotazioni, capovolgimenti, ritagli, modifiche del colore. In questo caso sono dati aumentati del primo tipo, ovvero “copie” modificate di dati esistenti.
Nel secondo caso, se il dataset è ancora troppo piccolo per pensare di duplicare i dati, gli Augmented Data devono essere del tutto creati: certo non può trattarsi di una generazione casuale, se così fosse non sarebbe possibile garantire integrità al progetto che verrà costruito su di essi. Per crearli quindi è necessario procedere con cura e cautela, farsi guidare dagli esperti del dominio di applicazione per comprendere al meglio le scale di valori che ogni dato potrà assumere, ma anche e soprattutto le relazioni tra i dati: un esempio semplice, all’aumentare della temperatura corrisponde il calo dell’umidità, oppure anche condizioni più complesse, ad esempio il verificarsi di una certa combinazione di valori genera specifici warning o fault. La creazione degli Augmented Data, questi flussi di dati sintetici, avviene grazie all’uso di specifiche soluzioni, ad esempio reti neurali: a partire dalle condizioni ambientali che dovranno essergli passate, queste producono dati sintetici lavorando in due passaggi, una prima fase “generativa” e una seconda “discriminativa”. Questi step vengono addestrati separatamente, anzi, si addestrano a vicenda perché sono in costante competizione tra loro: i dati prodotti dalla fase generativa diventeranno veri e propri Augmented Data quando i meccanismi discriminativi successivi alla loro generazione non saranno più in grado di distinguere i dati “veri” da quelli sintetici.
A cosa servono gli augmented data
I problemi principali che si possono risolvere grazie all’uso degli Augmented Data riguardano non solo gli aspetti quantitativi descritti finora, ovvero il raggiungimento di una quantità di dati adeguata per avviare le sperimentazioni analitiche, ma anche aspetti qualitativi. L’importanza di avviare le sperimentazioni su un dataset di qualità, infatti, sono legate al fatto che gli algoritmi cercano di ricondurre i dati verso pattern noti, di cui l’algoritmo conosce l’andamento e/o il risultato finale. Quando il dataset non è di qualità questa operazione ne risente, e di conseguenza l’esito prodotto dall’algoritmo non potrà essere garantito.
In questo caso, per “qualità” del dataset intendiamo, oltre alla qualità dei singoli dati, anche la proporzione e distribuzione di essi, ad esempio dei casi di successo e di errore che possono provocare situazioni di overfitting.
Per overfitting si intende il sovradattamento del modello statistico al campione di dati, cosa che può verificarsi quando il dataset non è abbastanza rappresentativo del contesto, cioè non contiene abbastanza esempi delle situazioni che possono verificarsi. In casi come questo, una rete addestrata per riconoscere schemi ricorrenti a partire dai dati proposti non può fare altro che “imparare a memoria” quello che legge dai dati, senza aver modo di estrapolare pattern interessanti, per cui va facilmente in errore quando incontra nuovi dati che rappresentano situazioni di cui non ha esperienza.
Diventa quindi necessario ampliare il dataset di addestramento aumentando i dati a disposizione per ampliare la rosa di situazioni verificabili e dar modo al modello di capire come comportarsi nel maggior numero possibile di situazioni che potrà incontrare.
Quali sono i vantaggi nel loro utilizzo
Fare ricorso agli Augmented Data non solo risolve le problematiche legate alla fattibilità e alla qualità del progetto, ma permette anche di automatizzare, almeno in parte, le procedure di Data Management. Se lo scopo ultimo dei progetti di Machine Learning e Advanced Analytics, è quello di promuovere la consapevolezza sui dati e ottimizzare i processi sempre più in linea con gli obiettivi aziendali, allora di sicuro la possibilità di trovare nei dati proprio quelle informazioni necessarie a costruire strategie concrete ed efficaci, senza che sia necessario troppo tempo o risorse per ottenerle, è un valore aggiunto.
Poter contare su Augmented Data, creati ad hoc per soddisfare i requisiti di qualità richiesti, rende automatiche le operazioni iniziali di gestione semplificando la comprensione e l’accesso ai dati anche da parte di utenti non tecnici, permettendo così a Data Scientist e Data Analyst di dover dedicare meno tempo alla fase di pulizia e di validazione dei dati, potendosi concentrare su altri aspetti più avanzati del proprio lavoro.
Categoria: ANALYTICS

Data catalog: cos’è e perché è necessario
La gestione dei dati all’interno di un’organizzazione comporta oggi una serie di importanti sfide, da cui dipende il successo delle… Leggi tutto

Big data management: come usare e gestire i big data
L’era dei big data ha portato la gestione dei dati (data management) entro scenari di varietà e complessità senza precedenti… Leggi tutto

Big Data Analytics: cos’è e perché è importante
Quando si parla di big data analytics ci si riferisce, solitamente, all’analisi avanzata di grandi volumi di dati. Prendere decisioni… Leggi tutto