为什么你需要关心可解释的机器学习
机器学习(ML)可解释性可能是对模型构建和模型验证的有力支持。构建机器学习(ML)系统的人应该关注可解释性:从业者和工程师应该将可解释性作为构建更好模型的手段。
本文的目的是提供一个愿景,说明为什么可解释性工具对于机器学习的实践很重要,并讨论一些工具。
机器学习(ML)系统(例如用于分类)被设计和优化以识别大量数据中的模式。构建一个能够在输入变量和目标类别之间找到非常复杂模式的系统是非常容易的。结构化(表格)数据?可以用XGBoost。非结构化数据呢?可使用深层网络实现!典型的机器学习(ML)工作流程包括探索数据,数据预处理,训练模型,然后验证模型并确定它是否已准备好用于生产。大多数情况下,模型验证基于预测能力的度量:例如,受试者工作特征曲线(ROC)曲线下的面积通常非常可靠。
图1 - 模型解释如何适用于常见的ML工作流程
但是,在建模过程中,许多设计决策可能会略微改变模型。不仅可以选择分类器,还可以在每个预处理步骤中做出无数决定。事实证明,鉴于一个非平凡的问题,有无数种具有高预测功率的模型,每一个模型都对数据进行完全不同的描述。有些模型可能会捕获对于给定数据集似乎非常具有预测性的关系,但在真实世界中会很容易被发现。
这被称为罗生门效应。我们应该在生产中部署哪些模型来做出关键决策?我们应该始终采用具有最高绝对AUC的模型吗?我们应该如何区分好的和坏的设计决策?
可解释的机器学习工具帮助我们做出决定,也就是说,可以做 更好的模型验证。模型验证不仅仅涉及AUC。它应该包括回答以下问题:模型输出如何与每个特征的值相关?这些关系是否符合人类的直觉和/或领域知识?特定观察的最重要特征是什么?
我们可以粗略地将可解释性划分为全局和局部分析。
全局分析方法将使您对特征与机器学习模型输出之间的关系有一般的了解。例如:房屋大小如何影响未来三个月出售的机会?
局部分析方法将帮助您了解特定决策。假设您对特定贷款申请的违约概率很高(不偿还)。通常,您想知道哪些特征导致模型将应用程序归类为高风险。
全局方法
对于全局分析,首先使用部分依赖图(http://scikit-learn.org/stable/auto_examples/ensemble/plot_partial_dependence.html)和个人条件期望(ICE)。
部分依赖图显示给定不同特征值的特定类的概率。它是一种全局方法:它考虑了所有实例,并对特征与预测结果的全局关系进行了陈述。
局部依赖图可以让你知道模型是如何对特定的特性进行响应的。它可以显示是否目标和特征之间的关系是线性的,单调的还是更复杂的。例如,图形可以显示Square Meters对房价的单调增长影响(这很好)。
部分依赖图是一种全局方法,因为它不关注特定实例,而是关注整体平均值。对于二元分类,如果所有的观测数据都是x1等于50的话,x1=50的部分依赖值就是正类的平均概率。
用于单个观察的PDP的等效物称为个体条件期望(ICE)图。ICE图每个实例绘制一条线,表示实体的预测在特征更改时如何更改,而其他特征值是固定的。
图2 - 具有个人条件期望的部分依赖图(粗线)
作为全局平均值,PDP无法捕获来自特征之间交互的异构关系。通过ICE线装备您的局部依赖图通常可以获得更多洞察力。
局部方法
SHapley Additive exPlanations(https://github.com/slundberg/shap)是最新和最有前途的局部分析方法之一。它的目的是回答问题为什么机器学习模型为一个实例做出特定的决定?SHAP为每个特征分配特定预测的重要性值。
图3 - Iris数据集的SHAP值示例
您可以看到花瓣长度如何影响分类比萼片长度更多。
在生产之前,你可以将你的模型部署在一个测试环境中并提交一组数据,比如,一个holdout测试集,在测试组里的观察值可以代表一个有趣的近似值,这些特征会影响模型输出的输出。在这种情况下,我们强烈建议将测试设置为"out of time",即最近的观察结果是holdout的数据。
机器学习(ML)模型的可解释决策已经成为在现实世界中应用它们的重要要求。
在许多关键的机器学习(ML)应用中,解决方案只考虑固有的可解释算法 - 例如线性模型。这些算法无法捕捉特定于训练数据集的细粒度模式,它们只能捕捉一般趋势。这些趋势很容易解释并且与领域知识和直觉相匹配。
可解释的工具为我们提供了另一种选择:使用强大的算法,让它捕获任何模式,然后使用您的人工专业知识去除不需要的模式。在众多可能的模型中,选择讲述数据正确故事的模型。
当您从训练过的机器学习模型中获得可解释的结果时,您可以利用这种可解释性。上述工具的输出可以构成商业人士理解的简要报告。毕竟,你需要向老板解释为什么你的机器学习模型运作良好。可解释的模型将使您,您的老板和所有利益相关者能够做出更好,更好的业务决策。
结论
有时人们会说,只有在受到高度监管的应用程序中从事ML工作的人才应该关心可解释性。我们认为,在相反的情况下,每一位从业人员都应使用解译性作为一个额外工具来构建更好的机器学习模型。