Che cos'è la perdita di dati nel machine learning?

Autore

Tim Mucci

IBM Writer

Gather

Cos'è la perdita di dati nel machine learning?

La perdita di dati nel machine learning si verifica quando, durante l'addestramento, un modello utilizza informazioni che non saranno disponibili al momento della previsione. Questa perdita fa sì che un modello predittivo appaia accurato fino a quando non viene distribuito nel suo caso d'uso, dove produrrà risultati imprecisi, portando a un processo decisionale scadente e a insight errati.

L'obiettivo della modellazione predittiva è creare un modello di machine learning in grado di fare previsioni accurate sui dati futuri del mondo reale, cosa che non è disponibile durante l'addestramento dei modelli. Per evitare risultati imprecisi, i modelli non devono essere valutati sugli stessi dati su cui vengono addestrati. Per questo i data scientist in genere dividono i dati disponibili in due set: uno per addestrare il modello e l'altro per convalidare le prestazioni del modello su dati invisibili.

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Esempi e tipi di perdita di dati

La perdita di dati si verifica quando vengono utilizzati dati esterni al set di dati di addestramento per creare il modello che non saranno disponibili quando il modello verrà utilizzato per la previsione. Il modello funzionerà bene nei test e nella convalida, ma quando verrà utilizzato in produzione diventerà completamente impreciso.

Esistono due tipi di perdite: perdita target e contaminazione addestramento-test.

Perdita target: i modelli includono dati che non saranno disponibili quando il modello verrà utilizzato per fare previsioni.

L'utilizzo di informazioni che non saranno disponibili durante le previsioni del mondo reale porta a un sovradattamento, in cui il modello funziona eccezionalmente bene sui dati di addestramento e convalida ma molto male in produzione.

Contaminazione da addestramento-test: quando i dati di addestramento e convalida vengono utilizzati per creare un modello, spesso a causa di una suddivisione o pre-elaborazione improprie.

Esempio di perdita target

Immagina ad esempio un modello creato per prevedere le frodi con carta di credito. Questo problema riguarda le applicazioni in cui i modelli devono fare previsioni future affidabili sulla base di dati incompleti. Il set di dati grezzi conterrà informazioni sul cliente, l'importo della transazione, l'ubicazione, se è stata rilevata una frode e se è stato ricevuto un chargeback.

Nell'addestramento del modello, nelle colonne di rilevamento delle frodi e chargeback verranno inseriti valori veri o falsi. Nel mondo reale, un chargeback viene in genere avviato dopo il rilevamento di una frode, quindi queste informazioni non saranno disponibili al momento del rilevamento.

Addestrare un modello con queste informazioni insegna che le transazioni con chargeback sono quasi sempre fraudolente. Durante la convalida, il modello mostrerà un'elevata accuratezza perché, in fase di formazione, la relazione tra frode e chargeback è forte. Tuttavia, le informazioni sul chargeback non saranno disponibili quando distribuite e il modello funzionerà male nella pratica..

Esempio di contaminazione addestramento-test

Immagina che un data scientist costruisca un modello per prevedere i prezzi delle case in base a caratteristiche come le dimensioni, il numero di camere da letto e il quartiere. Standardizzare le caratteristiche numeriche (come la dimensione della casa e l'età) in modo che abbiano tutte la stessa scala è una fase di pre-elaborazione comune, utile per molti algoritmi di machine learning.

Tuttavia, supponiamo che il data scientist applichi la standardizzazione all'intero set di dati prima di suddividerlo in set di dati di addestramento e test. In tal caso, il modello "vedrà" indirettamente le informazioni dal set di test durante il training. Di conseguenza, i risultati del modello sui dati di test potrebbero apparire artificialmente gonfiati perché le informazioni del set di test sono state utilizzate nella fase di pre-elaborazione. In questo modo è più facile per il modello ottenere buone prestazioni nel set di test, ma potenzialmente ridurrà la sua capacità di generalizzare a nuovi dati non visibili.

Le fasi di pre-elaborazione come il ridimensionamento, l'imputazione o la selezione delle caratteristiche devono essere adattate solo ai dati di addestramento e quindi applicate al set di convalida, anziché adattarle all'intero set di dati prima della divisione. L'applicazione errata di trasformatori come il ridimensionamento o la normalizzazione può portare alla contaminazione tra addestramento-test, soprattutto nei modelli di reti neurali. Quando queste fasi di pre-elaborazione eseguite in modo errato vengono eseguite sull'intero set di dati, si ottengono previsioni distorte e un'idea non realistica delle prestazioni del modello.

AI Academy

AI all'opera nell'ambito del servizio clienti

Scopri come l'AI generativa può offrire ai clienti un'esperienza più fluida e aumentare la produttività dell'organizzazione in queste tre aree chiave: self-service, agenti umani e operazioni di contact center.

Cause della perdita di dati

La perdita di dati può essere un errore che richiede tempo e milioni di dollari di costi, e la nel machine learning si verifica per diversi fattori. Alcune cause comuni sono le seguenti:

Inclusione di informazioni future: quando vengono utilizzate informazioni che non saranno disponibili al momento della previsione in uno scenario reale.

Selezione inappropriata delle caratteristiche: selezione di caratteristiche correlate all'obiettivo ma non a livello casuale. Il modello sta imparando a utilizzare le informazioni a cui non avrà accesso nelle previsioni del mondo reale.

Contaminazione esterna dei dati: l'unione di set di dati esterni con dati di addestramento può portare a previsioni distorte o imprecise, poiché i dati esterni possono contenere informazioni dirette o indirette sulla variabile target.

Errori di pre-elaborazione dei dati: la suddivisione errata dei dati si verifica con il ridimensionamento dei dati prima di dividerli in set di addestramento e convalida o quando si inseriscono i valori mancanti con le informazioni dell'intero dataset. Ciò può essere particolarmente problematico nei modelli di deep learning, in cui è spesso richiesta una pre-elaborazione estesa, il che rende fondamentale evitare di mescolare dati di addestramento e test.

Convalida incrociata errata: quando si esegue una convalida incrociata su un set di dati con dati dipendenti dal tempo, se sono inclusi dati futuri, il modello ottiene l'accesso a informazioni che non dovrebbe avere, con conseguenti valutazioni eccessivamente ottimistiche.

Normalizzazione: le trasformazioni dei dati, come il ridimensionamento o la normalizzazione delle caratteristiche, quando applicate in modo errato sia ai dati di training che di test insieme anziché applicate separatamente, causano la perdita di dati.

Convalida e perdita di modifiche al processo: la modifica del modo in cui viene eseguita la convalida può introdurre perdite, consentendo l'ingresso di nuove informazioni nel set di formazione. Modificare parzialmente il processo eseguendo nuovamente la convalida incrociata o risuddividendo i dati dopo aver modificato i modelli può far trapelare inavvertitamente informazioni nel processo di formazione.

Impatto della perdita di dati sui modelli di machine learning

La perdita di dati è un'insidia comune nell'addestramento di algoritmi di machine learning per la modellazione predittiva. Uno studio della National Library of Medicine1 ha rilevato che in 17 diversi campi scientifici in cui sono stati applicati metodi di machine learning, almeno 294 articoli scientifici sono stati interessati dalla perdita di dati, il che ha portato a prestazioni eccessivamente ottimistiche.

Uno studio di Yale2 ha rilevato che la perdita di dati può aumentare o ridurre le prestazioni delle metriche dei modelli basati sul neuroimaging, a seconda che le informazioni perse introducano rumore o creino schemi non realistici. Questi modelli vengono utilizzati per diagnosticare le malattie, per identificare i trattamenti e per aiutare i neuroscienziati a comprendere meglio la relazione tra cervello e corpo.

La perdita di dati nei modelli di machine learning può avere vari impatti in diversi campi e tipi di dati. I più comuni sono:

Scarsa generalizzazione ai nuovi dati: quando i modelli vengono addestrati su informazioni che non rappresentano il mondo reale, il modello faticherà a generalizzare ai dati invisibili. Le previsioni sui nuovi dati potrebbero essere imprecise e inaffidabili.

Processo decisionale parziale: i pregiudizi nei dati persi corrono il rischio di distorcere il comportamento del modello, con conseguenti decisioni ingiuste e separate dagli scenari del mondo reale.

Insights e risultati inaffidabili: la perdita di dati compromette l'affidabilità degli insight derivati dal modello, portando gli utenti a non fidarsi dei risultati.

Metriche di prestazioni gonfiate: le perdite nei modelli di machine learning spesso si traducono in modelli che mostrano erroneamente accuratezza e precisione elevate.

Spreco di risorse: trovare e correggere le perdite di dati dopo che un modello è stato addestrato richiede tempo e denaro. La correzione della perdita di dati richiede la riqualificazione dei modelli da zero, estremamente costosa dal punto di vista computazionale, nonché la rielaborazione dell'intera pipeline dei modelli, dalla pre-elaborazione dei dati alla riqualificazione, che può richiedere un uso intensivo di risorse in termini di impegno umano e costi di elaborazione.

Perdita di fiducia: i modelli inaffidabili finiscono per creare sfiducia nei team di data science e nell'intero processo di analytics.

Rischi legali e di conformità: la perdita di dati nell'analisi predittiva può portare a rischi legali e normativi. Se le informazioni sensibili vengono utilizzate in modo improprio, c'è il rischio di incorrere sanzioni e danni alla reputazione.

Rilevamento delle perdite di dati nel machine learning

Il rilevamento delle perdite di dati richiede che le organizzazioni siano consapevoli di come i modelli vengono preparati ed elaborati e strategie rigorose per convalidare l'integrità dei modelli di apprendimento automatico. Ecco alcune best practice da tenere a mente per quanto riguarda la costruzione di modelli e il rilevamento delle perdite di dati:

Preparazione: i dati devono essere suddivisi correttamente e le fasi di pre-elaborazione devono essere applicate solo al set di dati di addestramento. Rivedi tutte le caratteristiche per assicurarti che non rappresentino informazioni future o non disponibili durante la previsione.

Ricerca: dopo l'addestramento del modello, indaga sugli schemi sospetti che potrebbero indicare una perdita. Esamina l'importanza delle caratteristiche e il comportamento del modello per rilevare eventuali relazioni non realistiche.

Test: testa un modello limitato con dati reali. Monitora le sue prestazioni in scenari reali: se le prestazioni calano in modo significativo, potrebbe indicare che si è verificata una perdita durante l'addestramento.

Ecco alcuni campanelli d'allarme comuni per rilevare le perdite:

Prestazioni insolitamente elevate: se un modello mostra un'accuratezza, una precisione o un richiamo significativamente più elevati del previsto, soprattutto sui dati di convalida, potrebbe indicare una perdita di dati.

Discrepanze tra l'addestramento e le prestazioni del test: un ampio divario tra le prestazioni sul set di addestramento e sul set di test è un segno che il modello potrebbe essere sovradimensionato a causa di una perdita.

Risultati di convalida incrociata incoerenti: se le prestazioni tra le fold di convalida incrociata variano notevolmente o sembrano insolitamente elevate, potrebbe essere dovuto a una perdita di addestramento-test o a una suddivisione impropria.

Comportamento inaspettato del modello: se un modello si basa fortemente su caratteristiche che non hanno senso logico, ciò potrebbe indicare una perdita.

Tecniche di valutazione corrette

La riduzione al minimo della perdita di dati può essere ottenuta in vari modi e vengono impiegati diversi strumenti per salvaguardare l'integrità del modello. La convalida incrociata, in particolare serie temporali o k-fold stratificato, aiuta a valutare correttamente i modelli ed evidenzia potenziali perdite. Negli LLM (modelli linguistici di grandi dimensioni), la convalida incrociata e la gestione rigorosa dei dati sono essenziali per evitare di dover addestrare il modello su dati che potrebbe successivamente incontrare durante l'inferenza, cosa che minerebbe la sua capacità di rispondere a nuovi input. L'uso di un set di holdout separato che rimanga intatto durante l'addestramento aggiunge protezione contro le perdite.

L'importanza delle caratteristiche può rivelare se il modello si basa su dati che non sarebbero disponibili durante le previsioni. La visualizzazione dei dati e le previsioni dei modelli possono evidenziare modelli o anomalie indicativi di perdite. Inoltre, gli esperti di dominio devono esaminare il modello per identificare se utilizza dati non realistici o non disponibili, aiutando a scoprire caratteristiche problematiche.

Prevenire la perdita di dati nel machine learning

Per prevenire la perdita di dati, le organizzazioni devono impegnarsi in un'attenta gestione dei dati e in una valutazione sistematica. Ecco alcune pratiche essenziali:

Pre-elaborazione dei dati: per evitare la perdita di informazioni tra i set, applica fasi di pre-elaborazione come il ridimensionamento o l'imputazione dei valori mancanti separatamente per i set di addestramento e test. Esegui la pre-elaborazione, ad esempio il ridimensionamento, la codifica e l'imputazione separatamente per i set di training e test, automatizzando le pipeline quando possibile.

Suddivisione corretta dei dati: suddividi correttamente i set di allenamento e test. Una suddivisione addestramento/test attentamente pianificata protegge le informazioni del set di test dalla perdita in fase di addestramento. Suddivisi i dati dipendenti dal tempo cronologicamente per evitare che dati futuri entrino nel processo di addestramento. Per verificare la presenza di perdite, mantieni un set di convalida separato e distinto non utilizzato durante l'addestramento, rappresentativo dei dati del mondo reale.

Convalida incrociata: usa la convalida incrociata k-fold per testare il modello su più sottoinsiemi di dati, che aiuta a rilevare potenziali perdite e migliora la generalizzazione.

Progettazione delle funzionalità: evita di creare funzionalità che introducano dati futuri. Esamina le funzionalità derivate per confermare che riflettano solo ciò che sarà disponibile al momento della previsione. Valuta regolarmente la pertinenza delle caratteristiche per verificare che siano appropriate e non introdurre informazioni non disponibili al momento della previsione.

Convalida basata sul tempo: per i dati delle serie temporali, usa la convalida basata sul tempo per imitare le prestazioni del mondo reale. Questo aiuta a garantire che i dati passati vengano utilizzati per prevedere i risultati futuri ed evitare future perdite di dati. Gestisci i dati delle serie temporali con cura, utilizzando metodi come la validazione a finestra scorrevole o la convalida walk-forward per evitare perdite di dati futuri durante la formazione.

Valutazione regolare del modello: monitora in modo continuo le prestazioni durante l'addestramento e i test per rilevare eventuali modifiche impreviste che indicano una perdita.

Perdita di dati nella DLP

Esiste un'altra definizione di perdita di dati che non ha nulla a che fare con il machine learning, ma si riferisce piuttosto all'esposizione involontaria dei dati dal punto di vista della sicurezza dei dati: nell'ambito della prevenzione della perdita di dati (DLP) si verifica quando informazioni sensibili vengono involontariamente esposte a parti non autorizzate. Ad esempio, un server cloud storage configurato in modo errato potrebbe consentire un facile accesso a informazioni di identificazione personale (PII) e a segreti commerciali.

I vettori più comuni di perdita di dati derivano da errori umani, ad esempio un dipendente che smarrisce il proprio laptop o condivide informazioni sensibili tramite e-mail e piattaforme di messaggistica. Gli hacker possono utilizzare i dati esposti per commettere furti di identità, rubare i dettagli delle carte di credito o vendere i dati sul dark web.

Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live