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

    文章

    4716

    浏览量

    95760
  • 机器学习
    +关注

    关注

    66

    文章

    8510

    浏览量

    134899
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    模型在半导体行业的应用可行性分析

    的应用,比如使用机器学习分析数据,提升良率。 这一些大模型是否真的有帮助 能够在解决工程师的知识断层问题 本人纯小白,不知道如何涉足这方面 应该问什么大模型比较好,或者是看什么视频能够
    发表于 06-24 15:10

    边缘计算中的机器学习:基于 Linux 系统的实时推理模型部署与工业集成!

    你好,旅行者!欢迎来到Medium的这一角落。在本文中,我们将把一个机器学习模型(神经网络)部署到边缘设备上,利用从ModbusTCP寄存器获取的实时数据来
    的头像 发表于 06-11 17:22 ?398次阅读
    边缘计算中的<b class='flag-5'>机器</b><b class='flag-5'>学习</b>:基于 Linux 系统的实时推理<b class='flag-5'>模型</b>部署与工业集成!

    机器学习模型市场前景如何

    当今,随着算法的不断优化、数据量的爆炸式增长以及计算能力的飞速提升,机器学习模型的市场前景愈发广阔。下面,AI部落小编将探讨机器学习
    的头像 发表于 02-13 09:39 ?396次阅读

    【ELF 2学习板试用】利用RKNN-Toolkit2实现rknn模型转换

    为rknn模型,然后在板端利用RKNN-Toolkit2-Lite2运行rknn模型实现GPU加速。而rknn模型的转换则需要用的瑞芯微官
    发表于 02-09 17:57

    【「具身智能机器人系统」阅读体验】2.具身智能机器人大模型

    中取得了令人瞩目的效果。 阅读感悟 从传统的手动编程到借助大模型实现智能化、自主化,从单一模态的交互到多模态信息的深度融合,再到扩散模型的应用,机器人控制技术正在以惊人的速度进化。这不
    发表于 12-29 23:04

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

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

    什么是机器学习?通过机器学习方法能解决哪些问题?

    来源:Master编程树“机器学习”最初的研究动机是让计算机系统具有人的学习能力以便实现人工智能。因为没有学习能力的系统很难被认为是具有智能
    的头像 发表于 11-16 01:07 ?1010次阅读
    什么是<b class='flag-5'>机器</b><b class='flag-5'>学习</b>?通过<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法能解决哪些问题?

    NPU与机器学习算法的关系

    在人工智能领域,机器学习算法是实现智能系统的核心。随着数据量的激增和算法复杂度的提升,对计算资源的需求也在不断增长。NPU作为一种专门为深度学习
    的头像 发表于 11-15 09:19 ?1329次阅读

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

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

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

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

    构建语音控制机器人 - 线性模型机器学习

    轮子并识别音频信号,但它仍然无法通过语音命令控制或按预定义路径行驶。 线性控制模型 首先要解决的问题是实现直线驱动。为此,我们使用线性模型来控制提供给车轮的电压。使用线性模型适合对汽车
    的头像 发表于 10-02 16:31 ?627次阅读
    构建语音控制<b class='flag-5'>机器</b>人 - 线性<b class='flag-5'>模型</b>和<b class='flag-5'>机器</b><b class='flag-5'>学习</b>

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

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

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

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

    【《时间序列与机器学习》阅读体验】+ 了解时间序列

    。 可以探索现象发展变化的规律,对某些社会经济现象进行预测利用时间序列可以在不同地区或国家之间进行对比分析,这也是统计分析的重要方法之一。 而《时间序列与机器学习》一书的后几章分别
    发表于 08-11 17:55

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

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