入门可解释机器学习和可解释性【内容分享和实战分析】
本篇文章为天池三月场读书会《可解释机器学习》的内容概述和项目实战分享,旨在为推广机器学习可解释性的应用提供一定帮助。
本次直播分享视频和实践代码以及PP获取地址:https://tianchi.aliyun.com/specials/promotion/activity/bookclub
目录
内容分享
为什么我们需要可解释机器学习
《可解释机器学习》的内容介绍
可解释的模型
模型无关的解释方法
基于样本的解释方法
神经网络的解释方法
实战分析
以下为内容分享
在机器学习逐渐黑盒化的情况下,人们对模型的可解释性也提出了要求。可解释人工智能(XAI)被列为数据和分析技术领域的top10重要趋势之一。在2017年,美国国防部开展了XAI计划;在2018年,欧洲强调对可解释机器学习的需求。此外,谷歌微软等公司也开展对可解释机器学习相关技术的研究。

为什么我们需要可解释机器学习
从多个方面可知,我们需要可解释机器学习:
社会对AI的依赖性(无人驾驶、安全、金融)。这是因为我们的社会比起以往任何时候都更依赖人工智能,这促使我们很需要了解模型。比如说,如果无人驾驶过程中出现事故,那我们应该能过瞄准哪些部件出错,或者哪些部门应该为这次事故买单。
用户需要可解释性增强信任。从用户的角度来说,用户需要明白这些决策的后果,如果说数据会用用户的私人信息,那对用户而言这是一件很恐惧的事情。
监管机构需要可解释性。对于可能会违反规则的公司,比如说泄漏内幕信息,我们应该能够发现。
模型设计者需要解释去调试模型。
解释方法有助于科学知识发现,在医学、生态学等诸多领域中可解释性发挥重要作用。
在可解释机器学习和可解释性的领域中,还有一些经典案例,有助于理解可解释性和可解释机器学习的重要性:
哮喘和肺炎的案例。由于神经网络的错误无法解释,导致神经网络模型无法用于临床试验。
在狼和狗的图像分类中,解释发现模型使用背景中的雪作为区分的特征,而不是动物本身。
金融部门发现将id作为最重要的特征。
《可解释机器学习》的内容介绍
可解释机器学习可以从三个角度进行分类:
第一个分类是内置/内在可解释性以及事后可解释性。内置可解释性是将可解释模块嵌入到模型中,比如说线性模型的权重、决策树的树结构。另外一种是事后可解释性,这是在模型训练结束后使用解释技术去解释模型。
第二种分类是特定于模型的解释和模型无关的解释,简单的说,特定于模型的解释这意味着必须将其应用到特定的模型体系结构中。而模型无关的解释意味着解释方法与所用模型无关联,这种解释方法应用范围广。
第三种分类是全局解释和局部解释。全局解释是解释模型的全局行为。局部解释是在单条数据或者说单个实例上的解释。
《可解释机器学习》书将可解释性方法分为四个模块进行介绍,包括可解释的模型、模型无关的解释方法、基于样本的解释和神经网络解释。同时,在每一节的内容中,分析了包括对方法的直观描述、从数学层面的理解、还有在数据集上的测试和解释过程、对方法优缺点的描述、以及介绍用于实现的工具。
可解释的模型
可解释的模型是指模型内置可解释性,包括简单的树模型和线性回归,以及运用正则化技巧。
首先,如果模型是线性的,那么模型的权重就可以表示特征的重要性,在线性模型中我们可以用t统计量去表示特征重要性。

如果是逻辑回归,那我们同样可以用权重去表示特征的重要性。因为逻辑回归也可以写成线性回归的形式,等式右边是加权和,左边用连接函数和概率分布表示。最后用几率表示逻辑模型中的特征重要性。

此外,线性模型约束结果为高斯分布、特征无交互、结果与特征间关系为线性,我们分别可以用广义线性模型、特征交互和广义加性模型去解决。
自身具有可解释性的模型还有决策树和决策规则。决策规则学习if-then规则,有三个流派,各自代表性的方法分别为OneR、顺序覆盖和贝叶斯规则列表。OneR是学习单条规则;顺序覆盖是迭代地学习规则并删除新规则覆盖的数据点;贝叶斯规则列表是使用贝叶斯统计将预挖的频繁模式组合到决策列表中。而决策树的树结构则可以用于解释模型的决策过程。此外还有rulefit,贝叶斯模型和k近邻,它们都具备可解释性。其中rulefit是学习具有原始特征以及很多新特征(决策规则)的稀疏线性模型。
除了这些模型,稀疏性也是很重要的思想,它不仅可以减少过拟合的风险,也可以提高模型的可解释性,现在一些学者的工作就是在稀疏性上进行研究。
查看本文全部内容,欢迎访问天池技术圈官方地址:https://tianchi.aliyun.com/forum/post/211422
相关文章:
入门可解释机器学习和可解释性【内容分享和实战分析】
本篇文章为天池三月场读书会《可解释机器学习》的内容概述和项目实战分享,旨在为推广机器学习可解释性的应用提供一定帮助。 本次直播分享视频和实践代码以及PP获取地址:https://tianchi.aliyun.com/specials/promotion/activity/bookclub 目录 内容分…...
Promise其实也不难
难点图解:then()方法 ES6学习网站:ES6 入门教程 解决:回调地狱(回调函数中嵌套回调) 两个特点: (1)对象的状态不受外界影响。Promise对象代表一个异步操作&…...
吴恩达 x Open AI ChatGPT ——如何写出好的提示词视频核心笔记
核心知识点脑图如下: 1、第一讲:课程介绍 要点1: 上图展示了两种大型语言模型(LLMs)的对比:基础语言模型(Base LLM)和指令调整语言模型(Instruction Tuned LLM࿰…...
JVM从1%到99%【精选】-【初步认识】
目录 1.java虚拟机 2.JVM的位置 3.代码的执行流程 4.JVM的架构模型 5.JVM的生命周期 6.JVM的整体结构 1.java虚拟机 Java虚拟机是一台执行Java字节码的虚拟计算机,它拥有独立的运行机制,其运行的Java字节码也未必由Java语言编译而成。JVM平台的各种语言可以共享Java…...
pdf转图片(利用pdf2image包)
参考: pdf2image pip install pdf2image代码: from pdf2image import convert_from_path, convert_from_bytes import osoutput_folder ./xx/ dpi_value 600 pdf_start_page 1 # pdf显示的第一页 start_page 1 # 真实页码 prex # 图像前缀def to_…...
SwiftUI的转场动画
SwiftUI的转场动画 记录一下SwiftUI中的一些弹窗动画 import SwiftUIstruct TransitionBootCamp: View {State var showView falselet screenWidth UIScreen.main.bounds.widthlet screenHeight UIScreen.main.bounds.heightvar body: some View {ZStack(alignment: .botto…...
Trust Region Policy Optimization (TRPO)
Trust Region Policy Optimization (TRPO) 是一种强化学习算法,专门设计来改善策略梯度方法在稳定性和效率方面的表现。由 John Schulman 等人在 2015 年提出,TRPO 的核心思想是在策略优化过程中引入一个信任区域(trust region)&a…...
消息服务--Kafka的简介和使用
消息服务--Kafka的简介和使用 前言异步解耦削峰缓存1、消息队列2、kafka工作原理3、springBoot KafKa整合3.1 添加插件3.2 kafKa的自动配置类3.21 配置kafka地址3.22 如果需要发送对象配置kafka值的序列化器3.3 测试发送消息3.31 在发送测试消息的时候由于是开发环境中会遇到的…...
【c++11线程库的使用】
#include<iostream> #include<thread> #include<string> using namespace std; void hello(string msg) { for (int i 0; i < 1000; i) { cout << i; cout << endl; } } int main() { //1.创建线程 thread …...
无限debugger的几种处理方式
不少网站会在代码中加入‘debugger’,使你F12时一直卡在debugger,这种措施会让新手朋友束手无策。 js中创建debugger的方式有很多,基础的形式有: ①直接创建debugger debugger; ②通过eval创建debugger(在虚拟机中…...
数据库基础理论知识
1.基本概念 数据(Data):数据库存储的基本对象。数字、字符串、图形、图像、音频、视频等数据库(DB):在计算机内,永久存储、有组织、可共享的数据集合数据库管理系统(DBMS):管理数据库的系统软件数据库系统(DBS):DBDBMSDBADBAP 数…...
华为OD机试真题-模拟目录管理-2024年OD统一考试(C卷)
题目描述: 实现一个模拟目录管理功能的软件,输入一个命令序列,输出最后一条命令运行结果。 支持命令: 1)创建目录命令:mkdir 目录名称,如mkdir abc为在当前目录创建abc目录,如果已存在同名目录则不执行任何操作。此命令无输出。 2)进入目录命令:cd 目录名称, 如cd …...
yield代码解释
目录 我们的post请求爬取百度翻译的代码 详细解释 解释一 解释二 再说一下callback 总结 发现了很多人对存在有yield的代码都不理解,那就来详细的解释一下 我们的post请求爬取百度翻译的代码 import scrapy import jsonclass TestpostSpider(scrapy.Spider):…...
C#四部曲(知识补充)
Unity跨平台原理 .Net相关 只要编写的时候遵循.NET的这些规则,就能在.NET平台下通用 各种源码→根据.NET规范编写→(虚拟机)生成CIL中间码(保存在程序集中)→转成操作系统原代码 跨语言← 跨平台↓ Unity跨平台原理(Mono) c#脚本→MonoC#编…...
Vue中的数据交互有几种方式
1. 单向数据流: Vue中的数据流是单向的,从父组件传递到子组件。父组件可以通过props将数据传递给子组件,子组件通过props接收并使用这些数据。这种方式适用于父子组件之间的简单通信。 2. 事件: 子组件可以通过触发自定义事件来…...
2.MySQL中的数据类型
整数类型: tinyint(m): 1个字节 范围(-128~127) 常用:性别 0和1表示性别;状态 0和1表示 int(m): 4个字节 范围(-2147483648~2147483647) 常用:数值 数值类型中的长度m是值显示长度,只有字段指定zerofill时有用 例如…...
身份证查询真伪-三要素查验-ios身份证实名认证接口调用
身份证实名认证接口联网核验是实名认证的关键一步,通过翔云OCR识别出的身份证信息,联网上传全国人口数据库,通过比对查找,确认人口数据库是否有身份证号和姓名匹配的信息,如果有那就确认身份证是真的,如果没…...
@EnableWebMvc介绍和使用详细demo
EnableWebMvc是什么 EnableWebMvc 是 Spring MVC 中的一个注解,它用于启用 Spring MVC 框架的基本功能,以便你可以使用 Spring MVC 提供的特性来处理 Web 请求。 通常情况下,在基于 Spring Boot 的应用中,并不需要显式地使用 Ena…...
VC-旅游系统-213-(代码+说明)
转载地址: http://www.3q2008.com/soft/search.asp?keyword旅游系统 旅游信息管理系统开题报告 一、研究目的 旅游信息管理系统能帮助旅行社在游客的市场开拓、游客的信息管理、客户服务等方面进行综合处理。使旅行社能够准确的掌握客户的市场动态,充分了解对客户…...
重学SpringBoot3-ErrorMvcAutoConfiguration类
更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-ErrorMvcAutoConfiguration类 ErrorMvcAutoConfiguration类的作用工作原理定制 ErrorMvcAutoConfiguration示例代码1. 添加自定义错误页面2.自定义错误控…...
DA14531 实战指南(一)从调试到量产:OTP与Flash的权衡艺术
1. 初识DA14531的存储双刃剑 第一次拿到DA14531开发板时,最让我纠结的就是这个32KB的OTP存储器。就像给你一支只能写一次的钢笔,虽然墨水充足(32KB对BLE应用绰绰有余),但每次落笔都要反复斟酌。实际开发中我发现&#…...
AI编程助手功能解锁:开源破解方案与开发工具权限绕过技术探索
AI编程助手功能解锁:开源破解方案与开发工具权限绕过技术探索 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached y…...
如何快速安装和配置Pop Shell:面向初学者的完整教程
如何快速安装和配置Pop Shell:面向初学者的完整教程 【免费下载链接】shell Pop!_OS Shell 项目地址: https://gitcode.com/gh_mirrors/sh/shell Pop Shell是一款功能强大的窗口管理扩展,专为提升Linux桌面操作效率设计。本教程将带您逐步完成Pop…...
Pronto性能优化技巧:如何加速大规模项目的代码审查
Pronto性能优化技巧:如何加速大规模项目的代码审查 【免费下载链接】pronto Quick automated code review of your changes 项目地址: https://gitcode.com/gh_mirrors/pr/pronto Pronto是一款高效的自动化代码审查工具,专为快速检查代码变更而设…...
YOLO X Layout参数详解:IOU阈值对Table嵌套结构识别准确率的影响实验
YOLO X Layout参数详解:IOU阈值对Table嵌套结构识别准确率的影响实验 1. 引言 在日常文档处理工作中,我们经常遇到包含复杂表格结构的文档,特别是那些嵌套表格、合并单元格的复杂布局。YOLO X Layout作为基于YOLO模型的文档版面分析工具&am…...
生信小白必看:PASA注释结果提取gff和fasta文件的保姆级教程
生信新手实战指南:从PASA注释结果高效提取gff与fasta文件 刚接触基因组注释的研究者常会遇到这样的困境:费尽周折获得的PASA注释结果,却不知如何提取所需的gff和fasta文件。本文将手把手教你如何从原始数据中提取关键信息,并转化…...
大模型学习笔记——SAM模型:从Prompt到分割的通用视觉框架
1. SAM模型:当视觉分割遇上NLP提示工程 第一次接触SAM模型时,我正被传统图像分割项目折磨得焦头烂额。需要为每个新场景重新标注数据、调整模型参数的日子,直到遇见这个"分割一切"的视觉大模型才彻底改变。SAM(Segment …...
别再假努力!应届生面试高效准备路线图
文章目录前言一、为什么你总在"假努力"?1. 简历上的"垃圾回收站"2. 八股文死记硬背3. 项目介绍像流水账二、真高效准备路线图阶段一:简历极简主义(3天)阶段二:项目深挖与"埋雷"…...
RBTray完全指南:Windows任务栏清理终极解决方案
RBTray完全指南:Windows任务栏清理终极解决方案 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否经常感到Windows任务栏拥挤不堪?各种后台程序…...
Python自动化:调用企业微信API高效推送邮件通知
1. 为什么需要企业微信邮件自动化 每天手动发送运营报告的日子我受够了。作为团队的技术负责人,曾经每周都要花2小时整理数据、写邮件、检查收件人列表。直到发现企业微信API能实现全自动化,现在整个过程只需30秒,准确率还更高。 企业微信的邮…...
