Importance / impact des fonctionnalités pour les prévisions individuelles

8

Au niveau du modèle, pour évaluer la contribution / l'importance des prédicteurs, nous pouvons utiliser:

  • Techniques spécifiques au modèle - par exemple pureté (indice de Gini) pour un modèle basé sur un arbre, coefficients du modèle le cas échéant, etc.
  • Techniques indépendantes du modèle - par exemple, importance des caractéristiques de permutation, dépendance partielle, etc.

Ce que cela ne donne pas, c'est pour une prédiction particulière (disons une classification binaire qui fournit une probabilité d'appartenance à la classe 1 de 92%) quels prédicteurs ont été les plus «influents» dans la production de cette prédiction.

Ayant un peu réfléchi à ce problème, il me semble que quelques approches pourraient être envisagées:

Il me semble que l'approche la plus valable serait une technique indépendante du modèle étant donné la nature quelque peu «boîte noire» de nombreux algorithmes, et offrant une capacité d'interpréter des algorithmes et des techniques nouveaux et nouveaux.

Une méthode naïve, décrite ici ( http://amunategui.github.io/actionable-instights/index.html ) consiste à prendre chaque prédicteur, à «neutraliser» son impact en imputant la moyenne de la «population» et à relancer la prédiction obtenir une différence entre la prédiction d'origine et la version neutralisée fournissant une mesure d'importance. Cela semble un cas particulier d'une sorte de méthode de «perturbation» évoquée ci-dessus. Voici quelques défauts que je constate: 1) cela semble impliquer qu'une prédiction qui a la «moyenne» (ou l'équivalent) de chaque caractéristique est nécessairement une prédiction «moyenne» peut-être, et 2) que les caractéristiques qui sont «signifie »(Ou équivalent) sont nécessairement sans impact?

Plus généralement, toute technique devrait prendre en compte:

  • Comment gérer différents types de données (numériques, catégoriques, etc.)
  • Comment gérer les données manquantes
  • Comment gérer l'importance conditionnelle peut-être (c'est-à-dire que les prédicteurs peuvent n'être importants que par paires, etc.)
  • Efficacité informatique (est-il vraiment pratique d'exécuter une prédiction p fois où p est le nombre de prédicteurs, ou pour une méthode de perturbation kpk est le nombre de prédictions par prédicteur, etc.)

Avec ces réflexions lâches et peut-être incorrectes sur la question posées, je me demande quelles approches du problème les gens connaissent, ont envisagé, ont utilisé, conseilleraient etc.?

ouverture de la boîte noire
la source

Réponses:

8

Le sujet que vous abordez est connu sous le nom d'explication de modèle ou d'interprétation de modèle et est un sujet assez actif en recherche. L'idée générale est de savoir quelles fonctionnalités ont contribué au modèle et lesquelles non.

Vous avez déjà mentionné certaines techniques populaires, telles que les diagrammes de dépendance partielle (PDP) ou LIME. Dans un PDP, l'influence de la valeur d'une entité sur la sortie du modèle est affichée en créant de nouvelles instances à partir des données qui ont une valeur d'entité modifiée et en les prédisant par le modèle. LIME crée une approximation locale du modèle en échantillonnant des instances autour d'une instance demandée et en apprenant un modèle plus simple et plus interprétable.

Dans la méthode naïve que vous avez décrite, l'impact d'une caractéristique est neutralisé en la définissant sur la moyenne de la population. Vous avez tout à fait raison, ce n'est pas une méthode appropriée, car la prédiction de la valeur moyenne n'est probablement pas la prédiction moyenne. En outre, il ne reflète pas la distribution des fonctionnalités et ne fonctionne pas pour les attributs catégoriels.

Robnik-Sikonja et Kononenko [1] ont résolu ce problème. Leur idée de base est la même: la différence de prédiction entre l'instance inchangée et une instance avec une fonction neutralisée. Cependant, au lieu de prendre la valeur moyenne pour se débarrasser de l'impact des fonctionnalités, ils créent plusieurs copies d'instance, chacune avec une valeur différente. Pour les valeurs catégorielles , ils itèrent sur toutes les catégories possibles; pour les valeurs numériques , ils discrétisent les données dans des bacs. Les instances décomposées sont pondérées par la fréquence de valeur de caractéristique dans les données. Les données manquantes peuvent être ignorées en utilisant des classificateurs capables de les gérer ou en les imputant, par exemple en définissant les valeurs sur la moyenne. Importance conditionnellea été abordé dans une deuxième publication de Strumbelj et al [2]. Ils ont étendu l'approche originale en créant non seulement des instances décomposées d'une seule entité, mais ont observé comment la prédiction change pour chaque sous-ensemble de l'ensemble de puissance des valeurs d'entités. Ceci est bien sûr très coûteux en calcul (comme ils se mentionnent et ont essayé de s'améliorer par un échantillonnage plus intelligent à Strumbelj et Kononenko [3]).

Soit dit en passant: pour les données binaires, ce problème devient beaucoup plus facile, car il suffit de comparer la prédiction entre l' attribut est présent et non présent . Martens et Provost [4] en ont discuté pour la classification des documents.

Une autre approche pour trouver des groupes de caractéristiques significatives a été proposée par Andreas Henelius dans [5] and [6]. L'idée de son algorithme GoldenEye est de permuter les données au sein de la classe et du groupe d'entités. Imaginez un tableau de données où chaque ligne représente une instance et chaque colonne est une entité. Dans chaque colonne, toutes les lignes qui partagent la même classe sont permutées. Les caractéristiques sont regroupées, c'est-à-dire permutées ensemble. Si la classification sur les données permutées est très différente (pire) que les données d'origine, le groupe actuel ne reflète pas le vrai groupe. Consultez les publications, c'est mieux décrit là-bas. Cette approche devient également coûteuse en calcul .

Je voudrais également me référer aux publications de Josua Krause [7], [8]. Il a développé des workflows d'analyse visuelle interactive pour l'analyse des problèmes de classification basés sur des instances binaires, y compris un PDP amélioré. Ils sont bien écrits et d'une lecture intéressante.


[1] Robnik-Šikonja, M. (2004, septembre). Amélioration des forêts aléatoires. Dans une conférence européenne sur l'apprentissage automatique (pp. 359-370). Springer, Berlin, Heidelberg.

[2] Štrumbelj, E., Kononenko, I., et Šikonja, MR (2009). Expliquer les classifications d'instances avec les interactions de sous-ensembles de valeurs d'entités. Ingénierie des données et des connaissances, 68 (10), 886-904.

[3] Štrumbelj, E. et Kononenko, I. (2014). Expliquer les modèles de prédiction et les prévisions individuelles avec des contributions de fonctionnalités. Systèmes de connaissances et d'information, 41 (3), 647-665.

[4] Martens, D. et Provost, F. (2013). Expliquer les classifications de documents axées sur les données.

[5] Henelius, A., Puolamäki, K., Boström, H., Asker, L., et Papapetrou, P. (2014). Un coup d'œil dans la boîte noire: explorer les classificateurs par randomisation. Exploration de données et découverte de connaissances, 28 (5-6), 1503-1529. #

[6] Henelius, A., Puolamäki, K., Karlsson, I., Zhao, J., Asker, L., Boström, H., et Papapetrou, P. (2015, avril). Goldeneye ++: un examen plus approfondi de la boîte noire. Dans International Symposium on Statistical Learning and Data Sciences (pp. 96-105). Springer, Cham.

[7] Krause, J., Perer, A. et Ng, K. (2016, mai). Interaction avec les prédictions: inspection visuelle des modèles d'apprentissage automatique à boîte noire. Dans les actes de la conférence CHI 2016 sur les facteurs humains dans les systèmes informatiques (pp. 5686-5697). ACM.

[8] Krause, J., Dasgupta, A., Swartz, J., Aphinyanaphongs, Y., et Bertini, E. (2017). Un flux de travail pour les diagnostics visuels des classificateurs binaires à l'aide d'explications au niveau de l'instance. arXiv preprint arXiv: 1705.01968.

tsabsch
la source
Quelle réponse brillante et conforme à beaucoup de mes réflexions sur ce sujet. Merci beaucoup pour votre temps et votre expertise. Les références sont particulièrement utiles.
ouverture de la boîte noire le
2
+1 Le papier 2014 Štrumbelj & Kononenko n'obtient pas à distance la reconnaissance qu'il mérite. Leur approche théorique du jeu est comme " WOW! "
usεr11852
0

Deux autres méthodes méritent d'être mentionnées ici:

1) l' algorithme SHAP de Lundberg & Lee , une extension de l'approche théorique du jeu de Štrumbelj & Kononenko qui, selon eux, unifie LIME et un certain nombre d'autres mesures d'importance locale; et

2) Méthode contrefactuelle de Wachter et al. , Basée sur des réseaux contradictoires génératifs.

Les deux méthodes ont des avantages et des inconvénients. SHAP est très rapide et est livré avec une implémentation Python conviviale . Malheureusement, cependant, il compare toujours les points au centre de données, ce qui peut ne pas être le contraste pertinent dans certains cas. De même, comme LIME et un certain nombre d'autres algorithmes, il suppose (ou applique) une linéarité locale, ce qui peut conduire à des résultats instables ou non informatifs lorsque notre cas d'intérêt se situe près d'une région nettement non linéaire de la frontière de décision ou de la surface de régression.

La solution de Wachter et al. Est plus flexible à cet égard, une déviation rafraîchissante par rapport à ce que Lundberg & Lee appelle le paradigme "attribution de caractéristiques additives". Je ne connais cependant aucune implémentation open source. Les frais généraux supplémentaires de la formation GAN peuvent également être extrêmement onéreux pour certains ensembles de données.

dswatson
la source