机器学习可解释性系列 - 是什么&为何&怎么作

机器学习可解释性分析

可解释性一般是指使用人类能够理解的方式,基于当前的业务,针对模型的结果进行总结分析算法

通常来讲,计算机一般没法解释它自身的预测结果,此时就须要必定的人工参与来完成可解释性工做;安全

目录:网络

  • 是什么:什么叫可解释性;
  • 为何:为何要对模型结果进行解释;
  • 怎么作:如何有效的进行可解释性工做;

是什么

机器学习

介绍可解释性以前,咱们先来简单看看什么是机器学习,此处咱们主要讨论有监督机器学习,对于无监督、强化学习等不作主要分析;机器学习

机器学习是计算机基于数据作出的和改进预测行为的一套方法,举例说明:函数

  • 房屋价格预测:基于历史房屋的价格以及其余属性信息,训练回归模型,并针对的房屋进行价格预测
  • 信用卡诈骗检测:基于信用卡历史消费记录等信息,训练分类模型,并针对的刷卡行为进行异常检测

有监督学习的目标是学习一个预测模型,将数据特征(建设年份、大小、楼层、地段等)映射到输出(房价),模型算法经过估计参数(权重,好比线性回归)或者学习结构(树型,好比决策树)来学习,过程由一个最小化分数或者损失函数指导,例如在房屋价格预测,则是最小化预测与真实的价格差;性能

机器学习算法运行在计算机上,从不少方面看是表现是优于人类的,好比速度、稳定性、可复制性等等,即使性能上略逊于人类,可是瑕不掩瑜,可是模型也有它的劣势,那就是计算机一般没法有效的解释模型的预测行为,这里的解释指的是说给人类听,一个深度神经网络可能由几百层网络百万个参数组成,一个随机森林可能由几百棵决策树组成,不论是在比赛中,仍是实际工做中,表现最好的模型每每是复杂的集成模型,这就使得对他们的解释愈发困难,超多的参数、复杂的结构、特征的组合等等都阻挡了咱们对结果的直观理解,这在必定程度上伤害着咱们对结果的信心;学习

所以,不论是从对业务扩展可信度结果分享中的哪一个角度考虑,可解释性都是机器学习中重要且有必要的一环;测试

可解释性

可解释性的一个特殊点在于它的衡量没有一个量化的数学方法,主观的定义是可解释性是人们可以理解模型决策缘由的程度,这种理解是基于实际数据和业务下的理解,假设一个线性模型作房屋预测,模型中房屋大小房价影响最大,那么这个结果是很容易理解的,也符合咱们的主观认知,若是换成深度神经网络来作预测,或者先对数据作了PCA等处理后再作预测,结果每每是人类无法直接理解的,那么从解释性上看,明显第一个模型的解释性更好;代理

为何

进行可解释性的缘由:文档

  • 知其然更要知其因此然:人类的好奇心驱使下,问为何是很正常的一种思惟,若是不能解释预测结果,那么就没法让人们彻底信任这个结果(现代医学中西医的接受度要高于中医,除了科学带来的普适性以外,西医的可解释性明显要优于中医,给人感受更放心);
  • 从实际业务上考虑,假设咱们的模型预测不给某人发放信用卡,那也应该提供一个不能发放的缘由给到办理业务的人员,另外针对某些特殊场景,好比癌症检测自动驾驶等涉及人身安全的问题上,可解释性提供了后续问题复盘的基础;

可解释性让咱们更容易检查如下性质:公平性隐私可靠性因果关系信任

怎么作

可解释性方法分类

针对不一样类型的模型可使用不能的可解释性方法:

  • 本质的:本质上可解释模型(好比短决策树、简单线性模型等),这一类模型因为自身的简单性,能够针对其结果、回归权重等直接进行解释;
  • 模型无关的:对于更广泛的状况,即复杂模型的解释,须要使用模型无关方法,好比个体条件指望、特征交互、累计局部效应图等;

实际工做中上述两类方法都会使用,我通常的流程是先易后难,先从最简单的方法开始进行可解释性工做;

可解释性评估

目前针对机器学习的可解释性没有统一的达成共识的标准,可是也有了一些初步的评估方法:

  • 应用级评估:由最终产品的使用用户来评估其解释性的好坏;
  • 人员级评估:相似应用级评估,区别是由测试人员代替最终用户,优势是更廉价,缺点是效果与最终用户会有差别,尤为是在某些专业领域,好比医学等方面的机器学习产品;
  • 功能级评估:代理型解释,例如咱们用SVM训练模型并预测房屋价格,使用局部代理方法(好比决策树)来解释SVM的预测结果,也就是复杂模型作业务,简单模型解释其结果;

PS:在咱们的乘客聚类项目中,一部分解释性工做就相似代理型解释,KMeans作聚类,随机森林逻辑回归解释结果;

解释方法的性质

性质是用于判断解释方法自身好坏的方法,目前一个最大的难点在于大多数性质都无法量化:

  • 表达能力:表达能力越好的解释方法越能解释复杂模型的预测结果,目前来看最好的表达能力是对深度神经网络的解释,这一点也是不少大佬们的研究方向;
  • 半透明度:依赖于被解释算法模型的程度,例如对于本质上可解释的模型的解释方法就是高度透明的,而那些模型无关的算法则半透明度基本为0,高透明度的优势是能够基于模型更多信息来解释,而低透明度优势在于移植性好;
  • 可移植性:与解释方法与被解释模型的依赖程度成反比,所以模型无关的解释方法的可移植性是最好的;
  • 算法复杂度:解释方法自身算法的计算复杂度;

单个解释的性质:准确性保真度一致性稳定性可理解性肯定性重要程度新颖性表明性

人性化的解释

对外输出结果时,什么叫作好的解释,人文科学研究表示:人类更喜欢较短的解释,将正反两面进行对比,异常状况单独进行说明;

  1. 解释具备对比性:人们关心的一般不是某个房屋为何被预测为100w,而是两个状况相似的房屋,为何一个比另外一个贵10w,所以解释的重点在于说明两个例子的差别,造成对比,这种强烈的对比感是人们容易接受的;
  2. 选择性的解释:针对真实状况,只选择其中有表明性的几个缘由组成解释,使得解释更简短;
  3. 解释是社会性的:针对不一样的被解释人群进行区分对待,对于专业人员,能够更多从模型算法出发,对于其余岗位同事能够更多从业务等领域出发;
  4. 异常要重点解释:异常虽然在指标上没有突出的体现(过于关注指标的表现会忽略藏在其中的异常例子),可是异常很吸引人们的注意力,所以对于异常例子的重点解释是很重要的;
  5. 解释是真实的:对于某些例子的解释应该一样适用于其余例子,至少是相似的例子上;
  6. 好的解释与被解释着的先验知识是一致的:人类因为认知误差会更相信本身知道的,好比咱们都认为房子越大价钱越贵,那么若是模型在某一类房屋上给出了面积越大,价钱便宜这样一个解释,这是很难被人们接收的,可是事实上模型为了更好的性能,可能进行了复杂的特征交互、组合得出的结果,结果是对的,可是它的解释却很难被接受;
  7. 好的解释是广泛性极可能的:好比房子越大价钱越贵,这就是一个广泛性很高的解释,也确实极可能;

后续

后续会继续出可解释性相关文档,预计包括自身可解释模型(线性回归、逻辑回归、决策树等)、模型无关的解释方法、工做中的真实项目中的解释性工做;

最后

本文基于《可解释性的机器学习》,做者 Christoph Molnar,译者 朱明超;