机器学习模型 Interpretability 和 Explainability 之间的区别
Bennett1998 已于 2023-03-10 17:10:56 修改
1 引言
尽管 Interpretability 和 Explainability 都被翻译成 “可解释性”,但在机器学习领域,这是两个相关但又截然不同的概念。
本文回答以下问题:
- 如何区分 Interpretability 和 Explainability
- 为什么机器学习需要 Interpretability 或 Explainability
- 怎么提高机器学习模型的 Interpretability
- 增加模型的复杂度能提高 Interpretability 吗
2 如何区分 Interpretability 和 Explainability
Interpretability 与机器学习模型将 ** 原因 ** 和 ** 结果 ** 联系起来的准确性有关,指在机器学习可以观察到系统中因果关系(先验推导)的程度。
Explainability 与隐藏在深层网络中的 ** 参数 ** 证明 ** 结果 ** 的能力有关,是指机器学习的内部机制可以用人类语言解释(后验解释)的程度。
因此,可以这样区分:
Interpretability: 模型可解释性;内部可解释性 `
`Explainability: 决策可解释性;输出可解释性
Interpretable ML – 使用的不是黑箱模型 `
`Explainable ML – 使用黑箱模型并解释
2 为什么机器学习需要 Interpretability 或 Explainability
可解释机器学习的优势主要体现在 高风险决策 上。尽管技术可能会被故意用于有害的用途,但它还有很多方式会产生糟糕的、歧视性的、无意造成伤害的结果。
随着人工智能和深度学习系统在医疗保健等领域的广泛应用,人工智能的问责制和透明度问题尤为重要,例如,预测某个流域是否会爆发山洪,涉及到巨大的生命和财产安全,决策部门就需要重新考虑人工智能预测结果的可靠性。如果我们不能在算法中提供更好的 模型可解释性,并最终提供 输出可解释性,人工智能将始终不被信赖。
除了需要考虑法律和专业因素外,即使在风险更小的业务场景中,提高可解释性和可解释性也很重要。了解算法的实际工作方式有助于更好地将促进相关领域的科学知识的发现。
3 怎么提高机器学习模型的 Interpretability
虽然对于数据科学家来说,透明度和伦理问题可能很抽象,但可以做一些实际的事情来提高算法的内部可解释性和输出可解释性。
Algorithmic generalization
提高算法的泛化能力,听起来很简单,但并不那么容易。当你认为大多数机器学习工程是以一种非常特定的方式应用算法来揭示特定的预期结果时,模型本身就像是一个次要元素 —— 它只是达到目的的一种手段。然而,通过转变这种态度,考虑算法的整体健康状况以及运行算法的数据,可以为提高可解释性奠定坚实的基础。
Pay attention to feature importance
注意特征的重要性是很明显,但很容易被忽略的方式。仔细研究模型的各种输入特征的重要性,是实际处理各种问题的常用方法。讨论每个特征是否应该输入,是朝着模型可解释性和输出可解释性迈进的重要一步。
LIME: Local Interpretable Model-Agnostic Explanations
LIME 是研究人员开发的一种实用方法,用于提高算法内部计算过程的透明度。LIME 可以 “通过在预测的周围局部学习可解释模型,以可解释和忠实的方式解释任何分类器的预测”。
LIME 模型通过测试来产生模型的近似值,以查看当模型中的某些方面被更改时会发生什么。从本质上讲,这是关于尝试通过实验过程从相同的输入中重新创建输出。
DeepLIFT (Deep Learning Important Features)
DeepLIFT 是一个有用的模型,通过一种反向传播的形式工作;它获取输出,然后试图通过 “读取” 产生原始输出的各种神经元来将其分开。
顾名思义,这本质上是一种深入算法内部特征选择的方法。
Layer-wise relevance propagation
分层相关性传播类似于 DeepLIFT,它从输出向后工作,识别神经网络中最相关的神经元,直到返回到输入 (例如,一张图像)。
4 增加复杂性以解决复杂性:它能提高透明度吗
Interpretability 或 Explainability 的核心问题是,在开发过程中增加了额外的步骤。从某种角度来看,这看起来像是试图用更大的复杂性来解决复杂性。
在某种程度上,这是正确的。这在实践中意味着,如果我们真的要认真对待 Interpretability 或 Explainability,就需要在数据科学和工程的完成方式以及人们认为应该如何完成的方式上进行更广泛的文化变革。
这也许才是真正具有挑战性的部分。
参考文献
[1] https://www.kdnuggets.com/2018/12/machine-learning-explainability-interpretability-ai.html
[2] https://www.bmc.com/blogs/machine-learning-interpretability-vs-explainability/
[3] https://statmodeling.stat.columbia.edu/2018/10/30/explainable-ml-versus-interpretable-ml/
[4] https://christophm.github.io/interpretable-ml-book/
[5] https://www.nature.com/articles/s42256-019-0048-x
机器学习模型可解释性的介绍
腾讯技术工程 原创 2019/10/30 16:58
模型可解释性方面的研究,在近两年的科研会议上成为关注热点,因为大家不仅仅满足于模型的效果,更对模型效果的原因产生更多的思考,这样的思考有助于模型和特征的优化,更能够帮助更好的理解模型本身和提升模型服务质量。本文对机器学习模型可解释性相关资料汇总 survey。
综述
机器学习业务应用以输出决策判断为目标。可解释性是指人类能够理解决策原因的程度。机器学习模型的可解释性越高,人们就越容易理解为什么做出某些决定或预测。模型可解释性指对模型内部机制的理解以及对模型结果的理解。其重要性体现在:建模阶段,辅助开发人员理解模型,进行模型的对比选择,必要时优化调整模型;在投入运行阶段,向业务方解释模型的内部机制,对模型结果进行解释。比如基金推荐模型,需要解释:为何为这个用户推荐某支基金。
机器学习流程步骤:收集数据、清洗数据、训练模型、基于验证或测试错误或其他评价指标选择最好的模型。第一步,选择比较小的错误率和比较高的准确率的高精度的模型。第二步,面临准确率和模型复杂度之间的权衡,但一个模型越复杂就越难以解释。一个简单的线性回归非常好解释,因为它只考虑了自变量与因变量之间的线性相关关系,但是也正因为如此,它无法处理更复杂的关系,模型在测试集上的预测精度也更有可能比较低。而深度神经网络处于另一个极端,因为它们能够在多个层次进行抽象推断,所以他们可以处理因变量与自变量之间非常复杂的关系,并且达到非常高的精度。但是这种复杂性也使模型成为黑箱,我们无法获知所有产生模型预测结果的这些特征之间的关系,所以我们只能用准确率、错误率这样的评价标准来代替,来评估模型的可信性。
事实上,每个分类问题的机器学习流程中都应该包括模型理解和模型解释,下面是几个原因:
-模型改进:理解指标特征、分类、预测,进而理解为什么一个机器学习模型会做出这样的决定、什么特征在决定中起最重要作用,能让我们判断模型是否符合常理。一个深度的神经网络来学习区分狼和哈士奇的图像。模型使用大量图像训练,并使用另外的一些图像进行测试。90% 的图像被准确预测,这值得我们高兴。但是在没有计算解释函数 (explainer function) 时,我们不知道该模型主要基于背景:狼图像通常有一个下雪的背景,而哈士奇的图像很少有。所以我们不知不觉地做了一个雪地探测器,如果只看准确率这样的指标,我们就不会看到这一点。知道了模型是如何使用特征进行预测的,我们就能直觉地判断我们的模型是否抓住了有意义的特征,模型是或否能泛化到其他样本的预测上。
-模型可信性与透明度:理解机器学习模型在提高模型可信度和提供审视预测结果透明度上是非常必要的,让黑箱模型来决定人们的生活是不现实的,比如贷款和监狱刑法。另一个对机器学习结果可信度提出质疑的领域是药品,模型结果会直接决定病人的生与死。机器学习模型在区分恶性肿瘤和不同类型的良性肿瘤方面是非常准确的,但是我们依然需要专家对诊断结果进行解释,解释为什么一个机器学习模型将某个患者的肿瘤归类为良性或恶性将大大帮助医生信任和使用机器学习模型来支持他们工作。长久来看,更好地理解机器学习模型可以节省大量时间、防止收入损失。如果一个模型没有做出合理的决定,在应用这个模型并造成不良影响之前,我们就可以发现这一点。
-识别和防止偏差:方差和偏差是机器学习中广泛讨论的话题。有偏差的模型经常由有偏见的事实导致,如果数据包含微妙的偏差,模型就会学习下来并认为拟合很好。一个有名的例子是,用机器学习模型来为囚犯建议定罪量刑,这显然反映了司法体系在种族不平等上的内在偏差。其他例子比如用于招聘的机器学习模型,揭示了在特定职位上的性别偏差,比如男性软件工程师和女性护士。机器学习模型在我们生活的各个层面上都是强有力的工具,而且它也会变得越来越流行。所以作为数据科学家和决策制定者来说,理解我们训练和发布的模型如何做出决策,让我们可以事先预防偏差的增大以及消除他们,是我们的责任。
可解释性特质:
- 重要性:了解 “为什么” 可以帮助更深入地了解问题,数据以及模型可能失败的原因。
- 分类:建模前数据的可解释性、建模阶段模型可解释性、运行阶段结果可解释性。
- 范围:全局解释性、局部解释性、模型透明度、模型公平性、模型可靠性。
- 评估:内在还是事后?模型特定或模型不可知?本地还是全局?
- 特性:准确性、保真性、可用性、可靠性,鲁棒性、通用性等。
- 人性化解释:人类能够理解决策原因的程度,人们可以持续预测模型结果的程度标示。
动机
在工业界中,数据科学或机器学习的主要焦点是更偏 “应用” 的解决复杂的现实世界至关重要的问题,而不是理论上有效地应用这些模型于正确的数据。机器学习模型本身由算法组成,该算法试图从数据中学习潜在模式和关系,而无需硬编码固定规则。因此,解释模型如何对业务起作用总是会带来一系列挑战。有一些领域的行业,特别是在保险或银行等金融领域,数据科学家通常最终不得不使用更传统的机器学习模型(线性或基于树的)。原因是模型可解释性对于企业解释模型所采取的每个决策非常重要。
残酷的现实是,如果没有对机器学习模型或数据科学 pipeline 如何运作的合理理解,现实中的项目很少成功。现实中的数据科学项目,通常会有业务和技术两方面。数据科学家通常致力于构建模型并为业务提供解决方案。但是,企业可能不知道模型如何工作的复杂细节。
数据科学从业者将知道存在典型的模型可解释性与模型性能权衡。这里需要记住的一点是,模型性能不是运行时或执行性能,而是模型在决策中的准确程度。有几种模型,包括简单的线性模型甚至是基于树的模型,它们可以很容易地解释模型为获得特定的洞察力或预测而做出的决策,但是你可能需要牺牲模型性能,因为它们总是不能产生最好的结果是由于高偏差(线性模型)或高方差的固有问题,导致过度拟合(完全成长的树模型)。更复杂的模型,如集合模型和最近的深度学习模型系列通常会产生更好的性能,但被认为是黑盒模型,因为很难解释模型如何真正做出决定。
理解模型可解释性
模型解释作为一个概念仍然主要是理论和主观的。任何机器学习模型的核心都有一个响应函数,它试图映射和解释独立(输入)自变量和(目标或响应)因变量之间的关系和模式。当模型预测或寻找见解时,需要做出某些决定和选择。模型解释试图理解和解释响应函数所做出的这些决定,即 what,why 以及 how。模型解释的关键是透明度,质疑能力以及人类理解模型决策的难易程度。模型解释的三个最重要的方面解释如下。
1.是什么驱动了模型的预测? 我们应该能够查询我们的模型并找出潜在的特征交互,以了解哪些特征在模型的决策策略中可能是重要的。这确保了模型的公平性。
2.为什么模型会做出某个决定? 我们还应该能够验证并证明为什么某些关键特征在预测期间驱动模型所做出的某些决策时负有责任。这确保了模型的可靠性。
3.我们如何信任模型预测? 我们应该能够评估和验证任何数据点以及模型如何对其进行决策。对于模型按预期工作的关键利益相关者而言,这应该是可证明且易于理解的。这确保了模型的透明度。
在比较模型时,除了模型性能之外,如果模型的决策比其他模型的决策更容易理解,那么模型被认为比其他模型具有更好的可解释性。
可解释性的重要性
在解决机器学习问题时,数据科学家往往倾向于关注模型性能指标,如准确性,精确度和召回等等(毫无疑问,这很重要!)。这在大多数围绕数据科学和机器学习的在线竞赛中也很普遍。但是,指标只能说明模型预测决策的部分故事。随着时间的推移,由于环境中的各种因素导致的模型概念漂移,性能可能会发生变化。因此,了解推动模型采取某些决策的因素至关重要。
如果一个模型工作得很好,为什么还要深入挖掘呢?在解决现实世界中的数据科学问题时,为了让企业信任您的模型预测和决策,他们会不断提出 “我为什么要相信您的模型?” 这一问题,这一点非常有意义。如果一个人患有癌症或糖尿病,一个人可能对社会构成风险,或者即使客户会流失,您是否会对预测和做出决策(如果有的话)感到满意?也许不是,如果我们能够更多地了解模型的决策过程(原因和方式),我们可能会更喜欢它。这使我们更加透明地了解模型为何做出某些决策,在某些情况下可能出现的问题,并且随着时间的推移它有助于我们在这些机器学习模型上建立一定程度的信任。
- 了解预测背后的原因在评估信任方面非常重要,如果计划基于预测采取行动,或者选择是否部署新模型,那么这是至关重要的。
- 无论人类是直接使用机器学习分类器作为工具,还是在其他产品中部署模型,仍然存在一个至关重要的问题:如果用户不信任模型或预测,他们就不会使用它。
这是我们在本文中多次讨论的内容,也是决定数据科学项目在行业中取得成功的关键区别之一。这推动了模型解释的必要性和重要性的紧迫性。
可解释性的标准
有一些特定的标准可用于分类模型解释方法。Christoph Molnar,2018 年 “可解释的机器学习,制作黑箱模型可解释指南” 中提到了一个很好的指南。
-内在还是事后? 内在可解释性就是利用机器学习模型,该模型本质上是可解释的(如线性模型,参数模型或基于树的模型)。事后可解释性意味着选择和训练黑匣子模型(集合方法或神经网络)并在训练后应用可解释性方法(特征重要性,部分依赖性图)。我们将更多地关注我们系列文章中的事后模型可解释方法。
-模型特定或模型不可知? 特定于模型的解释工具非常特定于内在模型解释方法,这些方法完全依赖于每个模型的功能和特征。这可以是系数,p 值,与回归模型有关的 AIC 分数,来自决策树的规则等等。与模型无关的工具与事后方法更相关,可用于任何机器学习模型。这些不可知方法通常通过分析(和输入的扰动)特征输入和输出对来操作。根据定义,这些方法无法访问任何模型内部,如权重,约束或假设。
-本地还是全局? 这种解释分类讨论了解释方法是解释单个预测还是整个模型