今天介绍美国华盛顿大学保罗·艾伦计算机科学与工程学院的Su-In Lee团队在nature mechine intelligence 2020的论文,该论文提出了一种基于博弈论沙普利值的TreeExplainer方法,用于从局部到全局的树模型解释性研究。 背景 随机森林、决策树和梯度增强树等基于树的机器学习模型是目前比较流行的非线性预测模型,基于树的模型在金融、医药、生物、广告、供应链管理、制造、公共卫生等多个领域有着重要的应用。并且像是医药生物等领域对于模型除准确度外更关心其可解释性,也就是说研究人员希望得出预测模型是根据什么做出的判断,如何得到预测结果,目前对树模型预测结果的解释研究相对较少。华盛顿大学的Lee团队基于博弈论里的Shapely Value提出了TreeExplainer方法,展示了如何结合许多高质量的局部解释来理解全局模型,也就是从每一个样例的解释中去理解模型,从而得到模型做出预测的机理。 过往的预测模型是一个黑箱操作,尽管在树的全局解释方法方面存在丰富的历史,但对局部的解释关注甚少,使用TreeExplainer方法提升了模型的可解释性,可以清楚的知道模型做出判断的依据。 树模型的局部解释 对于当前树模型的局部解释方法,Lee团队提到了以下三种: 一是简单地报告决策路径,但这对于大多数模型来说是没有帮助的,特别是对多树集合模型。 二是使用为每个输入特征分配信用的启发式方法(由Saabas提出),该启发式信用分配的行为目前还没有被仔细分析,然而该方法对基于树深度改变特征的影响存在严重的偏差,这种偏差会导致Saabas value值的不一致性。 三是应用模型不可知的各种各样方法需要为每个解释重复执行模型,由于模型不可知的方法依赖于对任意函数的事后建模,因此,可能会很慢并且会受到采样变化的影响。 Lee团队提出的TreeExplainer方法能够根据博弈论中期望的性质,方便地给出最优的局部解释。TreeExplainer在基于经典博弈论Shapley value值的模型不可知论工作的基础上,将理论与实际联系起来。TreeExplainer有三个显著的改进: (1)准确性:基于精确Shapley value值,提出了多项式时间计算局部解释的算法,为局部解释提供了局部精度和一致性的理论保障。 (2)扩展性:扩展局部解释以直接捕获功能交互,为每个输入特征指定一个数字的局部解释虽然非常直观,但不能直接表示交互效果,文中基于泛化的Shapley value值提出测量局部交互效应的理论基础,对模型的行为提供了有价值的见解。 (3)整体性:结合许多局部解释整合解释模型的全局行为,保持原始模型的局部信度,产生模型整体行为的详细和准确的表示。 文中指出,在表格式数据集上,基于树的模型始终优于标准的深度模型,在表格式数据集中,特征是单独有意义的,并且缺乏强的多尺度时空结构,文中三个医疗数据集都是表格式的数据集,梯度增强树在三个数据集上都优于纯深度学习和线性回归模型。 相较于前三种列举出来的局部解释方法,使用TreeExplainer方法计算Shapley value在众多方面上提升了局部解释的效果。
TreeExplainer还扩展了局部解释来测量相互作用效果。虽然特征之间的相互作用效应可以反映在许多局部解释的全局模式中,但在每个局部解释中它们与主要效应的区别都消失了。 上图左边为全局模式,右边为Age与blood pressure的相互作用,可以看到某些相互作用在全局模式中已经消失了。 结合局部解释的全局理解 SHAP摘要图 以前的一些方法对于模型可解释性的探讨往往关注于使用简单的全局近似,寻找新的可解释特征或量化深度网络中特定内部节点的影响。Lee团队的TreeExplainer方法将数据集中的多个局部解释进行结合,从而达到对模型判断机理的全局理解,并能够:(1)避免不一致问题;(2)提高检测数据集中真实特征相关性的能力;(3)构建SHAP(Shapley additive explanation)摘要图,简洁地显示了特征效果、普遍性和方向,避免了把特征效果和普遍性混为一谈,从而揭示了罕见的高幅值效果。 上图是一个SHAP摘要图,它可以揭示特征影响效果的方向,比如上图右边部分显示出了男性比女性有着更高的死亡风险。 SHAP依赖图 SHAP依赖图比起传统的部分依赖图能够提供更丰富的信息,它展示了特征值是如何影响的预测值。 在死亡率模型中,SHAP依赖图再现了血压收缩压的标准风险拐点,同时也强调了血压对不同年龄人群死亡风险的影响是不同的。对于慢性肾脏疾病模型,依赖图再次清楚地揭示了收缩压的风险拐点。正确建模血压风险同时保持可解释性是至关重要的,因为血压控制在部分特定患慢性肾脏疾病人群中能够缓解病变并降低患心血管疾病的风险。 SHAP交互值 使用SHAP交互值,可以将一个特性对特定样本的影响分解为与其他特性的交互影响。 在死亡率数据集中,绘制年龄和性别之间的SHAP相互作用值显示了男性和女性一生中相对风险的明显变化。男性和女性之间最大的风险差异出现在60岁;男性患病风险的增加可能是由于他们的心血管疾病死亡率高于接近这个年龄的女性。如果没有SHAP的相互作用值,这种模式就不能被清楚地捕捉到。 在慢性肾病模型中,Lee团队发现了一个有趣的相互作用,当高血尿素氮伴随高白细胞计数时,模型更关注高白细胞计数。这支持了炎症可能与高血尿素氮相互作用加速肾功能下降的观点。 模型监视 局部模型监控揭示了部署的机器学习模型以前无法发现的问题。通过使用TreeExplainer来解释模型的loss,而不是模型的预测,可以提高监视已部署模型的能力。Lee团队证明了本地模型监控有助于调试模型部署,并通过分解模型输入特征中的损失来直接识别有问题的特征。 Lee团队使用医院手续流程持续时间数据集模拟了一个模型部署,该数据集使用第一年的数据进行训练,后三年的数据用于部署。Lee团队做了三个示例。 (1) 在部署过程中,Lee团队故意交换了手术室6号房间和13号房间的标签,以模拟典型的特征管道错误。模型预测的总体损失没有显示出错,而6号房间的SHAP监测图清楚地标识了标签错误。 (2) 下图显示了部署检测开始后不久,总体麻醉特征的误差出现了一个峰值。此峰值对应于受此前未发现的临时电子病历配置问题影响的数据子集。 (3) 下图显示了特征随时间变化而不是处理错误的示例。在训练期间和部署的早期,使用“房颤”特征可以降低损失;然而,随着时间的流逝,该特征将逐渐变得不可用,并最终使模型退化。Lee团队发现这种退化是由技术和人员配置变化驱动的房颤消融过程持续时间的显著变化引起的。 解释嵌入 局部解释嵌入揭示了与慢性肾脏疾病的死亡风险和辅助诊断指标相关的人群亚群。通过对数据集中的每一个样本进行局部解释嵌入,映射到一个新的“解释空间”,在嵌入空间进行聚类将产生一个有监督的聚类,其中样本根据其解释而分组。 使用死亡率模型运行分级监督聚类的结果是,许多人群由于相似的原因而共享相似的死亡风险。 总结 基于树的机器学习模型的局部解释的潜在影响是广泛存在的。模型解释可以帮助满足透明性需求,促进人工智能协作,并帮助模型开发、调试和监视。 参考资料 Scott M. Lundberg, et al. From local explanations to global understanding with explainable AI for trees. Nat Mach Intell 2, 56–67 (2020). 数据集及代码 死亡率数据集:https://github.com/suinleelab/treeexplainer-study TreeExplainer代码:https://github.com/suinleelab/treeexplainer-study 编辑:王建民 |
|