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 sulle spiegazioni dell'IA.

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

Per visualizzare l'importanza delle caratteristiche a livello globale per il modello, esamina le metriche di valutazione.

Le attribuzioni delle funzionalità 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 un valore di riferimento di input. Per funzionalità numeriche come vendite, l'input di riferimento sono le vendite mediane. Per 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 controfattuale. Un esempio di previsione è il seguente: Quale sarebbe la previsione se il valore dell'annuncio TRUE in 2020-11-21 fosse sostituito con FALSE, il valore più comune? Il numero richiesto di scale controfattuale con il numero di colonne e il numero di percorsi (servizio generato). La il numero risultante di previsioni può essere ordini di grandezza maggiori rispetto a la normale attività di previsione e il tempo di esecuzione previsto viene adeguato di conseguenza.

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

Vantaggi

Se esamini istanze specifiche e anche le attribuzioni delle funzionalità aggregate nel set di dati di addestramento, puoi ottenere informazioni più approfondite sul funzionamento del modello. Valuta i seguenti vantaggi:

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

  • Ottimizzazione dei modelli: puoi identificare e rimuovere le caratteristiche 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 delle singole previsioni. L'analisi delle attribuzioni delle caratteristiche per una singola previsione può fornire informazioni buone, ma queste potrebbero non essere generalizzabili all'intera classe per per quella singola istanza o per l'intero modello.

    Per ottenere informazioni più generalizzabili per i modelli AutoML, consulta l'importanza delle funzionalità del modello. Per ottenere insight più generalizzabili per altri modelli, le attribuzioni aggregate in sottoinsiemi del set di dati o dell'intero set di dati.

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

  • Sebbene le attribuzioni delle caratteristiche possano essere utili per il debug del modello, non indicano sempre chiaramente se un problema deriva dal modello o dai dati su cui è addestrato. Usa il tuo buonsenso e diagnostica i problemi comuni relativi ai 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 rilevare relazioni fondamentali all'interno dei dati. La presenza o l'assenza di un una forte attribuzione a una determinata caratteristica non implica che esista o non esista una relazione tra quella caratteristica e il target. L'attribuzione mostra semplicemente indica che il modello sta o non sta usando la caratteristica nelle sue previsioni.

  • Le attribuzioni da sole non sono in grado di capire se il tuo modello è giusto, imparziale o del suono qualità. Valuta attentamente i dati di addestramento e le metriche di valutazione oltre alle attribuzioni.

Per ulteriori informazioni sulle limitazioni, consulta il white paper sulle spiegazioni dell'IA.

Miglioramento delle attribuzioni delle funzionalità

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

  • I metodi di attribuzione si avvicinano al valore di Shapley. Puoi aumentare la precisione dell'approssimazione aumentando il numero di percorsi per il metodo Shapley campionato. Di conseguenza, le attribuzioni potrebbero cambiare drasticamente.
  • Le attribuzioni esprimono solo l'impatto della funzionalità sulla variazione del valore della previsione rispetto al valore di riferimento. Assicurati di scegliere un valore di riferimento significativo, pertinente alla domanda che stai ponendo al modello. I valori dell'attribuzione e la loro interpretazione potrebbero cambiare in modo significativo man mano che cambia base di riferimento.

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

Visualizzare i metadati e i parametri della spiegazione

I parametri e i metadati della 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 la generazione attribuzioni delle caratteristiche.
  • valori_storici, valori_previsione: colonne disponibili per la 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 dell'evidenziazione.

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:

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

Per un modello AutoML addestrato, dovresti vedere un output simile al seguente.

Algoritmo

Vertex AI fornisce attribuzioni delle funzionalità utilizzando i valori di Shapley, un algoritmo della teoria dei giochi cooperativi che assegna il merito a ogni giocatore di una partita per un determinato risultato. Applicata ai modelli di machine learning, ciò significa che ogni la caratteristica del modello viene trattata come un "player" nel gioco e il merito viene assegnato in proporzione al risultato di una particolare previsione. Per i dati strutturati Vertex AI utilizza un'approssimazione di campionamento dei valori di Shapley esatti chiamata Valore di Shapley campionato.

Per informazioni approfondite sul funzionamento del metodo Shapley campionato, leggi il documento Bounding the Estimation Error of Sampling-based Shapley Value Approximation.

Passaggi successivi

Le seguenti risorse forniscono ulteriore materiale didattico utile: