机器学习的可解释性详尽介绍

机器学习业务应用以输出决策判断为目标。可解释性是指人类能够理解决策原因的程度。机器学习模型的可解释性越高,人们就越容易理解为什么做出某些决定或预测。模型可解释性指对模型内部机制的理解以及对模型结果的理解。

其重要性体现在:建模阶段,辅助开发人员理解模型,进行模型的对比选择,必要时优化调整模型;在投入运行阶段,向业务方解释模型的内部机制,对模型结果进行解释。比如基金推荐模型,需要解释:为何为这个用户推荐某支基金。机器学习流程步骤:收集数据、清洗数据、训练模型、基于验证或测试错误或其他评价指标选择最好的模型。

第一步,选择比较小的错误率和比较高的准确率的高精度的模型。

事实上,每个分类问题的机器学习流程中都应该包括模型理解和模型解释,下面是几个原因:

动机

模型解释作为一个概念仍然主要是理论和主观的。任何机器学习模型的核心都有一个响应函数,它试图映射和解释独立(输入)自变量和(目标或响应)因变量之间的关系和模式。当模型预测或寻找见解时,需要做出某些决定和选择。模型解释试图理解和解释响应函数所做出的这些决定,即what,why以及how。模型解释的关键是透明度,质疑能力以及人类理解模型决策的难易程度。模型解释的三个最重要的方面解释如下。

在比较模型时,除了模型性能之外,如果模型的决策比其他模型的决策更容易理解,那么模型被认为比其他模型具有更好的可解释性。

可解释性的重要性

这是我们在本文中多次讨论的内容,也是决定数据科学项目在行业中取得成功的关键区别之一。这推动了模型解释的必要性和重要性的紧迫性。

可解释性的标准

有一些特定的标准可用于分类模型解释方法。ChristophMolnar,2018年“可解释的机器学习,制作黑箱模型可解释指南”中提到了一个很好的指南。

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

可解释性的作用

对于想要了解模型如何工作的数据科学家来说,评估模型的准确性通常是不够的。数据科学家通常想知道模型输入变量如何工作以及模型的预测如何根据输入变量的值而变化。机器学习算法和模型的工程应用中用到最多的主要是树类模型(lgb,xgb)和神经网络(cnn,rnn),使用者往往习惯于很少去思考其中的含义和解释性。需要思考一个模型的哪些东西是可解释的?所以有几个问题值得讨论:

为什么这些解释信息是有价值的呢:

模型效果评估指标图

ConfusionMatrix一个完美的分类模型就是,如果一个客户实际上属于类别good,也预测成good,处于类别bad,也就预测成bad。实际上一些是good的客户,根据我们的模型,却预测他为bad,对一些原本是bad的客户,却预测他为good。我们需要知道,这个模型到底预测对了多少,预测错了多少,混淆矩阵就把所有这些信息,都归到一个表里:

工作原理:排列重要性,一定是在model训练完成后,才可以计算的。简单来说,就是改变数据表格中某一列的数据的排列,保持其余特征不动,看其对预测精度的影响有多大。大概三个步骤:

结果分析:

这个数据集是收入水平数据集,这个例子里,最重要的特征是“capital_gain”,这看起来是合理的。PDP部分依赖图(PDP或PD图)显示特征对机器学习模型的预测结果的边际效应,可以展示一个特征是如何影响预测的。部分依赖图可以显示目标与特征之间的关系是线性的,单调的还是更复杂的。例如,当应用于线性回归模型时,部分依赖图总是显示线性关系。回归的部分依赖函数定义为:

特征重要性可以告诉你哪些特征是最重要的或者是不重要的。partialdependence图可以告诉你一个特征是如何影响预测的。PDP分析步骤如下:

PDP特别适合用来回答类似这样的问题:

重要的是要记住,在该图中,较暗的颜色并不一定意味着较高的默认概率。在这里,我们绘制了受教育等级和年龄与收入等级概率。我们可以推断,在这两个自变量中,education_num起着更重要的作用,因为等高线图主要是垂直的,遵循x轴刻度标记(至少达到一个点)。ICE部分依赖图(PDP)和个体条件期望图(ICE)说明了一个或多个输入变量与黑盒模型的预测结果之间的关系。它们都基于可视化,模型不可知的技术。ICE图可以更深入地探索个体差异并识别模型输入之间的子组和相互作用。另一方面,ICE图使得可以深入到单个观察的水平。它们可以帮助探索个体差异,并确定模型输入之间的子组和交互。可以将每个ICE曲线视为一种模拟,显示如果改变特定观察的一个特征,模型预测会发生什么。为避免可视化过载,ICE图一次只显示一个模型变量。可以将每个ICE曲线视为一种模拟,显示如果您改变特定观察的一个特征,模型预测会发生什么。如图9所示,通过在曲线变量的唯一值上复制个体观察并对每个重复进行评分,获得一个观察的ICE曲线。下图中的PD图结果基本上是平坦的,给人的印象是X1与模型的预测之间没有关系。

当我们观察ICE图时,它们呈现出一幅截然不同的图:这种关系对于一次观察非常正面,但对另一次观察则非常负面。因此,与PD图告诉我们的情况相反,ICE图显示X1实际上与目标有关;。基本上,ICE图分离PD功能(毕竟是平均值)以揭示相互作用和个体差异。

通俗来说:就是选择一个样本以及样本附近的点,然后训练一个简单模型来拟合,虽然简单模型不能在完整数据集上有效,但至少在这个点附近都是有效的,这个简单模型的特征是人类可解析的,而训练出的权重也可以表示特征重要性。论文中算法描述:

为了更好地理解LIME的工作原理,让我们考虑两种不同类型的可解释性:

我们希望解释器与模型无关,并且在局部可靠。局部可靠的解释捕获要解释的实例邻域中的分类器行为。为了学习局部解释,LIME使用可解释的模型近似分类器围绕特定实例的决策边界。LIME与模型无关,这意味着它将模型视为黑盒子,并且不对模型行为做出任何假设。这使得LIME适用于任何预测模型。LIME的核心在于三个方面:

LIME作用在单个样本上。首先,我们取出一个样本,并(permute)重复这个数据同时增加一些微小扰动,这样就得到了一个新的数据集,数据集中包含相似的样本,都基于取出来的那个样本。对于这个新数据集中的每一个样本,我们可以计算它跟取出的样本之间的相似性,即在permutation中它被调整了多大,所有的统计距离、相似性矩阵都可以用在这里,比如用指定宽度的指数内核将欧式距离转化为相似度。下一步,使用最初训练的复杂模型,在新数据上进行预测。正因为新数据样本间的细微差别,我们可以跟踪那些微小扰动对预测结果的影响。最后,我们在新数据上训练出一个简单模型(通常是线性模型),并使用最重要的特征进行预测。最重要的特征有不同的决定方法,在指定加入模型解释中的特征数量(通常在5到10附近)的前提下,可以

上图给我们解释了对于一个样本的预测结果,是哪些特征决定样本被分类到类别0,哪些特征决定样本被分类到类别1,且具体列出样本在这些特征的数值大小。很直观和明确的解释为什么模型做这个决定。SHAPShaply值由美国洛杉矶加州大学教授罗伊德·夏普利(LloydShapley)提出,用于解决合作博弈的贡献和收益分配问题。N人合作中,单个成员的贡献不一样,收益分配也应该不一样。理想的分配方式是:贡献=收益;贡献和收益分配是否有可以量化的方法呢?Shapley方法就是这样一种方法:Shapley值:单个成员所得与自己的贡献相等。

基于Shap值的模型解释是一种和模型无关的方法。如上图,模型预测和Shap值解释是两个并行流程,Shap对模型预测的结果进行解释。NIPS论文地址:AUnifiedApproachtoInterpretingModelPredictions,也可以参考这篇博客:OneFeatureAttributionMethodto(Supposedly)RuleThemAll:ShapleyValues。原理:一个特征的shapleyvalue是该特征在所有的特征序列中的平均边际贡献。优点:

缺点:计算效率低。适用范围:

Shap方法的两大特性

树模型Shap值的解

详细内容参考论文。用Shap值识别特征交叉Shap方法计算两两特征交叉影响:

通俗理解:交叉影响=两个人合作贡献增益,减去各自单干的贡献;单个特征的贡献Shap方法计算单个特征的贡献(剔除交叉影响):

通俗理解:个人影响=个人合作贡献,减去其它N-1个人的贡献;下面还是以收入水平数据集进行案例分析:row_to_show=5data_for_prediction=X_test.iloc[row_to_show]#use5rowofdatahere.Couldusemultiplerowsifdesireddata_for_prediction_array=data_for_prediction.values.reshape(1,-1)#计算model的shap值explainer=shap.TreeExplainer(model)#计算样本数据的shap值shap_values=explainer.shap_values(data_for_prediction)shap.initjs()shap.force_plot(explainer.expected_value[1],shap_values[1],data_for_prediction)

图形解释

特征解释

SummaryPlots:shap_values=explainer.shap_values(X_test)shap.summary_plot(shap_values[1],X_test)

特征解释:

图形解释:

特征解释:

该方法可以在大多数编程语言中容易地实现并且集成到现有的神经网络框架中。当应用于深度ReLU网络时,LRP可以被理解为预测的深度泰勒分解。这里有如何实现LRP用于解释深度模型的代码教程,有兴趣可以动手实现,用于解释自己的深度模型。

THE END
1.边际的意思边际,汉语词汇,拼音是biān jì,解释是边缘、边界、边上。唐·孟浩然《洛中送奚三还扬州》诗:“水国无边际,舟行共使风。”王西彦《风雪》五:“现在极目所穷的是一片广大的原野,一片无边际的雪地。”南朝·陈徐陵《东阳双林寺傅大士碑》:“我有边际,随机延促。” https://xue.baidu.com/okam/pages/strategy-tp/index?strategyId=140959453985198&source=natural
2.边际分布与条件分布边际分布与条件分布(以二维场合为例) 边际分布 离散随机变量的边际分布函数 考虑离散的二维随机向量(ξ,η),ξ∈{x1,x2,},η∈{y1,y2,}(ξ,η),ξ∈{x?1,x?2,},η∈{y?1,y?2,},其分布函数为p(xi,yj)=P{ξ=xi,η=yj},i,j=1http://www.notedeep.com/page/9394
3.§3.2边际分布,条件分布与统计独立性概率论与数理统计 第12讲 By Kzhu 2019年10月31日 §3.2 边际分布,条件分布与统计独立性 多维随机变量 分布 联合分布函数联合密度函数联合分布列 关系 与分量关系分量间的关系边 条独 际 件立 分 分性 布布 相关系数 边际分布 Def. 相对于随机向量的联合分布而言,其每个分量的 分布称为边际分布 以二维随机http://cs.e.ecust.edu.cn/download/03e6e3dbd07d9489ad2a04dc79fc208c
4.概率统计通俗理解边际分布在概率论和统计学中,边际分布是描述两个或更多个随机变量的联合概率分布中的一个或一部分随机变量的概率分布。简单来说,假设有两个随机变量(比如掷两个骰子),边际分布就是其中一个变量的概率分布(比如一个骰子的结果)。 模拟掷骰子过程 可以用numpy库来模拟上述的掷骰子过程,并计算边际分布。如下: https://blog.csdn.net/weixin_43982238/article/details/134715491
5.概率论3.2.1边际分布函数[48] 3.1.4常用多维分布 1515播放 12:52 [49] 3.2.1边际分布函数 1133播放 待播放 [50] 3.2.2 边际分布列 1269播放 07:34 [51] 3.2.3边际密度函数 1172播放 14:34 [52] 3.2.4随机变量间的独立性-1 1147播放 18:19 [53] 3.2.5随机变量间的独立性-2 1541播放 08:39 [54] 3.3.1多维https://open.163.com/newview/movie/free?pid=WGVD5PL7B&mid=LGVD5QMUV
6.二维均匀分布的边际际分布为一维均匀分布。()二维均匀分布的边际际分布为一维均匀分布。()A.正确B.错误的答案是什么.用刷刷题APP,拍照搜索答疑.刷刷题(shuashuati.com)是专业的大学职业搜题找答案,刷题练习的工具.一键将文档转化为在线题库手机刷题,以提高学习效率,是学习的生产力工具https://www.shuashuati.com/ti/ad65150790fe4884984535716a1d00d5.html?fm=bd7676fbdcabff917aba04220c9d54701e
7.边际分布的意思边际分布的解释综合利用了先验信息和每一阶段现场试验信息,推导了各阶段可靠性的后验边际分布。 The posterior marginal distributions on reliability were deduced by comprehensively making use of prior information and field test information at every stage. 在这个模型下,通过测度变换,可以得到两公司违约时间的联合分布及各自的边https://www1.dict.li/%E8%BE%B9%E9%99%85%E5%88%86%E5%B8%83/
8.安徽财经大学819概率论与数理统计2021年硕士研究生考试大纲第三章多维随机变量及其联合分布 (一)多维随机变量及其联合分布 1.多维随机变量的概念 2.联合分布函数的概念及性质 3.二维离散随机变量的联合分布列的计算,二元正态分布 (二)边际分布与随机变量的独立性 1.边际分布的概念 2.边际分布列和边际密度函数的求解 https://www.kyzs.com/article/9724.html
9.边际分布,marginaldistribution,音标,读音,翻译,英文例句,英语词典边际分布1. This paper explores Sklar s theorem based on the bivariate distribution,Introduces the method of generation Copula function and joint distribution functions with a given marginal distribution based on Sklar s theorem. 基于二维分布讨论了Sklar定理,介绍了由Sklar定理直接生成Copula函数的方法以及http://dictall.com/indu/209/2084495DDA6.htm
10.基于动态CopulaCoVaR系统性风险的评估其中fs,t(Rs,t;?s)和fi,t(Ri,t;?i)為边际密度函数。本文采用IFM方法进行参数估计。IFM(Joe(1996))是一种多步优化算法,它将待估参数划分为每个边际分布的参数和Copula函数的参数两部分,分别进行估计,最终得到所有待估参数的值。 2. 动态Copula框架下的CoVaR的计算 https://www.fx361.com/page/2020/0320/6460242.shtml
11.边缘分布中文数学WikiFandom其中为的分布函数,我们就说这两个分布函数是随机向量关于随机变量的边际分布的分布函数。 最后一行及最后一列分别是随机变量和的边际分布,显然它们满足规范性 进而得出关于的概率密度函数为 李贤平, 《概率论基础(第3版)》, 高等教育出版社, 北京, 2010-04, ISBN978-7-0402-8890-2. https://math.fandom.com/zh/wiki/%E8%BE%B9%E7%BC%98%E5%88%86%E5%B8%83
12.边缘分布函数边缘分布亦称边沿分布或边际分布。随机向量中分量各自的概率分布。在(ξ,η)的联合分布函数定义中,令,则事件。利用概率的下连续性便得ξ 的分布函数 称为ξ 的边缘分布函数(marginal distribution function)。同理η 的边缘分布函数为 “边缘”一词来源于离散型情形。在二维离散概率分布的列表表示中,将各行求和写在https://baike.sogou.com/v69483504.htm
13.二元正态分布定义二元正态密度的性质.PPT的联合密度函数p(x,y)具有如下性质: p(x,y) ≥0 在p(x,y)的连续点(x,y)处有 G是平面上某一区域,则 边际分布 三、常用的二维连续型分布 1.均匀分布 设 是一平面区域,其面积为 ,向 内随机地投一点, 表示投点的坐标,由几何概型知:对任一区域 ,有 【例1】设 ,求边际分布 2.二元正态分布 (1https://max.book118.com/html/2019/0315/8050103134002012.shtm
14.二维随机变量的分布与Copula函数基于二维分布讨论了Sklar定理,介绍了由Sklar定理直接生成Copula函数的方法以及生成给定边际分布的联合分布函数的方法。 二维随机变量2018-11-09 上传大小:142KB 所需:50积分/C币 基于Copula函数的三维丰枯遭遇公式 基于Copula函数的三维丰枯遭遇公式,共27种组合方式。 https://www.iteye.com/resource/qq_25313809-10774548
15.深度学习中的概率论知识或边际分布(marginal distribution)。 独立性 另一个有用属性是依赖(dependence)与独立(independence)。 如果两个随机变量 和 是独立的,意味着事件 的发生跟 事件的发生无关。 在这种情况下,统计学家通常将这一点表述为 。 根据贝叶斯定理,马上就能同样得到 https://www.jianshu.com/p/6707a73fca0c
16.《概率论》与《数理统计》第11讲分布函数 第12讲连续型随机变量及其概率密度 第13讲均匀分布与指数分布 第14讲正态分布 第15讲随机变量函数的分布 第9-15讲单元测验 第16讲二元随机变量,离散型随机变量分布律 第17讲二元离散型随机变量边际分布律与条件分布律 第18讲二元随机变量分布函数、边际分布函数及条件分布函数 https://sxxy.bjwlxy.cn/info/1279/3068.htm
17.边际分布与条件分布ppt课件3 ()1( x dxdy xy xdxYXP dxxx x 1 0 32 ) 6 5 3 4 2 ( . 72 65 盐城工学院概率论与数理统计课题组 8 一、二维离散型随机变量的边际分布 二、二维连续型随机变量的边际分布 三、条件分布* 盐城工学院概率论与数理统计课题组 9 边际分布函数 离散型随机变量的边际分布律 连续型随机变量的边际概率https://www.docin.com/p-2346319892.html
18.边际分布曲线图python边际分布是什么意思基于概率图模型定义的联合概率分布,我们能对目标变量的边际分布或以某些可观测变量为条件的条件分布进行推断。边际分布是指对无关变量求和或积分后得到的结果,例如在马尔可夫网中,变量的联合分布呗表示成极大团的势函数乘积,于是,给定参数θ求解某个变量x的分布,就编程对联合分布中其他无关变量进行积分的过程,这称为https://blog.51cto.com/u_14152/8567896
19.VaR系列(五):Copula模型估计组合VaR腾讯云开发者社区之前总结的大部分模型都是基于正态性的假设,但实际上,正态性假设并不非常符合金融时间序列的特征。如果从其他分布假设出发,对于单个资产来说,已经有t-garch等模型可以用于波动率建模,相对容易,但对于资产组合来说,多元正态具有边际分布及线性组合也符合多元正态分布https://cloud.tencent.com/developer/article/1495699