Attribuzioni delle caratteristiche per la previsione

Introduzione

Questa pagina fornisce una breve panoramica concettuale dei metodi di attribuzione delle caratteristiche disponibili in Vertex AI. Per una discussione tecnica approfondita, consulta il nostro white paper di AI Explanations.

L'importanza globale delle caratteristiche (attribuzioni delle caratteristiche del modello) mostra l'impatto di ogni caratteristica su un modello. I valori vengono forniti come percentuale per ogni caratteristica: più alta è la percentuale, maggiore è l'impatto della caratteristica sull'addestramento del modello. Ad esempio, dopo aver esaminato l'importanza delle caratteristiche a livello globale per il tuo modello, potresti giungere alla seguente conclusione: "Il modello ritiene che le vendite del mese precedente siano di solito i migliori indicatori delle vendite del mese successivo. Fattori come il numero di clienti e le promozioni sono importanti, ma meno importanti dei dati di vendita".

Per visualizzare l'importanza delle caratteristiche globali per il tuo modello, esamina le metriche di valutazione.

Le attribuzioni delle caratteristiche locali per i modelli di serie temporali indicano in che misura ciascuna caratteristica di un modello ha contribuito a una previsione. Misurano il contributo di una caratteristica a una previsione rispetto a una base di input. Per caratteristiche numeriche come le vendite, l'input di riferimento è le vendite mediane. Per le caratteristiche categoriche, come il nome del prodotto, l'input di riferimento è il nome di prodotto più comune. La somma di tutte le attribuzioni non costituisce una previsione. La somma indica di quanto la previsione differisce dalla previsione di riferimento (ovvero, tutti gli input sono input di riferimento).

Le attribuzioni delle caratteristiche vengono stabilite in base alle previsioni effettuate a scopo controfattuale. Una previsione di esempio è la seguente: Quale sarebbe la previsione se il valore pubblicitario di TRUE su 2020-11-21 venisse sostituito con FALSE, il valore più comune? Il numero richiesto di dati controfattuale dipende dal numero di colonne e dal numero di percorsi (servizio generato). Il numero di previsioni risultante può essere di ordini di grandezza maggiori rispetto a quello di un'attività di previsione normale e il tempo di esecuzione previsto viene adeguato di conseguenza.

Puoi utilizzare Previsione con AutoML o Flusso di lavoro tabulare per la previsione per generare ed eseguire query sulle attribuzioni delle funzionalità locali. Le previsioni con AutoML supportano solo le previsioni batch. Il flusso di lavoro tabulare per la previsione supporta sia previsioni batch sia previsioni online.

Vantaggi

Se esamini istanze specifiche e aggreghi le attribuzioni delle caratteristiche nel tuo set di dati di addestramento, puoi ottenere informazioni più approfondite sul funzionamento del modello. Considera i seguenti vantaggi:

  • Modelli di debug: le attribuzioni delle caratteristiche possono aiutare a rilevare problemi nei dati che generalmente le tecniche standard di valutazione dei modelli non rilevano.

  • Ottimizzazione dei modelli: puoi identificare e rimuovere le funzionalità meno importanti, il che può comportare una maggiore efficienza dei modelli.

Limitazioni concettuali

Considera le seguenti limitazioni delle attribuzioni delle caratteristiche:

  • Le attribuzioni delle caratteristiche, inclusa l'importanza delle caratteristiche locali per AutoML, sono specifiche per le singole previsioni. L'ispezione delle attribuzioni delle caratteristiche per una singola previsione può fornire informazioni utili, ma l'approfondimento potrebbe non essere generalizzabile all'intera classe per la singola istanza o all'intero modello.

    Per informazioni più generalizzabili per i modelli AutoML, consulta l'importanza delle caratteristiche del modello. Per ottenere informazioni più generalizzabili per altri modelli, aggrega le attribuzioni su sottoinsiemi sul tuo set di dati o sull'intero set di dati.

  • Ogni attribuzione mostra solo l'impatto della caratteristica sulla previsione per l'esempio specifico. Una singola attribuzione potrebbe non riflettere il comportamento complessivo del modello. Per capire il comportamento approssimativo del modello su un intero set di dati, aggrega le attribuzioni.

  • Sebbene le attribuzioni delle caratteristiche possano aiutare con il debug del modello, non sempre indicano chiaramente se un problema deriva dal modello o dai dati con cui il modello viene addestrato. Usa il tuo buon senso e diagnostica problemi comuni con i dati per restringere l'ambito delle cause potenziali.

  • Le attribuzioni dipendono interamente dal modello e dai dati utilizzati per addestrare il modello. Possono solo rivelare i pattern trovati dal modello nei dati e non sono in grado di rilevare alcuna relazione fondamentale nei dati. La presenza o l'assenza di un'attribuzione efficace a una determinata funzionalità non significa che esista o meno una relazione tra quella funzionalità e il target. L'attribuzione mostra semplicemente che il modello utilizza o meno la caratteristica nelle sue previsioni.

  • Le attribuzioni da sole non possono capire se il tuo modello sia giusto, imparziale o di qualità audio. Valuta attentamente i dati di addestramento e le metriche di valutazione, oltre alle attribuzioni.

Per ulteriori informazioni sulle limitazioni, consulta il white paper di AI Explanations.

Migliorare le attribuzioni delle caratteristiche

I seguenti fattori hanno l'impatto maggiore sulle attribuzioni delle funzionalità:

  • I metodi di attribuzione approssimano il valore di Shapley. Puoi aumentare la precisione dell'approssimazione aumentando il numero di percorsi per il metodo di Shapley campionato. Di conseguenza, le attribuzioni potrebbero cambiare radicalmente.
  • Le attribuzioni indicano solo in che misura la funzionalità ha influito sulla variazione del valore di previsione, rispetto al valore di riferimento. Assicurati di scegliere una base di riferimento significativa, pertinente alla domanda che ti stai ponendo per il modello. I valori di attribuzione e la loro interpretazione potrebbero cambiare in modo significativo quando passi da una base di riferimento all'altra.

Puoi visualizzare il numero di percorsi e le basi in Parametri e metadati esplicativi.

Visualizzare i metadati e i parametri della spiegazione

I parametri e i metadati di spiegazione contengono quanto segue:

  • static_value: le base di riferimento utilizzate per generare le spiegazioni.
  • pathCount: il numero di pathCount, che tiene conto del tempo necessario per generare le attribuzioni delle funzionalità.
  • historical_values e prediction_values: colonne disponibili al momento della previsione.
  • historical_values: colonne non disponibili al momento della previsione.

Il modello può essere visualizzato utilizzando l'API REST Vertex AI e include le specifiche di spiegazione.

REST

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • LOCATION: regione in cui è archiviato il modello
  • PROJECT: il tuo ID progetto.
  • MODEL_ID: l'ID della risorsa modello

Metodo HTTP e URL:

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID

Per inviare la richiesta, scegli una delle seguenti opzioni:

arricciatura

Esegui questo comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID "

PowerShell

Esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID " | Select-Object -Expand Content

Dovresti vedere un output simile al seguente per un modello AutoML addestrato.

Algoritmo

Vertex AI fornisce attribuzioni delle caratteristiche utilizzando Shapley Values, un algoritmo teorico del gioco cooperativo che assegna il merito a ciascun giocatore di un gioco per un risultato specifico. Applicato ai modelli di machine learning, questo significa che ogni caratteristica del modello viene trattata come un "giocatore" nel gioco e il merito viene assegnato in proporzione al risultato di una determinata previsione. Per i modelli di dati strutturati, Vertex AI utilizza un'approssimazione di campionamento dei valori di Shapley esatti chiamata Sampled Shapley.

Per informazioni dettagliate sul funzionamento del metodo di Shapley campionato, leggi l'articolo Bounding the Estimation Error of Sampling-based Shapley Value Approximation.

Passaggi successivi

Le seguenti risorse forniscono ulteriore materiale didattico utile: