I valori Shapley della libreria Shap

Valori Shapley e la teoria dei giochi cooperativi

I valori Shapley sono una tecnica di interpretazione dell’AI (Shap) che ci aiuta a capire quali variabili di input contribuiscono maggiormente alle previsioni finali del modello. Ma come funzionano esattamente questi valori e da dove vengono?

Innanzitutto, i valori Shapley si basano sulla teoria dei giochi cooperativi, una branca della matematica che studia il comportamento strategico di un gruppo di giocatori che cercano di raggiungere un obiettivo comune. Nel caso dei valori Shapley, i “giocatori” sono le variabili di input di un modello predittivo e l’obiettivo comune è la previsione finale del modello.

Cosa sono i valori Shapley, analogia con il basket

Per capire meglio come funzionano i valori Shapley, possiamo immaginare di essere in una partita di basket con gli occhi coperti. Ascoltiamo l’annunciatore che ci dice quali giocatori entrano e escono dal campo, ma non sappiamo chi ha segnato un punto. L’unica cosa che possiamo fare per valutare l’efficacia dei giocatori è pensare che l’ultimo giocatore arrivato abbia avuto a che fare con l’ultimo risultato buono o cattivo che sia. Se calcoliamo le valutazioni dei giocatori per l’intera partita, possiamo stabilire quali giocatori sono maggiormente correlati con i risultati migliori, quali sono maggiormente correlati ai risultati peggiori e quali non hanno alcun effetto.

Nella teoria dei giochi cooperativi, le combinazioni di giocatori sono chiamate “coalizioni”, le differenze nei punteggi sono i “contributi marginali” e i valori Shapley sono la media di questi contributi su molte simulazioni. Nel caso di un modello di machine learning, le variabili di input sono i “giocatori”, i diversi sottoinsiemi di variabili sono le “coalizioni” di giocatori e le differenze nell’errore predittivo sono i “contributi marginali”.

Come si calcolano gli Shapley

Per calcolare il valore Shapley per una variabile e un sottoinsieme specifico, si calcola il contributo quando si aggiunge quella variabile a quel sottoinsieme e si sommano i contributi su tutti i possibili sottoinsiemi. In parole povere, il valore Shapley è il contributo marginale medio di una variabile in tutti i possibili sottoinsiemi. Tuttavia, il calcolo del valore Shapley ha un costo computazionale molto elevato, quindi vengono utilizzate strategie come il metodo Monte Carlo sampling per campionare casualmente una distribuzione di probabilità. Solo alcuni explainer calcolano i valori Shapley in brute force, per maggiori informazioni leggi l’articolo Gli Explainer di SHAP per spiegare un modello ML.

Per quanto riguarda il calcolo di un modello, una variabile non può essere eliminata, quindi l’algoritmo dello SHAP mescola le variabili per calcolare la loro importanza.

La consistenza di queste permutazioni è assicurata dalle seguenti proprietà della teoria dei giochi:

  • Dummy: Se una variabile non contribuisce mai un valore marginale allora il valore Shapley=0.
  • Sostituibilità: Se due variabili contribuiscono ugualmente ai possibili sottoinsiemi allora sono uguali.
  • Additività: Il valore di Shapley delle variabili nel modello di insieme è uguale alla somma dei valori di Shapley della variabili in ciascuno dei k sottomodelli.
  • Efficienza: La proprietà di efficienza dei valori di Shapley stabilisce che la somma di tutti i valori di Shapley deve corrispondere alla differenza tra la previsione del modello e il valore atteso.

Per vedere dei tutorial cerca nella sezione XAI del nostro sito.

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Iscriviti alla nostra newsletter

Tieniti aggiornato sulle ultime novità riguardo la XAI e il Deep Learning.