Attribuzioni delle caratteristiche per la previsione

Introduzione

Questa pagina fornisce una breve panoramica concettuale dei metodi di attribuzione delle caratteristiche disponibili con Vertex AI. Per una discussione tecnica approfondita, consulta il nostro white paper dedicato alle spiegazioni sull'IA.

L'importanza globale delle caratteristiche (attribuzioni delle caratteristiche del modello) mostra l'impatto di ciascuna caratteristica su un modello. I valori sono forniti sotto forma percentuale per ogni caratteristica: più alta è la percentuale, maggiore è l'impatto della caratteristica sull'addestramento del modello. Ad esempio, dopo aver esaminato l'importanza globale delle caratteristiche per il tuo modello, puoi arrivare alla seguente conclusione: "Il modello vede che le vendite del mese precedente sono di solito il fattore predittivo più efficace delle vendite del mese successivo. Fattori come il numero di clienti e le promozioni sono importanti, ma sono meno importanti dei dati di vendita."

Per visualizzare l'importanza globale delle caratteristiche 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 in 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 del prodotto più comune. La somma di tutte le attribuzioni non è la previsione. La somma indica quanto la previsione differisce dalla previsione di riferimento (ovvero, tutti gli input sono input di riferimento).

Le attribuzioni delle caratteristiche sono determinate in base alle previsioni effettuate per i controfattuale. Ecco un esempio di previsione: Quale sarebbe la previsione se il valore pubblicitario TRUE su 2020-11-21 fosse sostituito con FALSE, il valore più comune? Il numero richiesto di controfattuale viene scalato in base al numero di colonne e al numero di percorsi (servizio generato). Il numero risultante di previsioni può essere ordini di grandezza maggiori rispetto a una normale attività di previsione 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 caratteristiche locali. La previsione con AutoML supporta solo le previsioni batch. Il flusso di lavoro tabulare per le previsioni supporta sia le previsioni batch sia le previsioni online.

Vantaggi

Se esamini istanze specifiche e aggreghi anche le attribuzioni delle caratteristiche nel set di dati di addestramento, puoi ottenere insight più approfonditi 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 di valutazione dei modelli standard non potrebbero rilevare.

  • Ottimizzazione dei modelli: puoi identificare e rimuovere funzionalità meno importanti, il che può comportare modelli più efficienti.

Limitazioni concettuali

Considera i seguenti limiti delle attribuzioni delle caratteristiche:

  • Le attribuzioni delle caratteristiche, inclusa l'importanza locale delle caratteristiche per AutoML, sono specifiche per le singole previsioni. L'ispezione delle attribuzioni delle caratteristiche per una singola previsione può fornire insight validi, ma potrebbero non essere generalizzabili all'intera classe per la singola istanza o per l'intero modello.

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

  • Ogni attribuzione mostra solo in che misura la caratteristica ha influito sulla previsione per l'esempio specifico. Una singola attribuzione potrebbe non riflettere il comportamento complessivo del modello. Per comprendere il comportamento approssimativo del modello su un intero set di dati, aggrega le attribuzioni sull'intero set di dati.

  • Sebbene le attribuzioni delle caratteristiche possano aiutare il debug del modello, non indicano sempre chiaramente se un problema deriva dal modello o dai dati su cui il modello è addestrato. Fai appello al tuo buon senso e diagnostica i problemi comuni dei dati per restringere il campo delle potenziali cause.

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

  • Le attribuzioni da sole non sono in grado di stabilire se il tuo modello è equo, imparziale o della 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 sui spiegazioni dell'IA.

Migliorare le attribuzioni delle caratteristiche

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

  • I metodi di attribuzione si avvicinano al 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 drasticamente.
  • Le attribuzioni esprimono solo l'impatto della caratteristica sulla variazione del valore di previsione, rispetto al valore di riferimento. Assicurati di scegliere una base di riferimento significativa, attinente alla domanda che intendi porre al modello. I valori dell'attribuzione e la loro interpretazione potrebbero cambiare in modo significativo mano a mano che cambi le basi di riferimento.

Puoi visualizzare il conteggio dei percorsi e le basi di riferimento in Parametri e metadati di spiegazione.

Visualizza metadati e parametri della spiegazione

I parametri e i metadati di spiegazione contengono quanto segue:

  • static_value: le base di riferimento utilizzate per generare spiegazioni.
  • pathCount: il numero di path, un fattore relativo al tempo necessario per generare le attribuzioni delle caratteristiche.
  • historical_values, 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 di Vertex AI e include la specifica 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 del 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:

curl

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 funzionalità utilizzando i Valori di Shapley, un algoritmo cooperativo della teoria del gioco che assegna il merito a ciascun giocatore di un gioco per un risultato specifico. Applicato ai modelli di machine learning, ogni caratteristica del modello viene trattata come un "player" 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 denominata Shapley campionato.

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

Passaggi successivi

Le seguenti risorse forniscono ulteriore materiale didattico utile: