【译】Interpretable Machine Learning(前言&1 介绍)

可解释的机器学习


让黑盒子模型变得可以解释的指南


Christoph Molnar


前言




机器学习在改进产品,流程和研究方面具有极大的潜力。但是计算机通常无法解释它们的预测,这是我们采用机器学习的一个障碍。本书对机器学习及其决策的可解释性进行探讨。


在探索可解释性的概念之后,您将学习到简单的可解释模型,例如决策树,决策规则和线性回归。后面的章节聚焦在使用一般的模型无关方法去解释黑盒模型,如特征重要性和累积局部效应,以及用Shapley值和LIME解释单个预测。


在本书中所有的解释方法都进行了深层次解释和批判性讨论。它们是如何在黑盒下工作的?它们优缺点分别是什么?如何解释它们的输出?关于这些问题,这本书可以帮助您选择并正确应用最适合您的机器学习项目的解释方法。


本书侧重于基于表格数据(也称为关系数据或结构化数据)建立的机器学习模型,而不是计算机视觉和自然语言处理任务。


作者:Christoph Molnar


译者:Jackson Zhang




Creative Commons License

本书创作许可协议 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.


1 介绍

本书向您讲解了如何让机器学习模型变得可解释。虽然本书中也提供了一些数学公式,但即使没有公式,您也应该能够理解这些方法背后的思想。这本书不适合机器学习的初学者,如果您不熟悉机器学习的话,现在有很多可以学习基础知识的书籍和其他资源。关于机器学习的入门学习,我推荐Hastie,Tibshirani和Friedman (2009) [1]以及Andrew Ng发布在Coursera上的机器学习课程。这些书本和在线课程都是免费的!


目前解释机器学习模型的新方法在以极快的速度发表,跟上所有发表的方法非常不现实。这就是为什么你在本书中不会发现最新颖和奇特的方法,而是一些机器学习可解释性的成熟方法和基本概念。了解这些基本概念还能使您更好地理解和评估自您阅读本书5分钟以内的任何在arxiv.org上发表的关于解释性的新文章(我可能夸大了出版速度)。


这本书首先从一些反乌托邦短篇小说开始,这些小说不需要理解,而是希望可以让您快乐并让您思考。然后,本书探讨了机器学习可解释性的概念。本书中的术语都可以在术语章节中查找。本书中大部分模型和方法都是基于数据章节中的真实数据集来解释的。使机器学习模型可解释的方法之一是使用可解释的模型,比如线性模型和决策树。另一种方法是使用模型无关的方法,这样就可以应用在任意的监督机器学习模型上。模型无关方法章节涉及诸如局部依赖图和特征重要性排序。模型无关方法通过改变机器学习模型的输入,然后衡量预测结果的变化来进行解释。返回数据作为解释的模型无关方法将在基于示例的解释一章中讨论。所有模型无关的方法都可以根据它们是解释跨所有数据实例的全局模型行为还是单个预测进一步划分。以下方法解释了模型的整体行为:局部依赖图,累积局部效应,特征交互,特征重要性,全局代理模型以及原型和批判。为了解释单个预测,我们有局部代理模型,Shapley值解释,反例解释(以及密切相关的:对抗性例子)。还有一些方法对全局模型行为和单个预测都适用:个体条件期望和影响实例。


本书以对可解释机器学习未来的乐观展望结束。


您可以从头到尾阅读这本书,也可以直接调到你感兴趣的部分。


希望您能从这次阅读中受益匪浅!


1.1 趣味故事

(略)

1.2 什么是机器学习

机器学习是计算机基于数据做出的改善预测或行为的一系列方法。


例如,为了预测房屋的价格,计算机将学习过去房屋销售的模式。本书侧重于监督机器学习,它涵盖了所有这样的预测问题,我们有一个数据集,已经知道了感兴趣的结果(例如过去的房价),并希望通过学习预测出新数据的结果。从监督学习中排除的是聚类这样的任务(相等于无监督学习),其中我们没有感兴趣的特定结果,而是想要找到数据点的聚类。还包括诸如强化学习之类的东西,其中代理学习通过在环境中行动来优化某种奖励(例如,玩俄罗斯方块的计算机)。监督学习的目标是学习将数据特征(例如房屋大小,位置,楼层类型......)映射到输出(例如房价)的预测模型。如果输出是分类的,则任务称为分类,如果是数字,则称为回归。机器学习算法通过估计参数(如权重)或学习结构(如树)来学习模型。该算法的目标是最小化得分或损失函数。在预测房价例子中,优化目标是最小化估计的房价和预测的价格之间的差异。然后可以使用训练好的机器学习模型来对新实例进行预测。


房价估算,产品推荐,路牌检测,信用违约预测和欺诈检测:所有这些例子的共同之处在于它们可以通过机器学习来解决。任务是不同的,但方法是相同的:

第1步:数据收集。越多越好。数据必须包含您要预测的结果以及进行预测的其他信息。对于路牌探测器(“图像中是否有路牌?”),您将收集街道图像并标记路牌是否可见。对于信用违约预测器,您需要过去的实际贷款数据,客户是否违约贷款的信息,以及可帮助您进行预测的数据,如收入,过去的信用违约记录等。对于自动房屋价值估算程序,您可以从过去的房屋销售中收集数据以及有关房地产的信息,例如大小,位置等。

步骤2:将此信息输入到机器学习算法中,然后生成符号检测器模型,信用评级模型或房价估计器。

第3步:使用带有新数据的模型。将模型集成到产品或流程中,例如自动驾驶汽车,信用申请流程或房地产市场网站。


机器在许多任务中超越人类,例如下棋(或最近的Go)或预测天气。即使机器与人类一样好,或者在任务中有点差,但在速度,复现性和规模化方面仍然有着很大的优势。曾经实施的机器学习模型可以比人类更快地完成任务,可靠地提供一致的结果并且可以无限复制。在另一台机器上复制机器学习模型既快又便宜。为一项任务进行人员培训可能需要数十年(特别是在他们年轻时)并且成本很高。使用机器学习的一个主要缺点是,关于数据和机器解决的任务的见解隐藏在越来越复杂的模型中。您需要数百万个数字来描述深度神经网络,并且无法完整地理解该模型。其他模型,例如随机森林,由数百个“投票”预测的决策树组成。要了解决策是如何做出的,您必须查看数百棵树中每一棵树的投票和结构。无论你多么聪明或工作记忆有多好,这都行不通。表现最佳的模型通常是几种模型(也称为集合体)的混合体,即使可以解释每个模型,也无法解释这些模型。如果您只关注性能,您只能获得越来越多的不透明模型。只需看看kaggle.com机器学习竞赛平台上对获胜者的采访:获奖模型大多是模型的集合或非常复杂的模型,如提升树或深度神经网络。

1.3 术语定义

为避免由于歧义引起的混淆,以下是本书中使用的一些术语的定义:


算法(Algorithm)是机器为实现特定目标制定的一组规则[2]。 可以将算法视为定义输入,输出和从输入到输出所需的所有步骤的食谱。烹饪食谱是算法,其中成分是输入,熟食是输出,准备和烹饪步骤是算法指令。


机器学习(Machine Learning)是让计算机从数据中学习以做出和改进预测(例如癌症,每周销售,信用违约)的一组方法。机器学习是一种从所有指令都必须提供给计算机的“正常编程”到只需要提供数据的“间接编程”转变的范式。




学习器(Learner)或者说机器学习算法(Machine Learning Algorithm)是指被用于从数据中学习出机器学习模型的程序。还有一个别称是“诱导器”(例如“树诱导器”)。


机器学习模型(Machine Learning Model)是将输入映射到预测结果的学习程序。模型这可以是线性模型或神经网络的一组权重。模型还有一些别称,比如预测器,根据任务的不同还可以分为分类器或回归模型。用或者表示训练的机器学习模型。




图 1.1: 学习器从有标签数据中学习出模型,然后使用这个模型做出预测。


黑盒模型(Black Box Model)是一种不展现其内部机制的系统。在机器学习中,“黑盒”形容通过查看参数无法理解的模型(例如神经网络),黑盒的反面有时也被称为白盒(White Box),在本书中指的是可解释的模型。模型无关的方法在解释时把机器学习模型看作黑盒,不管他们是不是黑盒模型。



可解释的机器学习(Interpretable Machine Learning)指的是使机器学习系统的行为和预测对人类来说可理解的方法和模型。


数据集(Dataset)是带有机器学习的数据的表格。数据集包含特征和要预测的目标。当数据集被用于诱导一个模型时,其被称为训练数据。


一个实例(Instance)是数据集中的一行数据。实例的别名还有:数据点,样本,观察。一个实例由特征值组成,如果目标已知的话,还有目标结果。


特征(Features)是用于预测或分类的输入。一个特征在数据集中是一列。在整本书中,假设特征是可解释的,这意味着对人来说是很容易理解的,比如一天的温度或者一个人的身高。特征的可解释性是一个很重要的假设。但是如果很难理解输入的特征,那么想要理解模型的作用就更难了。本书用表示所有特征的矩阵,表示一个单独的实例。表示所有实例的单个向量,表示样本的第个特征的值。


目标(Target)是机器学习要预测的信息。在数学公式中,常用或表示单个实例的目标。


机器学习任务(Machine Learning Task)是带有特征和标记数据集的组合。根据目标的类型,任务可以分为分类,回归,生存分析(survival analysis),聚类,或者异常点检测。


预测(Prediction)是机器学习模型基于给定的特征对于目标的猜测。在本书中,用或表示预测值。


  1. Friedman, Jerome, Trevor Hastie, and Robert Tibshirani. “The elements of statistical learning”. www.web.stanford.edu/~hastie/ElemStatLearn/ (2009).
  2. “Definition of Algorithm.” merriam-webster.com/dic.
编辑于 2019-04-23

文章被以下专栏收录