SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2008.05030 · 2020

Reliable Post hoc Explanations: Modeling Uncertainty in Explainability

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 11 functions out of this paper's own repositories and ran 9 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
dylan-slack/modeling-uncertainty-local-explainability pwc_unofficial 9 of 11
FunctionStatusWhere it lives
fill_segmentation Ran dylan-slack/modeling-uncertainty-local-explainability/visualization/image_posterior.py
code served (permissive licence) · get_code("d359b9f758dfbf7a")
get_all_points_less_than_eps Ran dylan-slack/modeling-uncertainty-local-explainability/experiments/stability.py
code served (permissive licence) · get_code("e7e614ff440495e7")
get_creds Ran dylan-slack/modeling-uncertainty-local-explainability/experiments/calibration.py
code served (permissive licence) · get_code("2ebea4b2b8e58e96")
get_epsilon_tightness Ran dylan-slack/modeling-uncertainty-local-explainability/experiments/stability.py
code served (permissive licence) · get_code("d4260adff9d42932")
get_imagenet Ran dylan-slack/modeling-uncertainty-local-explainability/bayes/data_routines.py
code served (permissive licence) · get_code("9b9aeb04bf81f6f6")
get_xtrain Ran dylan-slack/modeling-uncertainty-local-explainability/bayes/models.py
code served (permissive licence) · get_code("a14c4857f68c99a2")
load_image Ran dylan-slack/modeling-uncertainty-local-explainability/bayes/data_routines.py
code served (permissive licence) · get_code("90517ea60254868b")
map_to_list Ran dylan-slack/modeling-uncertainty-local-explainability/experiments/stability.py
code served (permissive licence) · get_code("d6d888a31a110191")
nCk Ran dylan-slack/modeling-uncertainty-local-explainability/bayes/explanations.py
code served (permissive licence) · get_code("f44b64afd587fa14")
get_mnist Not yet run dylan-slack/modeling-uncertainty-local-explainability/bayes/data_routines.py
code served (permissive licence) · get_code("e947cb61477d2661")
process_imagenet_get_model Not yet run dylan-slack/modeling-uncertainty-local-explainability/bayes/models.py
code served (permissive licence) · get_code("343878ebfe5a34e3")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

As black box explanations are increasingly being employed to establish model credibility in high-stakes settings, it is important to ensure that these explanations are accurate and reliable. However, prior work demonstrates that explanations generated by state-of-the-art techniques are inconsistent, unstable, and provide very little insight into their correctness and reliability. In addition, these methods are also computationally inefficient, and require significant hyper-parameter tuning. In this paper, we address the aforementioned challenges by developing a novel Bayesian framework for generating local explanations along with their associated uncertainty. We instantiate this framework to obtain Bayesian versions of LIME and KernelSHAP which output credible intervals for the feature importances, capturing the associated uncertainty. The resulting explanations not only enable us to make concrete inferences about their quality (e.g., there is a 95% chance that the feature importance lies within the given range), but are also highly consistent and stable. We carry out a detailed theoretical analysis that leverages the aforementioned uncertainty to estimate how many perturbations to sample, and how to sample for faster convergence. This work makes the first attempt at addressing several critical issues with popular explanation methods in one shot, thereby generating consistent, stable, and reliable explanations with guarantees in a computationally efficient manner. Experimental evaluation with multiple real world datasets and user studies demonstrate that the efficacy of the proposed framework.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2008.05030")
get_code_for_paper("2008.05030")
have("2008.05030")

Connect an agent — have() is free.