精读SHAP

A Unified Approach to Interpreting Model Predictions

Abstract

  • 定义了加性特征归属度一类方法,是现有六种方法的集合。
  • 加性特征归属度一类方法存在唯一的解决方案;提出SHAP值作为统一的特征重要性度量。
  • 提出了SHAP值的估计方法,证明它是符合人认知的,通过对比可知它能更有效地区分模型输出类。

Additive Feature Attribution Methods

这是一类将分类模型$f$预测的任何解释视为解释模型$g$本身的方法。(Local Method)

包含一个原始输入到简化输入的映射关系$x=h_x\left(x^{\prime}\right)$,

Local Method极力做到$g\left(z^{\prime}\right) \approx f\left(h_x\left(z^{\prime}\right)\right)$,$z^{\prime} \approx x^{\prime}$。

image-20230129095255058

LIME、DeepLIFT、Layer-Wise Relevance Propagation、Classic Shapley Value Estimation(包含以下三种)都满足上定义。

Shapley regression values

每个特征值的Shapley值是该特征值对预测的贡献,通过对所有可能的特征值组合进行加权和求和得到:
$$
\phi_i=\sum_{S \subseteq F \backslash{i}} \frac{|S| !(|F|-|S|-1) !}{|F| !}\left[f_{S \cup{i}}\left(x_{S \cup{i}}\right)-f_S\left(x_S\right)\right]
$$
$\phi_0=f_{\varnothing}(\varnothing)$时,Shapley regression values满足Definition的等式(1)。

这样计算得到的Shapley值是唯一满足效率性(Efficiency)对称性(Symmetry)虚拟性(Dummy)可加性(Additivity)四个属性的归因方法,它们可以一起被视为公平支出的定义。

效率性:特征贡献的累加等于 x 的预测和预测平均值的差值。
$$
\sum_{j=1}^p \phi_j=\hat{f}(x)-E_X(\hat{f}(X))
$$
对称性:如果两个特征值 j 和 k 的贡献对所有可能的联盟贡献相同,则它们的贡献应该相同。
$$
\begin{array}{lc}
\text { if } & \operatorname{val}\left(S \cup\left{x_j\right}\right)=\operatorname{val}\left(S \cup\left{x_k\right}\right) \
\text { for all } & S \subseteq\left{x_1, \cdots, x_p\right} \backslash\left{x_j, x_k\right} \
\text { then } & \phi_j=\phi_k
\end{array}
$$
虚拟性:一个不改变预测值的特征 j ,无论它添加到哪个特征值联盟中,Shapley值都应该为0。
$$
if \quad \operatorname{val}\left(S \cup\left{x_j\right}\right)=\operatorname{val}(S)\
forall \quad S \subseteq\left{x_1, \cdots, x_p\right}\
then \quad \phi_j=0$
$$
可加性:对于具有组合支出的情景,相应的Shapley值应为:$\phi_j=\phi_j^{+}$

Shapley sampling values

通过抽样去近似估计Shapley regression values,因为精确的Shapley值必须通过使用和不使用第$i$个特征的所有可能特征联盟$S$来估计,当特征数较多时,可能的联盟数量会随着特征的增加而呈指数增长,2014年提出蒙特卡罗采样的近似值(Shapley sampling values)。

Quantitative Input Influence

A broader framework that addresses more than feature attributions.


Simple Properties Uniquely Determine Additive Feature Attributions

Additive Feature Attribution Methods存在一个唯一的能同时具有三种理想属性的解决方案:

image-20230129103559903

其满足:

Properties1 Local accuracy局部准确

对于每一个样本,各个特征的归因值与常数归因值之和等于模型的输出值f(x)
$$
f(x)=g\left(x^{\prime}\right)=\phi_0+\sum_{i=1}^M \phi_i x_i^{\prime}
$$
Properties2 Missingness缺失性

缺失性表示缺失特征的归因值为零,这里的缺失不是结构化数据的某个特征值是空,而是某个特征在实例中观察不到。对于一个结构化数据的实例,所有的$x_i^{\prime}$都为1。
$$
x_i^{\prime}=0 \Longrightarrow \phi_i=0
$$
Properties3 Consistency一致性
$$
\begin{array}{lc}
\text { if } & \quad f_x^{\prime}\left(z^{\prime}\right)-f_x^{\prime}\left(z^{\prime} \backslash j\right) \geq f_x\left(z^{\prime}\right)-f_x\left(z^{\prime} \backslash j\right) \
\text { for all inputs } & \quad z^{\prime} \in{0,1}^M\
\text { then } & \quad \phi_j\left(f^{\prime}, x\right) \geq \phi_j(f, x)
\end{array}
$$
一致性属性表示,如果模型发生更改,使得特征值的边际贡献增加或保持不变(与其他特征无关),则归因值也会增加或保持不变。

Young认为Shapley值的可加性和虚拟性可以用单调性代替,而一致性其实就是单调性,并且在论文中认为对于机器学习模型,单调性意味着对称性,所以一致性对应Shapley值的可加性、虚拟性和对称性。具体解释见stackexchange


SHAP (SHapley Additive exPlanation) Values

是隶属于加性特征归属度方法的,不同于shapley回归的是预测解释为引入条件期望的每个特征的影响$\phi_j$的总和。

image-20230129183424452

定义$f_x(S)=E\left[f(x) \mid x_S\right]$,S是输入特征可能的子集合(Shapley值中提到的联盟),$E\left[f(x) \mid x_S\right]$是输入特征的子集S的条件期望值(Shapley值提到的val函数)。

  • S为空集时,$\phi_0=f_x(\varnothing)=E[f(x)]$,即为模型预测值的期望,可以用训练样本的模型预测值的平均值近似.
  • 接下来S顺序加入特征$x_{1}$,此时$\phi_1=f_x\left(\left{x_1\right}\right)-f_x(\varnothing)=E\left[f(x) \mid x_1\right]-E[f(x)]$,即$\left{x_1=a_1\right}$时的模型预测值期望 - 模型预测值期望.
  • 然后S顺序加入特征$x_{2}$,此时$\phi_2=f_x\left(\left{x_1, x_2\right}\right)-f_x\left(\left{x_1\right}\right)=E\left[f(x) \mid x_1, x_2\right]-E\left[f(x) \mid x_1\right]$,即$\left{ x_1=a_1,x_2=a_2 \right} $时的模型预测值期望 - $\left{ x_1=a_1 \right}$ 时的模型预测值期望.
  • 直至加入最后一个特征$ x4 $,此时 $\phi_4=f_x(\left{ x_1,x_2,x_3,x_4 \right})-f_x(\left{ x_1,x_2,x_3 \right} )=E[f(x)|x_1,x_2,x_3,x_4]-E[f(x)|x_1,x_2,x_3] $,即$\left{ x_1=a_1,x_2=a_2,x_3=a_3,x_4=a_4 \right} $时的模型预测值期望 - $\left{ x_1=a_1,x_2=a_2,x_3=a_3 \right} $时的模型预测值期望,此时为四个特征单一排序下的预测值,其实就是样本的预测值.

当模型是非线性的或输入特征不是独立时,SHAP值应该对所有可能的特征排序计算加权平均值。SHAP将这些条件期望与从博弈论的经典Shapley值组合到每个特征的归因值$\phi_j$ 中,也就是根据下式进行计算:
$$
\phi_j=\sum_{S \subseteq\left{x_1, \cdots, x_p\right} \backslash\left{x_j\right}} \frac{|S| !(p-|S|-1) !}{p !}\left(f_x\left(S \cup\left{x_j\right}\right)-f_x(S)\right)
$$

Kernel SHAP (Linear LIME + Shapley values)

以上提到的六种加性特征归属度方法除了Classic Shapley Value Estimation本就满足,其他都只满足Properties2。

The following section proposes a unified approach that improves previous methods, preventing them from unintentionally violating Properties 1 and 3.

对LIME修正使其满足Local accuracy和Consistency:

image-20230129205004552

KernelSHAP是完全模型无关的,可以搭配任何算法去近似shaply值。

SHAP interaction valus

是shap值的拓展,可以展示各个特征之间的组合影响关系,比如通过一个矩阵显示出来。本来KernelSHAP的速度就慢,若要计算交互值最好使用treeSHAP否则会极慢。