【干货】一文深入理解机器学习模型可解释的必要性和重要性

【导读】机器学习模型经常被批评是技术黑箱:只要输入数据就能得到正确答案,但却无法对其进行解释。作者这一系列文章也呼吁大家当前是时候停止将机器学习模型视为黑盒子,不仅尝试和分析数据,而且还要分析模型如何做出决策。


本系列将探究模型解释的方法。内容包括:1.理解模型解释 2. 模型解释的重要性 3. 模型解释的方法的标准 4. 模型解释的范围 5. 模型解释的策略与现有技术 6. 现有技术的挑战与局限性。7. 动手模型解释 8. 非结构化数据的模型解读。 在第一篇文章中,我们将介绍模型解释的概念,动机和重要性。


作者 | Dipanjan (DJ) Sarkar

编译 | 专知

翻译 | Yingying, Mandy



Human Interpretable Machine Learning (Part 1) — The Need and Importance of Model Interpretation


介绍




过去十年,机器学习领域经历了翻天覆地的变化。从一个纯粹的学术和研究方向开始,我们已经看到了机器学习在各个领域都有着广泛的应用,如零售,技术,医疗保健,科学等等。在21世纪,数据科学和机器学习的目标已经转变为解决现实问题,实现复杂任务的自动化,而不仅仅是在实验室发表论文。机器学习,统计学或深度学习模型基本已经沉淀下来了。像Capsule Networks这样的新模型在不断地被提出,但这些新模型应用于工业界却需要几年时间。因此,在工业界中,机器学习的焦点在于应用,而不是理论。最重要的是能够解决复杂的现实问题。


机器学习模型实质上是一种算法,该算法试图从数据中学习潜在模式和关系,而不是写死规则。因此,在商业中解释一个模型是如何工作的是一个很大的挑战。在一些领域,尤其是在保险或银行等,数据科学家通常最终不得不使用更传统的机器学习模型(线性linear或基于树tree-based)。原因是模型的可解释性对于业务来说非常重要,可以解释基于模型所采用的每一个决策。然而,这常常导致在性能上的牺牲。这就是复杂模型(如集成学习和神经网络)通常给我们更好更准确的性能(因为真实的关系在本质上很少是线性的),然而,我们最终无法对模型决策做出正确的解释。为了解决和讨论这些差距,我将会撰写一系列的文章深入探讨人类可解释机器学习的一些挑战。


动机




数据科学仍然常常被视为一个黑盒,它能用“魔法”实现人们想要它做的事情。然而,严酷的现实是,如果不对模型进行合理的解释,现实世界的项目很少成功。现如今,数据科学家通常致力于构建模型并为业务提供解决方案。企业可能不知道模型实现的复杂细节,却要依靠这些模型做出决策,他们确实有权提出这样的问题:“我怎样才能相信你的模型?”或“你的模型是如何决策的”?”回答这些问题是数据科学实践者和研究人员数年来一直在尝试的事情。


数据科学从业者知道,模型解释性与模型性能有一个平衡。在这里,模型性能不是运行时间或执行性能,而是模型在做出决策时的准确度。有几种模型(包括简单的线性模型甚至基于树的模型),他们的预测的原理可以很容易解释,但是需要牺牲模型性能,因为它们的产生的结果偏差或者方差很高(线性模型),或者容易过拟合(基于树的模型)。更复杂的模型,如集成模型和更近期的深度学习模型系列通常会产生更好的性能,但被视为黑盒模型,因为要解释这些模型是如何真正做出决策是一件非常困难的事情。


虽然有些人可能会争辩说,知道模型性能好就行了,为什么还要知道它背后的原理呢? 然而,作为人类,大多数决策基于逻辑和推理。 因此,人工智能(AI)作出决定的模式无疑会受到质疑。 有很多现实世界的情况下,有偏差的模型可能会产生真正的负面影响。 这包括预测潜在的罪犯,司法量刑风险得分,信用评分,欺诈检测,健康评估,贷款借贷,自动驾驶等等,其中模型的理解和解释是最重要的。 著名的数据科学家、作家Cathy O’ Neil在她的著名著作《数学毁灭的武器》中也强调了这一点。


著名学者和作家凯特克劳福德在NIPS 2017主题演讲“偏见的麻烦”中谈到了偏差在机器学习中的影响以及它对社会的影响【1】。


有兴趣的读者也可以看看她在纽约时报的著名文章“人工智能的白人问题”,向我们展示了机器学习应用的例子,包括图像分类,犯罪风险预测,交付服务可用性等等,这些应用对黑人友善度太低了。 如果我们想利用机器学习来解决这些问题,所有这些现实世界的场景都在告诉我们模型解释是多么的重要。

 

在过去的一年里,我在解决行业问题的同时也看到了对模型解释的需求,同时我也在写我的新书《Practical Machine Learning with Python》。在这段时间里,我有机会与DataScience.com的优秀员工进行互动,他们非常清楚在机器学习模型中人类可解释性的必要性和重要性。他们一直在积极研究解决方案,并开发了流行的python框架Skater。后续我们将深入研究Skater,并在本系列文章中做一些实际的模型解释。


理解模型解释




机器学习仅在最近几年才得到广泛的行业采用。因此,模型解释作为一个概念仍然主要是理论和主观的。


任何机器学习模型都有一个响应函数,试图映射和解释独立(输入)变量和从属(目标或响应)变量之间的关系和模式。


模型解释试图理解和解释响应函数做出的这些决定。模型解释的关键在于透明度以及人们理解模型决策的容易程度。模型解释的三个最重要的方面如下。

  • 什么驱动模型预测?我们应该找出特征的相互作用,以了解在模型的决策策略中哪些特征可能是重要的。这确保了模型的公平性。


  • 为什么模型需要做出某个决定?我们还应该能够验证并证明为什么某些关键特征在预测期间推动某个模型所做出的某些决定。这确保了模型的可靠性。

  • 我们如何相信模型预测?我们应该能够评估和验证任何数据点以及模型如何作出决策。对于模型按预期运行的关键利益相关者而言,这应该是可证明的,并且易于理解。这确保了模型的透明度。


可解释性是指人(包括机器学习中的非专家)能够理解模型在其决策过程中所做出的选择(怎么决策,为什么决策和决策了什么)。


在比较模型时,除了模型的性能,如果一个模型的决策比另一个模型的决策更容易被人类理解,则说该模型比另一个模型具有更好的解释能力。


模型解释的重要性




在解决机器学习问题时,数据科学家通常倾向于注意模型性能指标,如准确性,精确度和召回率等(毫无疑问,这很重要!)。但是,度量标准只能说明模型预测性决策的一部分内容。随着时间的推移,由于环境中各种因素造成的模型概念漂移,性能可能会发生变化。因此,了解什么促使模型作出某些决定是极为重要的。


我们中的一些人可能会争论模型已经工作得很好了,为什么还要深入挖掘呢?一定要记住,当解决现实世界中的数据科学问题时,为了让企业相信你的模型预测和决策,他们会不断提问“我为什么要信任你的模型?”,这非常合理。如果一个人患有癌症或糖尿病,如果一个人可能对社会构成风险,或者即使客户流失,您是否会满意于只是预测和做出决定(如何)的模型?也许另外一种会更好,如果我们可以更多地了解模型的决策过程(为什么以及如何),我们可能更喜欢它。这为我们提供了更多的透明度,说明为什么模型会做出某些决定,在某些情况下可能会出错,并且随着时间的推移它可以帮助我们在这些机器学习模型上建立一定的信任度。


这一部分关键的一点是,现在是时候停止将机器学习模型视为黑盒子,不仅尝试和分析数据,而且还要分析模型如何做出决策。实际上,走向这条道路的一些关键步骤是由著名论文“Why Should I Trust You?(解释了任意分类器的预测)”开始的,由MT Ribeiro,S. Singh和C. Guestrin在SIGKDD 2016上介绍了LIME(Local Interpretable Model-Agnostic Explanations)(局部可解释模型 - 不可知论解释)的概念。


他们在论文中提到了一些值得记住的关键点。然而,理解预测背后的原因在评估信任方面非常重要,如果计划基于预测采取行动,或者选择是否部署新模型,则对模型的信任是至关重要的。 无论人类是直接使用机器学习分类器作为工具还是在其他产品中部署模型,仍然存在一个至关重要的问题:如果用户不信任模型或预测,他们将不会使用它。


这是我们在本文中多次讨论的内容,也是决定数据科学项目在业界成功与否的关键因素之一。这就推动了模型解释的必要性和重要性。


模型解释方法的标准




对于模型解释方法的分类有特定的标准。在Christoph Molnar的“Interpretable Machine Learning,Making Guide for Making Black Box Models Explainable”中提到了一个很好的指导标准:


  • 内在或事后?内在解释性是关于利用机器学习模型的,它本质上是解释性的(像线性模型、参数模型或基于树的模型)。事后解释性意味着选择和训练一个黑盒模型(集成方法或神经网络)并在训练后应用可解释性方法(特征重要性,部分依赖关系图)。我们将在我们的系列文章中更多地关注事后模型可解释的方法。


  • 是针对某个模型的还是通用的?特定于模型的解释工具对固有模型解释方法非常具体,这些解释方法完全取决于每个模型的能力和特征。这可以是系数,p值,与回归模型相关的AIC分数,决策树的规则等等。通用的模型解释方法还是依赖于事后对模型的分析,可用于任何机器学习模型。通常通过分析特征输入和输出对来运行。根据定义,这些方法无法访问任何模型内部,如权重,约束或假设。


  • 本地还是全局?这种解释的分类会谈到解释方法是解释单个预测还是整个模型行为?或者如果范围介于两者之间?我们将尽快讨论更多关于局部和全局的解释。


这并不是对可解释方法进行分类的一套完整的标准,因为这仍然是一个新兴的领域,但这可以是一个很好的标准,可以在多种方法之间进行比较和对比。


模型解释的范围




我们如何界定解释的范围和界限?一些有用的方面可以是模型的透明度,公平性和可靠性。本地还是全局模型解释是定义模型解释范围的明确方法。



全局解释性

这就是要试图理解“模型如何做出预测?”和“模型的子集如何影响模型决策?”。为了一次理解和解释整个模型,我们需要全局解释。全局可解释性是指能够基于完整数据集上的依赖(响应)变量和独立(预测)特征之间的条件相互作用来解释和理解模型决策。试图理解特征的相互作用和重要性,往往是理解全局解释的好的一步。当然,在尝试分析交互时,在超过两个或三个维度后对特征进行可视化变得非常困难。因此,经常查看可能会影响全局知识模型预测的模块化部分和特征子集,对全局解释是有所帮助的。完整的模型结构知识,假设和约束是全局解释所必需的。


局部解释性

这就是要了解“为什么模型会为单个实例做出特定决策?”以及“为什么模型会为一组实例做出特定决策?”。对于局部的可解释性,我们不关心模型的内在结构或假设,我们把它当作一个黑匣子。为了理解单个数据点的预测决策,我们专门关注该数据点,并在该点附近的特征空间中查看局部子区域,并尝试根据此局部区域了解该点的模型决策。局部数据分布和特征空间可能表现完全不同,并提供更准确的解释而不是全局解释。局部可解释模型 - 不可知论解释(LIME)框架是一种很好的方法,可用于模型不可知的局部解释。我们可以结合使用全局解释和局部解释来解释一组实例的模型决策。


模型透明度

这就是要了解“从算法和特征中创建模型的过程如何?”。我们知道,典型的机器学习模型都是关于利用一个算法在数据特征之上构建一个表示,将输入映射到潜在的输出(响应)。模型的透明性可以尝试理解模型如何构建的更多技术细节,以及影响其决策的因素。这可以是神经网络的权值,CNN滤波器的权值,线性模型系数,节点和决策树的分割。然而,由于企业对这些技术细节可能并不十分熟悉,试图用不可知的局部和全局解释方法来解释模型决策有助于展示模型的透明度。


总结




模型解释是一个能够在行业中对现实世界机器学习项目非常重要的一件事情。让我们试着去研究人类可解释的机器学习,让每个人都了解机器学习的神秘性,并帮助人们增加对模型决策的信任。


【1】https://www.facebook.com/nipsfoundation/videos/1553500344741199


原文链接:

https://towardsdatascience.com/human-interpretable-machine-learning-part-1-the-need-and-importance-of-model-interpretation-2ed758f5f476


更多专业AI教程资料请加入专知人工智能知识星球群获取,扫描下面二维码即可!

-END-

专 · 知

人工智能领域主题知识资料查看与加入专知人工智能知识星球服务群

【专知AI服务计划】专知AI知识技术服务会员群加入人工智能领域26个主题知识资料全集获取欢迎微信扫一扫加入专知人工智能知识星球群,获取专业知识教程视频资料和与专家交流咨询

请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料

请加专知小助手微信(扫一扫如下二维码添加),加入专知主题群(请备注主题类型:AI、NLP、CV、 KG等)交流~

关注专知公众号,获取人工智能的专业知识!

点击“阅读原文”,使用专知

展开全文
Top
微信扫码咨询专知VIP会员