Attributions de caractéristiques pour la prévision

Introduction

Cette page offre un bref aperçu des concepts et méthodes d'attribution de caractéristiques disponibles avec Vertex AI. Pour une présentation technique plus détaillée, consultez notre livre blanc sur AI Explanations.

L'importance des caractéristiques globales (attributions des caractéristiques du modèle) indique l'impact de chaque caractéristique sur un modèle. Les valeurs sont fournies sous la forme d'un pourcentage pour chaque caractéristique : plus le pourcentage est élevé, plus l'impact de la caractéristique sur l'entraînement du modèle est important. Par exemple, après avoir examiné l'importance des caractéristiques globales de votre modèle, vous pouvez parvenir à la conclusion suivante : "Le modèle voit que les ventes du mois précédent sont généralement le principal facteur de prédiction pour les ventes du mois suivant. Des facteurs tels que le nombre de clients et les promotions sont importants, mais dans une moindre mesure par rapport aux chiffres de vente."

Pour afficher l'importance des caractéristiques globales de votre modèle, examinez les métriques d'évaluation.

Les attributions de caractéristiques locales pour les modèles de séries temporelles indiquent dans quelle mesure chaque caractéristique d'un modèle a contribué à une prédiction. Elles mesurent la contribution d'une caractéristique à une prédiction par rapport à une entrée de référence. Pour les caractéristiques numériques telles que les ventes, l'entrée de référence correspond à la valeur médiane des ventes. Pour les caractéristiques catégorielles, telles que le nom du produit, l'entrée de référence est le nom de produit le plus courant. La somme de toutes les attributions ne correspond pas à la prédiction. Elle représente l'écart entre la prédiction effectuée et la prédiction de référence (c'est-à-dire quand toutes les entrées sont des entrées de référence).

Les attributions de caractéristiques sont déterminées en fonction des prévisions effectuées pour des contre-facteurs. Voici un exemple de prévision : Quelle serait la prévision si la valeur d'annonce TRUE du 2020-11-21 était remplacée par FALSE, la valeur la plus courante ? Le nombre de contre-facteurs requis évolue en fonction du nombre de colonnes et du nombre de chemins (généré par le service). Le nombre de prédictions qui en résulte peut être supérieur de plusieurs ordres de grandeur au nombre résultant d'une tâche de prédiction normale, et la durée d'exécution attendue évolue en conséquence.

Vous pouvez utiliser les prévisions avec AutoML ou le workflow tabulaire pour les prévisions pour générer et interroger des attributions de caractéristiques locales. Les prévisions avec AutoML ne sont compatibles qu'avec les prédictions par lots. Le workflow tabulaire pour les prévisions est compatible avec les prédictions par lots et les prédictions en ligne.

Avantages

Si vous inspectez des instances spécifiques et regroupez les attributions de caractéristiques dans votre ensemble de données d'entraînement, vous pouvez obtenir des insights plus complets sur le fonctionnement de votre modèle. Tenez compte des avantages suivants :

  • Déboguer les modèles : les attributions de caractéristiques peuvent aider à détecter les problèmes liés aux données que les techniques d'évaluation standards des modèles ne parviennent généralement pas à résoudre.

  • Optimiser les modèles : vous pouvez identifier et supprimer les caractéristiques moins importantes, ce qui permet d'obtenir des modèles plus efficaces.

Limites conceptuelles

Les attributions de caractéristiques comportent les limites suivantes dont vous devez tenir compte :

  • Les attributions de caractéristiques, y compris l'importance des caractéristiques locales pour AutoML, sont spécifiques aux prédictions individuelles. Si inspecter les attributions de caractéristiques pour une prédiction individuelle permet d'obtenir des informations utiles, elles ne sont pas forcément généralisables à l'ensemble de la classe ou du modèle.

    Pour obtenir des informations plus générales sur les modèles AutoML, reportez-vous à l'importance des caractéristiques du modèle. Pour obtenir des insights plus généralisables à d'autres modèles, vous pouvez agréger les attributions dans des sous-ensembles de votre ensemble de données, ou our l'ensemble de données complet.

  • Chaque attribution indique uniquement dans quelle mesure la caractéristique a contribué à la prédiction pour cet exemple particulier. Une attribution particulière peut ne pas refléter le comportement global du modèle. Pour comprendre le comportement approximatif du modèle sur un ensemble de données, agrégez les attributions sur cet ensemble.

  • Bien que les attributions de caractéristiques puissent faciliter le débogage du modèle, elles n'indiquent pas toujours clairement si un problème provient du modèle lui-même ou des données sur lesquelles il est entraîné. Faites appel à votre bon sens et analysez les problèmes de données courants afin de réduire le champ des causes potentielles.

  • Les attributions dépendent entièrement du modèle et des données utilisées pour l'entraîner. Elles se bornent à faire apparaître les motifs que le modèle a trouvés dans les données sans pouvoir détecter de relations fondamentales au sein des données. La présence ou l'absence d'une attribution prononcée à une certaine caractéristique ne signifie pas qu'il existe ou non une relation entre cette caractéristique et la cible. L'attribution indique simplement que le modèle utilise ou non la caractéristique pour effectuer ses prédictions.

  • Les attributions ne peuvent pas à elles seules indiquer si votre modèle est équitable, dépourvu de biais ou de bonne qualité. En plus des attributions, vous devez évaluer avec soin vos données d'entraînement et vos métriques d'évaluation.

Pour en savoir plus sur les limites, consultez le livre blanc sur AI Explanations.

Améliorer les attributions de caractéristiques

Les facteurs qui influent le plus sur les attributions de caractéristiques sont les suivants :

  • Les méthodes d'attribution fonctionnent par approximation des valeurs de Shapley. Vous pouvez augmenter la précision de l'approximation en augmentant le nombre de chemins pour la méthode d'échantillonnage de valeurs de Shapley. Cela pourrait radicalement changer les attributions.
  • Les attributions n'indiquent que l'effet de la caractéristique sur la variation de la valeur de prédiction par rapport à la valeur de référence. Veillez à choisir une référence pertinente en fonction de la question que vous posez au modèle. Les valeurs d'attribution et leur interprétation peuvent changer de manière significative lorsque vous changez de référence.

Vous pouvez afficher le nombre de chemins d'accès et les références dans les paramètres d'explications et les métadonnées.

Afficher les métadonnées et les paramètres d'explications

Les paramètres d'explications et les métadonnées contiennent les éléments suivants :

  • static_value : valeurs de référence utilisées pour générer des explications.
  • pathCount : nombre de chemins, un facteur dans le temps nécessaire à la génération des attributions de caractéristiques.
  • historical_values, prediction_values : colonnes disponibles pour les prévisions.
  • historical_values : colonnes indisponibles pour les prévisions

Le modèle peut être affiché à l'aide de l'API REST Vertex AI et inclut la spécification d'explications.

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • LOCATION : région où votre modèle est stocké
  • PROJECT : l'ID de votre projet.
  • MODEL_ID : ID de la ressource de modèle.

Méthode HTTP et URL :

GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Un résultat semblable aux lignes suivantes doit s'afficher pour un modèle AutoML entraîné.

Algorithm

Vertex AI fournit des attributions de caractéristiques à l'aide des valeurs de Shapley, un algorithme collaboratif issu de la théorie des jeux qui attribue un crédit à chaque joueur pour un résultat particulier. Appliqué aux modèles de machine learning, cela signifie que chaque caractéristique de modèle est traitée comme un "joueur" dans le jeu, et que le crédit est attribué proportionnellement au résultat d'une prédiction particulière. Pour les modèles de données structurées, Vertex AI utilise une approximation d'échantillonnage de valeurs de Shapley exactes nommée Échantillonnage des valeurs de Shapley.

Pour des informations détaillées sur le fonctionnement de la méthode d'échantillonnage des valeurs de Shapley, consultez l'article Bounding the Estimation Error of Sampling-based Shapley Value Approximation (Limiter l'erreur d'estimation de l'approximation d'échantillonnage basée sur les valeurs de Shapley).

Étapes suivantes

Les ressources pédagogiques suivantes vous seront également utiles :