Attribuzioni delle caratteristiche per la previsione

Introduzione

Questa pagina fornisce una breve panoramica concettuale dei metodi di attribuzione delle caratteristiche disponibili con Agent Platform.

L'importanza globale delle caratteristiche (attribuzioni delle funzionalità del modello) mostra in che modo ciascuna caratteristica influisce su un modello. I valori sono una percentuale per ogni caratteristica: più alta è la percentuale, maggiore è l'impatto che la caratteristica ha avuto sull'addestramento del modello. Ad esempio, dopo aver esaminato l'importanza globale delle funzionalità per il tuo modello, potresti giungere alla seguente conclusione: "Il modello rileva che le vendite del mese precedente sono in genere il miglior predittore delle vendite del mese successivo. Fattori come il numero di clienti e le promozioni sono importanti, ma meno importanti delle cifre di vendita".

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

Le attribuzioni delle caratteristiche locali per i modelli di serie temporali indicano in che misura ogni caratteristica di un modello ha contribuito a un'inferenza. Misurano il contributo di una funzionalità a un'inferenza rispetto a una base di riferimento di input. Per le caratteristiche numeriche come le vendite, l'input di base è la mediana delle vendite. Per le funzionalità categoriche come il nome del prodotto, l'input di base è il nome del prodotto più comune. La somma di tutte le attribuzioni non è l'inferenza. La somma indica la differenza tra l'inferenza e l'inferenza di base (ovvero tutti gli input sono input di base).

Le attribuzioni delle funzionalità sono determinate in base alle previsioni effettuate per i scenari controfattuali. Un esempio di previsione è il seguente: qual è la previsione se il valore della pubblicità di TRUE il giorno 2020-11-21 è stato sostituito con FALSE, il valore più comune? Il numero richiesto di scenari controfattuali aumenta in base al numero di colonne e di percorsi (generati dal servizio). Il numero risultante di inferenze può essere di ordini di grandezza superiore rispetto a un normale compito di inferenza e il tempo di esecuzione previsto aumenta di conseguenza.

Puoi utilizzare Previsione con AutoML o Workflow tabulare per la previsione per generare ed eseguire query sulle attribuzioni delle funzionalità locali. La previsione con AutoML supporta solo le inferenze batch. Il workflow tabulare per la previsione supporta sia le inferenze batch sia le inferenze online.

Vantaggi

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

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

  • Ottimizzazione dei modelli: puoi identificare e rimuovere le funzionalità meno importanti, il che può portare a 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 inferenze. L'ispezione delle attribuzioni delle funzionalità per una singola inferenza può fornire informazioni utili, ma queste potrebbero non essere generalizzabili all'intera classe per quella singola istanza o all'intero modello.

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

  • Ogni attribuzione mostra solo in che misura la funzionalità ha influito sull'inferenza per quell'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 essere utili per il debug del modello, non indicano sempre chiaramente se un problema deriva dal modello o dai dati su cui viene addestrato il modello. Usa il 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 che il modello ha trovato 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 significa che esista o meno una relazione tra questa funzionalità e il target. L'attribuzione mostra semplicemente se il modello utilizza o meno la funzionalità nelle sue inferenze.

  • Le attribuzioni da sole non possono indicare se il modello è equo, imparziale o di buona qualità. Valuta attentamente i dati di addestramento e le metriche di valutazione oltre alle attribuzioni.

Per ulteriori informazioni sulle limitazioni, consulta il [white paper su AI Explanations].

Miglioramento delle attribuzioni di funzionalità

I seguenti fattori hanno il maggiore impatto 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 radicalmente.
  • Le attribuzioni esprimono solo l'impatto della funzionalità sulla variazione del valore di inferenza rispetto al valore di base. Assicurati di scegliere una base di riferimento significativa e pertinente alla domanda che poni al modello. I valori di attribuzione e la loro interpretazione potrebbero cambiare in modo significativo quando cambi le basi di riferimento.

Visualizza il conteggio dei percorsi e le baseline in Parametri e metadati della spiegazione.

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 le spiegazioni.
  • pathCount: il numero di percorsi, un fattore che influisce sul tempo necessario per generare le attribuzioni delle funzionalità.
  • historical_values, prediction_values: colonne disponibili nella previsione.
  • historical_values: colonne non disponibili per la previsione.

Il modello può essere visualizzato utilizzando l'API REST di Agent Platform e include la specifica della spiegazione.

REST

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

  • LOCATION: la regione in cui è archiviato il modello
  • PROJECT: Il tuo [ID progetto](/resource-manager/docs/creating-managing-projects#identifiers). .
  • 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 di queste 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

Gemini Enterprise Agent Platform fornisce attribuzioni di funzionalità utilizzando i valori di Shapley, un algoritmo di teoria dei giochi cooperativi che assegna un credito a ogni giocatore di una partita per un risultato particolare. Applicato ai modelli di machine learning, ciò significa che ogni funzionalità del modello viene trattata come un "giocatore" nel gioco e il credito viene assegnato in proporzione al risultato di una particolare inferenza. Per i modelli di dati strutturati, Agent Platform utilizza un'approssimazione di campionamento dei valori di Shapley esatti chiamata Shapley campionato.

Per informazioni dettagliate su come funziona il metodo di Shapley basato sul campionamento, leggi l'articolo [Bounding the Estimation Error of Sampling-based Shapley Value Approximation][sampled-shapley-paper].

Passaggi successivi

Le seguenti risorse forniscono ulteriore materiale didattico utile: