0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用SHAP实现机器学习模型的输出预测

汽车玩家 来源:人工智能遇见磐创 作者:人工智能遇见磐创 2020-05-04 18:09 次阅读

解释产生特定NBA球员预测薪水的特征(github)

利用SHAP实现机器学习模型的输出预测

我最喜欢的库之一是SHAP,它是解释机器学习模型生成的输出不可或缺的工具。 SHAP是几种不同的当前解释模型的顶点,并且通过为每个特征分配重要性值来表示用于解释模型预测的统一框架。反过来,可以绘制这些重要性值,并用于产生任何人都可以轻易解释的漂亮可视化。在您阅读时,您会注意到主题是可解释性,以及为什么它在机器学习中如此迫切。

在本文中,我提供了一个外行人对其作者Scott Lundberg和Su-In Lee的原始论文的评论

目的

线性模型易于解释。 考虑用于预测NBA球员薪水的经典线性回归模型(假设薪水完全基于每场比赛得分):

利用SHAP实现机器学习模型的输出预测

我们简单地将其解释为β1,即X对Y单位增加的平均影响。换句话说,如果凯文杜兰特得到27.5分,那么我们所要做的就是乘以β1来预测他的薪水。 使用线性模型,很明显模型如何达到预测。

但是神经网络呢,那里有重复的矩阵乘法和激活函数? 我们如何在输出的上下文中解释这一点?

利用SHAP实现机器学习模型的输出预测

随着我们转向更复杂的模型,具有更高的准确性,我们发现越来越难以解释这些模型如何产生预测。 由于以下几个原因,这是一个岌岌可危的困境:

·模型偏差是一个重要问题,因为它们最终可能会对决策产生不公平的影响。 一些数据存在内在偏差,特别是在涉及种族和性别偏见时,这会对模型的预测产生负面影响。 由于没有好的方法来解释模型如何做出决定,因此很难确定这些固有的偏见。

·模型改进也很困难如果您不知道要改进什么。当然,您可以调整超参数,直到获得最佳分数,但您拥有的数据类型更为重要。了解模型中不同特征的价值可为数据收集提供有价值的反馈,告知我们哪些类型的数据最重要.

·用户信任对于采用人工智能系统非常重要。 在人工智能治理中心最近的一份报告中,作者报告说:"有更多的美国人认为高级机器智能会比那些认为对人类有益的人有害。"复杂模型的可解释性有助于 更好的理解,建立模型如何做出决策的直觉,并最终产生用户信任。

添加功能归因方法

为了解释更复杂的模型,我们需要一个更接近原始模型的简单解释模型。

假设我们有一个形式为f(x)的复杂模型,那么解释模型g(z')≈f(x)。

利用SHAP实现机器学习模型的输出预测

稍微分解g(z'),我们将一些效应φᵢ归因于每个特征z'。 通过总结所有这些效果及其特征,我们可以近似原始模型的输出。 这被定义为附加特征归属方法。 事实证明,其他当前的解释模型遵循相同的解释模型,允许它们全部统一到一个单一的框架中。

附加特征归属方法的属性

1.局部精度:最重要的属性之一是解释模型能够匹配原始模型的输出。

2.缺失:如果缺少特征,则该特征没有效果,或φᵢ= 0。

3.一致性:如果模型发生变化,使得特征贡献增加或保持不变,那么特征属性或φᵢ不应减少。

这导致我们SHAP值,它统一了以前的方法,并展示了上述属性。

SHAP值

SHAP值(φᵢ)用于描述特征的重要性。 请考虑以下图表:

利用SHAP实现机器学习模型的输出预测

f(x)是模型预测的输出,E[f(z)]是如果没有特征则预测的基值。 换句话说,E[f(z)]只是平均模型输出。

当我们包括一个特征x 1,然后φ1,解释我们如何从基值到新的预测值,现在由E [f(z)|给出。 z 1 = x 1]。 对剩余的变量x 1,x 2,x 3重复这个过程,估计φ1,φ2和φ3的SHAP值,显示模型最终如何到达预测输出f(x)。

不同口味的SHAP(different favours of SHAP)

SHAP有多种实现方式,每种方式都适用于特定的模型类型,可以实现更快的逼近。

·TreeExplainer

TreeExplainer专为树集合方法开发,如XGBoost,LightGBM或CatBoost。

·DeepExplainer

DeepExplainer是为深度学习模型开发的,支持TensorFlow / Keras。

·GradientExplainer

GradientExplainer也是为深度学习模型中的SHAP值而开发的,但速度比DeepExplainer慢,并且做出了不同的假设。 此方法基于Integrated Gradient归因方法,并支持TensorFlow / Keras / PyTorch。

·KernelExplainer

KernelExplainer使用加权线性回归近似任何类型模型的SHAP值。

使用特定于模型类型的算法(TreeExplainer,DeepExplainer)而不是通用KernelExplainer更快更有效。

总结

作者发现人类解释和SHAP解释之间的关联比任何其他方法更强,这表明了SHAP的强大和直观性。 计算出的SHAP值很容易在美观,简单的图中显示,这些图解释了特征如何影响特定预测。 这使得SHAP成为一个令人信服的工具,可以自信地解释和解释任何模型。

有关如何实现SHAP的教程,请查看我的笔记本,看看我们如何解释渐变提升树的预测结果。 SHAP github还提供了很多资源,可以提供有关如何实现DeepExplainer,KernelExplainer和其他有用功能的更多示例。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4610

    浏览量

    92859
  • 机器学习
    +关注

    关注

    66

    文章

    8414

    浏览量

    132604
收藏 人收藏

    评论

    相关推荐

    《具身智能机器人系统》第7-9章阅读心得之具身智能机器人与大模型

    医疗领域,手术辅助机器人需要毫米级的精确控制,书中有介绍基于视觉伺服的实时控制算法,以及如何利用模型优化手术路径规划。工业场景中,协作机器人面临的主要挑战是快速适应新工艺流程。具身智
    发表于 12-24 15:03

    AI大模型与深度学习的关系

    AI大模型与深度学习之间存在着密不可分的关系,它们互为促进,相辅相成。以下是对两者关系的介绍: 一、深度学习是AI大模型的基础 技术支撑 :深度学习
    的头像 发表于 10-23 15:25 698次阅读

    AI大模型与传统机器学习的区别

    AI大模型与传统机器学习在多个方面存在显著的区别。以下是对这些区别的介绍: 一、模型规模与复杂度 AI大模型 :通常包含数十亿甚至数万亿的参
    的头像 发表于 10-23 15:01 601次阅读

    【《时间序列与机器学习》阅读体验】+ 时间序列的信息提取

    本人有些机器学习的基础,理解起来一点也不轻松,加油。 作者首先说明了时间序列的信息提取是时间序列分析的一个重要环节,目标是从给定的时间序列数据中提取出有用的信息和特征,以支持后续的分析和预测任务,可以
    发表于 08-14 18:00

    【「时间序列与机器学习」阅读体验】+ 简单建议

    这本书以其系统性的框架和深入浅出的讲解,为读者绘制了一幅时间序列分析与机器学习融合应用的宏伟蓝图。作者不仅扎实地构建了时间序列分析的基础知识,更巧妙地展示了机器学习如何在这一领域发挥巨
    发表于 08-12 11:21

    【「时间序列与机器学习」阅读体验】全书概览与时间序列概述

    数据中提取特征并将其转化为交易策略,以及机器学习在其他金融领域(包括资产定价、资产配置、波动率预测)的应用。 全书彩版印刷,内容结构严整,条理清晰,循序渐进,由浅入深,是很好的时间序列学习
    发表于 08-07 23:03

    【《大语言模型应用指南》阅读体验】+ 基础知识学习

    今天来学习大语言模型在自然语言理解方面的原理以及问答回复实现。 主要是基于深度学习和自然语言处理技术。 大语言模型涉及以下几个过程: 数据收
    发表于 08-02 11:03

    利用Matlab函数实现深度学习算法

    在Matlab中实现深度学习算法是一个复杂但强大的过程,可以应用于各种领域,如图像识别、自然语言处理、时间序列预测等。这里,我将概述一个基本的流程,包括环境设置、数据准备、模型设计、训
    的头像 发表于 07-14 14:21 2193次阅读

    MATLAB预测模型哪个好

    ,适用于预测连续型数据。它假设输入变量(自变量)与输出变量(因变量)之间存在线性关系。线性回归模型的表达式为: y = β0 + β1x1 + β2x2 + ... + βnxn + ε 其中,y是
    的头像 发表于 07-11 14:31 425次阅读

    matlab预测模型有哪些

    环境,使其成为预测模型开发和实现的理想平台。本文将详细介绍MATLAB中常用的预测模型及其应用。 线性回归
    的头像 发表于 07-11 14:27 763次阅读

    Al大模型机器

    丰富的知识储备。它们可以涵盖各种领域的知识,并能够回答相关问题。灵活性与通用性: AI大模型机器人具有很强的灵活性和通用性,能够处理各种类型的任务和问题。持续学习和改进: 这些模型可以
    发表于 07-05 08:52

    深度学习模型训练过程详解

    深度学习模型训练是一个复杂且关键的过程,它涉及大量的数据、计算资源和精心设计的算法。训练一个深度学习模型,本质上是通过优化算法调整模型参数,
    的头像 发表于 07-01 16:13 1260次阅读

    名单公布!【书籍评测活动NO.35】如何用「时间序列与机器学习」解锁未来?

    设备的运行状况,生成各种维度的报告。 同时,通过大数据分析和机器学习技术,可以对业务进行预测和预警,从而协助社会和企业进行科学决策、降低成本并创造新的价值。 当今时代,数据无处不在,而时间序列数据更是
    发表于 06-25 15:00

    【大语言模型:原理与工程实践】揭开大语言模型的面纱

    大语言模型(LLM)是人工智能领域的尖端技术,凭借庞大的参数量和卓越的语言理解能力赢得了广泛关注。它基于深度学习利用神经网络框架来理解和生成自然语言文本。这些模型通过训练海量的文本数
    发表于 05-04 23:55

    如何使用TensorFlow构建机器学习模型

    在这篇文章中,我将逐步讲解如何使用 TensorFlow 创建一个简单的机器学习模型
    的头像 发表于 01-08 09:25 981次阅读
    如何使用TensorFlow构建<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>模型</b>