可解释人工智能及其研究-SHAP算法说明篇


SHAP可解释性算法

  1. 算法介绍:SHAP(SHapley Additive exPlanation),一种基于博弈论思想为载体的、模型无关(可以用于任何机器学习)的、事后机器学习可解释算法。能衡量单次预测结果中的特征贡献,也能聚合局部结果作为对模型的整体解释。其中:
    • SHapley :代表对每个样本中的每一个特征变量,都计算出它的Shapley Value;
    • Additive :代表对每一个样本而言,特征变量对应的Shapley Value是可加的;
    • exPlanation:代表对每个样本的解释,即每个特征变量是如何影响模型的预测值。

算法原理:夏普利值(shapley value)

  1. 算法历史:
    • 2012年诺贝尔经济学奖得主LIoyd.S.Shapley在1953年提出的分配方式(论文《A Value for n-Person Games》)。
    • 2010年, Erik Štrumbelj 和 Igor Kononenko 发表题为《An Efficientterpretation of individual Classification using Game Theory》”的论文,首次提出使用 Shapley 值来解释机器学习模型的预测。
    • 2017年,Scott Lundberg 和 Su-In Lee 发表题为《A unified approach to interpreting model predictions》的论文,详细介绍了SHapley Additive exPlanations (SHAP)用于机器学习可解释性。
  2. 价值:是模型可解释性领域为数不多、理论严谨的算法,是唯一无偏地满足可加性、对称性、冗员性和有效性的指标。
  3. 解决问题:主要用于按照合作各方对合作总目标的贡献程度,按照贡献度分配,避免平均主义,来解决在合作博弈中各方的利益分配问题。
  4. 基础公理:可加性、对称性、冗员性和有效性,LIoyd.S.Shapley证明,原始Shapley值是唯一满足这四条公理的合作博弈解,而且最具合理性和公平性的分配方式也是唯一的。
    • 可加性(Additivity):不同模型在相同输入单元中计算得到的重要性数值是线性可加的;表示在有多种合作时,每种合作的利益分配方式与其他合作结果无关。
    • 对称性(Symmetry):始终起到相同作用的两个输入单元,其得到的重要性数值也是相同的;表示合作获利的分配不随每个人在合作中的记号或者次序变化,即博弈顺序不影响博弈收益。
    • 冗员性(Dummy):输入样本中的冗员单元的重要性等于其独立作用于神经网络的输出,这里的冗员单元定义为不与其它任何单元相互作用的输入单元;表示如果一个成员对于任何他参与的合作联盟都没有贡献,则他不应该从全体合作中获利。
    • 有效性(Efficiency 效率):所有输入单元的重要性之和恰好为神经网络的输出;表示合作各方获利总和等于合作获利。
  5. shapley value和可解释性关系:在机器学习领域,“模型特征”可以用shapley value去刻画每个模型特征对最后模型结果的“贡献”,类似于特征重要性。
  6. shapley value在机器学习模型解释中的难点:
    • 每个子集或联盟收益情况判断:一般我们知道组合最大或最大子集的情况下的收益,无法知道从单个子集到最大子集等所有组合子集的收益情况。
    • 计算复杂度指数级计算:由于shapley value依赖子集逐个计算,导致shapley value计算复杂度随指数级增长。即$O(2^{M})$,M为子集个数

shapley value数学原理解释

模型的输入特征表示为“玩家”, 对于给定输入基于特征子集$S$进行预测表示“游戏”,特征子集$S$表示“合作”,使用子集$S$时的模型预测值和基线预测值之差被定义为“价值函数”$\upsilon(S)$, $\phi_{i}(f, x)$量化第$i$个特征对预测模型$f(x)$的平均边际贡献,它本身通过考虑所有不含特征$i$的特征子集$S$,计算特征$i$加入S时带来的预测值变化(即边际贡献),然后对所有边际贡献进行加权平均。得到数据表达式如下:
$$
\phi_{i}(f, x) = \sum_{S \subseteq F \setminus {i} } \frac{|S|! \cdot (|F| - |S| - 1)!}{|F|!} \cdot [\upsilon(S \cup { i}) - \upsilon(S)]
$$
其中:$F$表示所有特征集合,$|F|$表示总特征数,$S$表示$F$中不包含特征$i$的一个子集,$[\upsilon(S \cup { i})$表示当特征$i$加入特征子集$S$时的模型(或者价值函数)的输出,$\upsilon(S)$表示仅适用特征子集$S$时的模型(或者价值函数)的输出。
这个数学公式核心思想:一个特征的重要性取决于它在各种可能的特征组合中加入时,平均能带来多大的预测改变,进而确保按贡献分配的公平性。

SHAP数学原理解释

SHAP利用shapley value的原理,在 shapley value原理基础上,增加常数项$\phi_{0}$,则shapley value的含义变为在预测均值的基础上,对预测值所起到的作用。
对于单个样本,事后解释模型$g$的表达形式为:
$$
g(x) = \phi_{0} + \sum_{j = 1}^{M}\phi_{j}
$$
其中,$M$是模型中的特征数量,$\phi_{0} $是所有样本预测值的均值。
对于特定的预测模型$f(x)$, 其对应的解释模型$g$可以表示为各个特征归因值(SHAP值)的线性组合:

$$
g(z^{\prime}) = \phi_{0} + \sum_{j = 1}^{M}\phi_{j} z^{\prime}_{j}
$$

其中:$g(z^{\prime})$表示解释模型的输出,$z^{\prime}$是简化的二进制输入向量($z^{\prime} = 1$表示特征$j$“存在”,$z^{\prime} = 0$表示特征$j$“缺失”),$M$表示特征总数,$\phi_{0}$表示基线值(通常表示模型在数据集上的平均预测$E[f(X)]$), $\phi_{j}$表示是特征$j$的SHAP值。

SHAP值是Shapley值在机器学习和模型解释领域的特定应用。SHAP值不仅继承Shapley值满足四条公理的特性,还具有以下三条对模型解释至关重要的理想性质:(原始模型$f$和解释模型$g$正向相关)

  • 局部准确性(Local Accuracy):对于特定的输入$x$,解释模型$g(z^{\prime})$(当所有特征都“存在”时,即$z^{\prime}$对应于$x$的完整特征表示)的输出必须精确等于原始模型$f(x)$的输出。表示所有特征的SHAP值之和加上基准值$\phi_{0}$等于该实例的预测值$f(x)$。
    $$
    f(x) = \phi_{0} + \sum_{j = 1}^{M}\phi_{j}(当所有z_{j}^{\prime} = 1时)
    $$
    这保证解释完整性,所有特征的贡献总和恰好等于预测值和基线值之差。
  • 缺失性(Missingness):如果一个特征在简化输入$z^{\prime}$中被视为“缺失”(即$z_{j}^{\prime}= 0$),那么其对应的SHAP值$\phi_{j}$在解释模型$g(z^{\prime})$中的贡献应为零(即$\phi_{j}\cdot z^{\prime} = 0$)。即如果一个特征$x_{j}$对预测没有贡献,那么他的SHAP值$\phi_{j}$应该是零。
  • 一致性(Consistency):如果一个模型被修改后,某个特征的边际贡献在任何特征组合下都增加或者保持不变,那么该特征的SHAP值也应该增加或者保持不变。该属性保证SHAP值能够可靠的反应特征重要性的真实变化,避免某些方法可能出现的反直觉行为。

SHAP值难点计算解决方案

  1. 近似算法:
    • 模型无关算法:Kernel SHAP
    • 模型相关算法TreeSHAP(适用于基于树模型的算法,Interventional TreeSHAP和Path-dependent TreeSHAP)、DeepSHAP算法(适用于深度学习模型)
  2. Kernel SHAP算法:在结合LIME可解释算法基础上,使用拟合加权线性模型来估算shapley value。算法五步骤如下(此部分可看参考文献[2] 第161页):
    • 采样:采样联盟$z^{\prime}_{k} \in {0,1}^{M}, k \in {1, …, K }$(1 = 联盟中存在的特征,0 = 不存在的特征)

    • 对采样值进行预测:对$z^{\prime}{k}$预测,方法是首先将$z^{\prime}{k}$转换为原始特征空间,然后应用模型$f:f(h_{x}( z^{\prime}_{k}))$。

    • 使用SHAP核来计算每个$z^{\prime}_{k}$的权重。其中SHAP核如下:$M$是最大联盟大小,$|z^{\prime}|$实例$z^{\prime}$中当前特征的数量。用这个核权重的线性回归会产生Shapley值。

$$
\pi_{x}(z^{\prime}) = \frac{(M - 1)}{\begin{pmatrix}
M\
|z^{\prime}|\
\end{pmatrix}|z^{\prime}|(M - z^{\prime})}
$$

  • 拟合加权线性模型,可以使用损失函数$L$来训练线性函数$g$:

$$
g(z^{\prime}) = \phi_{0} + \sum_{j = 1}^{M}\phi_{j} z^{\prime}_{j}
$$

$$
L(f, g, \pi_{x}) = \sum_{z^{\prime} \in Z}[f(h_{x}(z^{\prime}))-g(z^{\prime})]^{2}\pi_{x}(z^{\prime})
$$
其中$Z$是训练数据。

  • 返回shapley值$\phi_{k}$,即线性模型的系数。
  1. 算法优缺点:
    • 算法优点:模型无关性和通用性,理论上适用于任何类型的机器学习模型。
    • 算法缺点:需要大量扰动样本进行模型评估,计算成本高。要求特征之间必须相互独立,如果特征之间存在高度相关,则可能会出现在现实中不可能出现的数据点,从而对SHAP值的估计产生误差。

算法应用价值

  1. 业务领域:对异常变动敏感的业务领域,可以使用SHAP算法进行异常分析,快速定位异常原因,也可以在业务规则之外,提供新的“解释”。

  2. 模型解释和调试:可以用来解释“黑盒”是AI预测模型,既可以进行局部解释(单点数据样例),也可以实现全局可解释(数据集)。

  3. 利益分配:合作博弈的核心在于合理公平地分配合作成果,可以SHAP算法用于按照对项目的贡献分配奖金,衡量影响力大小对决策的影响。

  4. 领域应用:在金融、保险领域,SHAP可用来解释信贷评分、保险理赔反欺诈监测(中国人寿)和隐私合规的要求。分布式可解释算法已在蚂蚁集团内部反欺诈、反洗钱等场景中有落地。

算法工具:SHAP开源算法库

  1. 介绍:由Scott Lundberg开发,内置Kernel SHAP/Tree SHAP/Deep SHAP等多种API.
  2. 安装:PyPI和Conda
1
2
3
pip install shap
or
conda install -c conda-forge shap
  1. API方法
命令 说明 是否和模型相关
shap.Explainer(model[, masker, link, …]) 使用 Shapley 值来解释任何机器学习模型或 python 函数。
shap.TreeExplainer(model[, data, …]) 使用树 SHAP 算法来解释集成树模型的输出。 用于树模型
shap.GPUTreeExplainer(model[, data, …]) reeExplainer 的实验性 GPU 加速版本。支持与 TreeExplainer 相同的能力,同时支持基于 GPU 进行加速 用于树模型
shap.LinearExplainer(model, masker[, link, …]) 计算线性模型的 SHAP 值,可以选择考虑特征间相关性。 用于线性模型
shap.PermutationExplainer(model, masker[, …]) 通过迭代输入的排列来近似 Shapley 值,通过遍历输入的排列变换来估计 Shapely values,能够保证 Local accuracy 性质 模型无关
shap.PartitionExplainer(model, masker, *[, …]) 通过特征层次结构递归计算 Shapley 值,该层次结构定义特征联盟并根据博弈论得出 Owen 值。 模型无关
shap.SamplingExplainer(model, data, **kwargs) 使用 Shapley 抽样值解释方法(也称为 IME)的扩展计算 SHAP 值。 模型无关
shap.AdditiveExplainer(model, masker[, …]) 计算广义加性模型(GAM) 的 SHAP 值,并假设模型仅具有一阶交叉。 用于GAM
shap.DeepExplainer(model, data[, session, …]) 旨在近似深度学习模型的 SHAP 值。shap实现为DeepLIFT 算法(Deep SHAP)的增强版本,与 Kernel SHAP 类似,我们使用选择的背景样本来近似 SHAP 值的条件期望。支持 tf 模型和 torch 模型 用于深度学习模型
shap.KernelExplainer(model, data[, …]) Kernel SHAP 是一种使用特殊的加权线性回归来计算每个特征的重要性的方法。计算的重要性值是来自博弈论的Shapley值以及来自局部线性回归的系数。 模型无关
shap.GradientExplainer(model, data[, …]) 使用预期梯度(积分梯度的扩展)解释模型
shap.ExactExplainer(model, masker[, link, …]) 通过优化的精确枚举计算 SHAP 值。 模型无关
shap.explainers.other.Coefficient(model) 只需将模型系数作为特征归因返回
shap.explainers.other.Random(model, masker) 仅返回随机(正态分布)特征归因
shap.explainers.other.LimeTabular(model, data) 简单地包裹 lime.lime_tabular。LimeTabularExplainer 到公共 shap 接口中.
shap.explainers.other.Maple(model, data) 只需将 MAPLE 包装到通用 SHAP 接口中即可
shap.explainers.other.TreeMaple(model, data) 只需将 MAPLE 树到通用 SHAP 接口中即可
shap.explainers.other.TreeGain(model) 仅返回树模型的全局增益/基尼特征重要性
  1. 构建 shap解释器:
1
2
3
4
5
6
7
8
9
shap.Explainer(model,  # 要评估的方法或者模型
masker=None, # 为 Explainer 提供 mask 后的背景数据
link=links.identity, # 指定输出结果的单位与 SHAP value 单位的关系,通常使用相同单位,也可以使用log关系
algorithm="auto", # 使用哪种算法来估计Shapely value,通常使用auto来自动选择
output_names=None, # 模型输出的名称,主要用于后续可视化
feature_names=None, # 输入中每一列的名称
linearize_link=True, # 这个代码里没解释……
seed=None, # 如果要复现结果,指定seed为某个int值
**kwargs)
  • 用途:构建SHAP库的主要解释器接口类,能够根据用户传入的 model、masker 等信息,自动的选择合适的 explainer 来作为评估的实例。
  • 常用参数:
    • model:需要解释的模型对象或者函数对象,用于根据获取到样本数据集计算这些样本的模型输出;
    • algorithm:分为“auto”, “permutation”, “partition”, “tree”, or “linear”,表示用于估计 Shapley 值的算法。默认情况下,“auto”选项会尝试在给定传递的模型model和masker的情况下做出最佳选择;
    • seed: 随机数种子,用于重复测验。
  • 方法:
    • shap.Explainer().init():传递模型构建新解释器;
    • shap.Explainer().explain_row():解释单行并返回由(row_values、row_expected_values、row_mask_shapes、main_effects)构成的元组。抽象方法,需要有子类实现。返回对象是由(row_values, row_expected_values, row_mask_shapes)构成的元祖。 row_values 是每个样本归因值数组,row_expected_values 是表示每个样本模型预期值数组,row_mask_shapes 是所有输入形状的列表;
    • shap.Explainer().supports_model_with_masker(model, masker):确定此解释器是否可以处理给定模型,返回是False或True.抽象方法,需要有子类实现;
    • shap.Explainer().load(in_file):从给定文件流in_file中加载解释器;
    • shap.Explainer().save(out_file):将解释器写入给定的文件流out_file中。

SHAP开源算法库可视化交互探索工具

  1. 可视化交互探索工具按照返回值解释情况分类:

    • 局部可解释性(Local Interper):侧重解释单个预测的生成,对单条或者多条样本预测值的解释。可以使用waterfall(瀑布图)/decision图/force图/bar图(柱状图).
    • 全局可解释性(Global Interger):得到模型的总体结构(overall structure).
  2. 瀑布图(Waterfall Plot):

    • 命令:shap.plots.waterfall()
    • 解释:展示了对于单个预测,各个特征的 SHAP 值如何一步步地将模型的预测输出从基线值(通常是平均预测值)推向最终的预测值。
  3. 力图(Force Plot):

    • 解释:以一种“力”的隐喻来可视化单个预测的特征贡献,针对单个样本预测解释,将shap value可视化为force,每个特征增加或减少预测的force值,预测以基线开始,基线是解释模型的常数,每个归因值为一个箭头,增加(正值)或减少(负值)预测,红色为正共享,蓝色为负贡献。红色特征(正 SHAP 值)将预测推高,蓝色特征(负 SHAP 值)将预测拉低,直观地显示了驱动预测结果的关键因素及其相对强度
    • 命令:shap.force_plot()
    • 可视化:基线值:图中的起点表示模型的基线值(expected_value)也就是可视化当中的base value,是传入数据集上模型预测值的均值,可以通过自己计算来验证;特征贡献:每个特征的贡献通过带颜色的条表示,条的长度表示该特征对最终预测值的影响大小,红色条表示正向贡献,即该特征使预测值增加,蓝色条表示负向贡献,即该特征使预测值减少;预测值:终点表示模型对该样本的最终预测值,这是基线值加上所有特征贡献的总和.
  4. 摘要图(Summary Plot / Beeswarm Plot):

    • 解释:这是一种非常强大的全局解释图。它通常将每个特征的 SHAP 值分布以散点图(蜂群图)的形式展示出来,其中每个点代表一个样本的一个特征的 SHAP 值。点的颜色通常表示原始特征值的高低,这有助于揭示特征值与其对预测影响之间的关系。
    • 命令:shap.summary_plot()
    • 作用:摘要图是SHAP常用的一种可视化方法,用于显示特征的重要性和特征值的影响方向,摘要图结合了特征重要性和特征效应图,展示了每个特征的SHAP值的分布情况,帮助我们理解每个特征对模型预测的贡献,这张可视化结果可在众多论文当中看见,当然你也可以通过参数cmap改变配色避免审美疲劳。包括:cmap:”viridis”:从黄色到蓝绿色。”Spectral”:从红色到蓝色,适用于有正负影响的特征。”coolwarm”:从冷到暖的颜色图。”RdYlGn”:从红到绿的颜色图。”RdYlBu”:从红到蓝的颜色图。”RdBu”:红蓝双色图。”RdGy”:红灰双色图。”PuOr”:从紫色到橙色的颜色图。”BrBG”:从棕色到蓝绿色的颜色图。”PRGn”:从紫色到绿色的颜色图。”PiYG”:从粉红色到绿色的颜色图。
    • 颜色:粉红色点:表示特征值在这个观察模型中对模型预测产生了正面影响。蓝色点:表示该特征值在这个观察中对模型预测产生负面影响。每个样本每个特征的SHAP值,并允许发现预测异常值。每一行代表一个特征,横坐标代表SHAP值。每一个单代表一个样本,颜色代表特征值(红色高,蓝色低)。红色越集中在均值左侧,而蓝色集中在右侧,则说明特征的大小和模型预测值是负相关;而红色越集中在均值右侧,而蓝色集成中均值左侧,说明特征的大小和模型预测值负相关;红蓝混合在一起,则说明特征的噪声大。
    • 水平轴(shap值):显示每个特征对预测结果的影响大小,点越远离中心线(零点),表示该特征对模型输出的影响越大正的shap值表示正面影响,负的shap值表示负面影响
    • 垂直轴(特征排列):图中垂直排列的特征按影响力从上到小进行排序,上方的特征对模型输出的总影响更大,而下方的特征影响较小
  5. 特征影响力解释:

    • 最上方特征(如:MedInc):显示了大量的正面和负面影响,表明其在不同的观察值对模型预测的结果有很大不同的影响。
    • 中部特征(如:AveRooms):也显示出两种颜色的点,但点的分布更集中,影响相对较小
    • 底部特征(如:Population):对模型的影响最小,且大部分影响较为接近于零值,表示这些特征对模型预测的贡献较小。
  6. 特征重要性(Feature Importance):

    • 通过散点简单绘制每个样本每个特征的shap值,通过颜色看到特征值大小和预测影响之间的关系,同时取每个特征的shap值的绝对值平均值作为该特征的重要性,可获得标准条形图(shap.summary_plot(plot_type = ‘bar’)或者shap.plots.bar())。
  7. 依赖图 (Dependence Plot):

    • 解释:用于探索单个特征的取值与其对应的 SHAP 值之间的关系。图中每个点代表一个样本,横轴是特征值,纵轴是该特征的 SHAP 值。通过观察点的分布模式,可以了解特征对其贡献的影响是否是线性的、单调的或其他更复杂的形式
    • 命令:shap.dependence_plot()
    • 含义:依赖图用于显示一个特征的SHAP值与该特征值之间的关系,并可以展示特征之间的交互作用
    • 参数解释:’MedInc’:这是你想要研究的特征名;shap_values:这是通过SHAP计算得到的特征重要性值;X_train:这是用于生成SHAP值的训练数据;interaction_index=’AveOccup’:这是指定与主特征(MedInc)交互的特征,SHAP会在图中显示两者的交互效果。
  8. 热图(Heatmap)

    • 命令:shap.plots.heatmap()
    • 可视化解读:左侧y轴为重要性特征排名,特征按影响力从大到小进行排序,右侧y轴为其可视化,图像中颜色深浅表示SHAP值的大小,也就是该特征下值对模型的影响,颜色越深SHAP值绝对值越大越影响模型,顶部为模型在这些数值下的预测结果可视化。
  9. 使用步骤:

    • 使用SHAP工具解释,需要先选项合适的解释器(Explainer),使用shap.Explainer时,可以自动选择合适的解释器来作为评估的实例。
    • 选择Masker合适的背景数据。Masker通常选择经过采样的样本数据(1000条以内,默认100条为主),主要用于让解释器了解模型所使用的大致数据分布,有利于更加准确的评估每个特征的贡献。对于存在多重共线性的特征,可以先使用shap.util.hclust()方法先聚类或者分组,再分析。
    • 最后绘图显示特征贡献情况。

SHAP开源算法库使用注意事项

  1. SHAP算法验证时,代码优先使用Jupyter Notebook 或 IPython 环境中运行代码,SHAP算法的图表会在运行后,自动显示。而使用PyCharm时,则不会显示,使用时,需要配合matplotlib库一起使用,配置参数show = False, matplotlib = True,例如shap.force_plot。
  2. 在PyCharm+matplotlib库一起使用时,单个预测和所有预测所导致的画图差别,在使用K最近邻算法时,对于所有预测,matplotlib库使用shap.force_plot()画图无效
  3. 数据集使用,shap.datasets.adult()首次运行时会尝试从github上下载数据集并缓存,这容易导致命令在jupyter notebook中可以运行,但是在Pycharm中会报超时连接的错误。
  4. 使用代码时,导入包必须注明版本号,以防因为包的升级进化,导致存在参数和方法失效的问题。
  5. shap.plots.initjs()是初始化交互式力图所需的javascript库,需要在仅按照IPython笔记本环境中使用。

参考文献

[1] 可解释人工智能
[2] 可解释机器学习:黑盒模型可解释性理解指南(第2版) 【德】 Christoph Molnar著,郭涛译.电子工业出版社
[3] 可解释机器学习(模型、方法与实践) 邵平等著.机械工业出版社
[4] 可解释人工智能导论 杨强等著.电子工业出版社
[5] AI可解释性(Python语言版) 列奥尼达·詹法纳(Leonida Gianfagna) / 安东尼奥·迪·塞科(Antonio Di Cecco)著.清华大学出版社
[6] 可解释AI实战(PyTorch版) 阿杰伊·塔姆佩(Ajay Thampi)著.清华大学出版社
[7] Feng, T., Zhou, Z., Tarun, J., & Nair, V. N. (2022). Comparing Baseline Shapley and Integrated Gradients for Local Explanation: Some Additional Insights. arXiv preprint arXiv:2208.06096.
[8] Python可解释AI(XAI)实战 丹尼斯·罗斯曼(Denis Rothman)著.清华大学出版社
[9] Sundararajan, M., & Najmi, A. (2020, November). The many Shapley values for model explanation. In International conference on machine learning (pp. 9269-9278). PMLR.
[10] 面向从业者的可解释人工智能 Michael Munn著,陈志鸿译.东南大学出版社.
[11] 夏普利值:看诺奖获得者提出的广告效果归因分析新思路
[12] 能不能形象的介绍一下 shapley 值法
[13] 博弈论归因:您可能从未听说过的模型
[14] 可解释性:完善Shapley value理论体系,建模并学习基准值
[15]Shapley值法
[16] SHAP 文档
[17] 打开 AI 的黑盒子:模型可解释性的现状、应用前景与挑战
[18] Jialin Wu and Raymond J. Mooney.Faithful Multimodal Explanation for Visual Question AnsweringarXiv preprint arXiv:1809.02805
[19] 告别AI“黑箱”!SHAP全面指南,让模型解释不再难
[20] A Unified Approach to Interpreting Model Predictions
[21] SHAP全解析:机器学习、深度学习模型解释保姆级教程
[22]SHAP进阶解析:机器学习、深度学习模型解释保姆级教程
[23] Colab工具
[24] 可解释方法LIME和SHAP代码实战


 上一篇
可解释人工智能及其研究-SHAP算法应用篇 可解释人工智能及其研究-SHAP算法应用篇
可解释人工智能及其研究-SHAP算法应用篇,主要介绍SHAP可解释性算法在成人人口普查数据的应用。
2025-09-16
下一篇 
可解释人工智能及其研究-基础篇 可解释人工智能及其研究-基础篇
可解释人工智能及其研究-基础篇,主要介绍模型可解释性、可解释性分类、当前模型可解释性方法的挑战和问题、AI模型在应用场景的典型使用问题、可解释性对模型应用的价值、模型可解释性工具等。
2025-09-16
  目录