Economie Statistique

Interprétabilité des modèles#

Le machine learning tend à déléguer une partie de la modélisation pour fabriquer des modèles opaques, avec beaucoup de coefficients là où les statistiques privilégient la simplicité. On gagne en rapidité lors de la mise en oeuvre et on perd en interprétabilité. Il est de plus en plus important de comprendre pourquoi un modèle se trompe, pourquoi il donne telle ou telle réponse pour une plus grande transparence. La loi sur le Règlement général sur la protection des données (voir aussi Règlement européen sur la protection des données : ce qui change pour les professionnels), va dans le sens d’une plus grande transparence. Elle doit rentrer en application à partir du 25 mai 2018. La compréhension des décisions d’un modèle est parfois une nécessité. Quelques idées de recherche :

  • Déléguer la complexité sur les variables : on utilise un modèle simple (linéaire, arbre de décision), et on construit de nouvelles variables ou features parfois complexes qui font du sens pour le problèmes et qu’un modèle de machine learning ne pourrait pas reproduire aisément (voir aussi feature learning).

  • Sélectionner les variables et en garder le moins possibles, voir feature selection, voir aussi Feature importances with forests of trees.

  • Extraire des informations sur les variables elle-même, une forêt d’arbre produit une décision pour une observation qui n’utilise qu’une petite partie du modèle, il est possible d’extraire la liste des variables impliquées dans cette décision et de les trier par ordre d’importance, on regarde les parties du modèle activées lors de la prédiction, voir treeinterpreter.

  • Poser des contraintes sur le modèle comme la monotonie de la décision par rapport aux variables, voir Isotonic Regression.

  • Apprendre un second modèle dédié à l’interprétation, voir Making Tree Ensembles Interpretable.

  • Contenir la complexité des modèles, voir The information bottleneck method

  • Visualiser la décision.

Ces approches sont principalement macro et permettent de construire une vue d’ensemble. Pour étudier un cas particulier, une observation, on choisira plutôt d’explorer autour d’une observation en changeant quelques-unes des variables par d’autres valeurs plausibles. C’est l’idée de l’approche LIME. Ces approches sont sensibles au nombre de variables, plus il y a de dimensions, plus il est difficile de donner du sens à une variable en particulier quand celle-ci est présente sur quelques observations seulement.

Notebooks

(à venir) lime, shap, unified approach, partial_dependence, permutation_importance (bientôt dans scikit-learn 0.22)

Lectures - LIME - SHAP

Lectures : livre

Lectures : expliquer

Lectures : monotonie

Lectures : assemblage de modèles simples

Lectures : local

Lectures : modèle graphique

Lectures : erreurs, outliers

Lectures : information bottleneck

Lectures : causalité

Lectures : régression discontinue

Vidéos

Modules

Plein d’autres options sont disponibles sur cette page : awesome-machine-learning-interpretability.

Modules de visualisation

  • Netron : cet outil n’explique pas vraiment mais permet de visualiser des modèles de machine learning.

  • VisualDL : cet outil n’explique pas vraiment mais permet de visualiser des modèles de deep learning.

  • dalex

A suivre