机器学习可解释性系列 - 是什么怎么做

机器学习可解释性分析

可解释性通常是指使用人类可以理解的方式,基于当前的业务,针对模型的结果进行总结分析

一般来说,计算机通常无法解释它自身的预测结果,此时就需要一定的人工参与来完成可解释性工作;

目录:

是什么:什么叫可解释性;

为什么:为什么要对模型结果进行解释;

怎么做:如何有效的进行可解释性工作;

是什么 机器学习

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

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

房屋价格预测:基于历史房屋的价格以及其他属性信息,训练回归模型,并针对的房屋进行价格预测

信用卡诈骗检测:基于信用卡历史消费记录等信息,训练分类模型,并针对的刷卡行为进行异常检测

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

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

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

可解释性

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

为什么

进行可解释性的原因:

知其然更要知其所以然:人类的好奇心驱使下,问为什么是很正常的一种思维,如果不能解释预测结果,那么就无法让人们完全信任这个结果(现代医学中西医的接受度要高于中医,除了科学带来的普适性之外,西医的可解释性明显要优于中医,给人感觉更放心);

从实际业务上考虑,假设我们的模型预测不给某人发放信用卡,那也应该提供一个不能发放的原因给到办理业务的人员,另外针对某些特殊场景,比如癌症检测自动驾驶等涉及人身安全的问题上,可解释性提供了后续问题复盘的基础;

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

怎么做 可解释性方法分类

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

本质的:本质上可解释模型(比如短决策树、简单线性模型等),这一类模型由于自身的简单性,可以针对其结果、回归权重等直接进行解释;

模型无关的:对于更普遍的情况,即复杂模型的解释,需要使用模型无关方法,比如个体条件期望、特征交互、累计局部效应图等;

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

可解释性评估

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

应用级评估:由最终产品的使用用户来评估其解释性的好坏;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyzgg.html