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 ogni caratteristica: più alta è la percentuale, maggiore è l'impatto della caratteristica sull'addestramento del modello. Ad esempio, dopo aver esaminato l'importanza delle funzionalità a livello globale per il tuo modello, potresti giungere alla seguente conclusione: "Il modello ritiene che le vendite del mese precedente siano in genere il miglior predittore delle vendite del mese successivo. Fattori come il numero di clienti e le promozioni sono importanti, ma meno importanti dei dati sulle vendite".
Per visualizzare l'importanza globale delle caratteristiche 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 le caratteristiche numeriche come le vendite, l'input di riferimento è la mediana delle vendite. Per gli attributi categorici 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 funzionalità vengono determinate in base alle previsioni effettuate per i scenari controfattuali. 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 controfattuali varia con il numero di colonne e il numero di percorsi (generati dal servizio). Il
numero di previsioni risultante può essere di ordini di grandezza superiore rispetto a un
compito di previsione normale e il tempo di esecuzione previsto varia di conseguenza.
Puoi utilizzare la previsione con AutoML o il workflow tabulare per la previsione per generare query e attribuire le funzionalità locali. Le previsioni con AutoML supportano solo le previsioni batch. Il flusso di lavoro tabulare per la previsione supporta sia le previsioni batch sia 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:
Eseguire il debug dei modelli: le attribuzioni delle caratteristiche possono aiutare a rilevare i problemi nei dati che le tecniche di valutazione dei modelli standard di solito non rilevano.
Ottimizzazione dei modelli: puoi identificare e rimuovere le funzionalità meno importanti, il che può comportare modelli più efficienti.
Limitazioni concettuali
Tieni presenti le seguenti limitazioni delle attribuzioni delle funzionalità:
Le attribuzioni delle funzionalità, inclusa l'importanza delle funzionalità locali per AutoML, sono specifiche per le singole previsioni. L'esame delle attribuzioni delle caratteristiche per una singola previsione può fornire informazioni utili, ma queste potrebbero non essere generalizzabili all'intera classe per quella singola istanza o per l'intero modello.
Per ottenere 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 per sottoinsiemi del set di dati o per l'intero set di dati.
Ogni attribuzione mostra solo in che misura la funzionalità ha influito sulla previsione per quel determinato esempio. Una singola attribuzione potrebbe non riflettere il comportamento complessivo del modello. Per comprendere il comportamento approssimativo del modello in un intero set di dati, aggrega le attribuzioni nell'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 addestrarlo. Possono rivelare solo i pattern trovati dal modello nei dati e non possono rilevare alcuna relazione fondamentale nei dati. La presenza o l'assenza di un'attribuzione forte a una determinata funzionalità non indica che esista o meno una relazione tra la funzionalità e il target. L'attribuzione mostra semplicemente che il modello utilizza o meno la funzionalità nelle sue previsioni.
Le attribuzioni da sole non possono indicare se il tuo modello è equo, imparziale o di buona qualità. Valuta attentamente i dati di addestramento e le metriche di valutazione, oltre agli attributi.
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 approssimano il 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 notevolmente.
- 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 di attribuzione e la loro interpretazione potrebbero cambiare in modo significativo quando cambi le linee di base.
Puoi visualizzare il conteggio dei percorsi e le linee di base in Parametri di spiegazione e Metadati.
Visualizzare i metadati e i parametri della spiegazione
I parametri e i metadati della spiegazione contengono quanto segue:
- static_value: i valori di riferimento utilizzati per generare spiegazioni.
- pathCount: il numero di percorsi, un fattore che influisce sul tempo necessario per generare le attribuzioni delle funzionalità.
- 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, apporta 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. Applicato ai modelli di machine learning, ciò 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 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: