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

    文章

    4760

    浏览量

    97134
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    labview如何实现数据的采集与实时预测

    现有以下问题:labview可以实现数据的采集以及调用python代码,但如何将这两项功能集成在一个VI文件里,从而实现数据的采集与实时预测。现有条件如下:已完成数据的采集系统,python中的
    发表于 12-03 21:13

    超小型Neuton机器学习模型, 在任何系统级芯片(SoC)上解锁边缘人工智能应用.

    Neuton 是一家边缘AI 公司,致力于让机器 学习模型更易于使用。它创建的模型比竞争对手的框架小10 倍,速度也快10 倍,甚至可以在最先进的边缘设备上进行人工智能处理。在这篇博文
    发表于 07-31 11:38

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

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

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

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

    Raspberry Pi Pico 2 上实现:实时机器学习(ML)音频噪音抑制功能

    程序的开发方式。应用程序开发人员现在可以为所需系统整理包含大量输入和输出示例的数据集,然后使用这些数据集来训练ML模型。在训练过程中,ML模型从输入和输出
    的头像 发表于 03-25 09:46 944次阅读
    Raspberry Pi Pico 2 上<b class='flag-5'>实现</b>:实时<b class='flag-5'>机器</b><b class='flag-5'>学习</b>(ML)音频噪音抑制功能

    请问是否可以在模型服务器中使用REST请求OpenVINO™预测

    是否可以在模型服务器中使用 REST 请求OpenVINO™预测
    发表于 03-05 08:06

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

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

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

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

    信道预测模型在数据通信中的作用

    在现代通信系统中,数据传输的可靠性和效率是衡量系统性能的关键指标。信道预测模型作为通信系统中的一个核心组件,其作用在于预测信道条件的变化,从而优化数据传输策略,提高通信质量。 信道预测
    的头像 发表于 01-22 17:16 1277次阅读

    【「基于大模型的RAG应用开发与优化」阅读体验】+大模型微调技术解读

    Tuning)和Prompt-Tuning:通过在输入序列中添加特定提示来引导模型生成期望的输出,简单有效,适用于多种任务。P-Tuning v1和P-Tuning v2:基于多任务学习的微调方法,通过
    发表于 01-14 16:51

    基于移动自回归的时序扩散预测模型

    回归取得了比传统基于噪声的扩散模型更好的生成效果,并且获得了人工智能顶级会议 NeurIPS 2024 的 best paper。 然而在时间序列预测领域,当前主流的扩散方法还是传统的基于噪声的方法,未能充分利用自回归技术
    的头像 发表于 01-03 14:05 1646次阅读
    基于移动自回归的时序扩散<b class='flag-5'>预测</b><b class='flag-5'>模型</b>

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

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

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

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

    【「大模型启示录」阅读体验】营销领域大模型的应用

    用户体验和满意度,进而增加转化率。通过精准匹配消费者需求和产品特性,大模型帮助企业实现更高效的市场渗透和销售增长。 大模型能够处理和分析大量的市场数据,预测市场趋势和消费者需求的变化。
    发表于 12-24 12:48

    AI模型部署边缘设备的奇妙之旅:目标检测模型

    提升一倍 导出模型将后处理包含在网络中,预测直接输出 box 结果,无需二次开发,迁移成本更低,端到端预测速度提升10%-20%。 2.2 模型
    发表于 12-19 14:33