关于机器学习/深度学习的一些事-答知乎问(四)
如何评估和量化深度学习的可解释性问题?
针对深度学习模型,评估指标能够全面衡量模型是否满足可解释性。与分类的评估指标(准确度、精确度和召回率)一样,模型可解释性的评估指标应能从特定角度证明模型的性能。但是,由于深度学习模型生成解释的性质不同或输入数据的类型不同,目前还没有一个公认的指标用于评估可解释性。 然而,专家可以定性评估生成解释的相关性;并且存在一些定量评估方法,可以客观地评估各个领域产生的解释。
定性评估
比如平均类激活映射方法,该方法提供的全局解释可以由专家通过分析显著性图的形态和细粒度定性分析评估, 而且特定用户可能从专家反馈中受益。然 而,由于深度学习模型具有高度非线性,领域专家也很难定性评估XAI方法生成解释的质量。因此,应优先考虑定量评估方法。
定量评估
定量评估是量化解释的数字指标,为比较不同的解释提供了一种直观的方法。
(1)正确性:正确性表示解释在多大程度上忠实于预测模型。
(2)连贯性:连贯性是为了比较XAI方法生成的解释是否与领域知识或共识一致。
(3)稳定性:稳定性用于评估原始输入样本和引入噪声的样本分别得到的解释之间的相似性,也就是说,输入加入微小的白噪声,解释也会引入可见的变化。
核方法值得关注的研究方向?
(1)从样本中学习核矩阵。
(2) 高斯过程,高斯过程也称正态过程,是最重要的随机过程之一,当其用于解决机器学习问题时被称为GP模型。 GP模型是一种重要的核方法,模型中的协方差函数实际上就是核函数。
(3) 寻找已有核方法的快速算法,这是核方法用于实时处理的关键。比如稀疏核主成分分析的快速算法。
(4) 核函数设计与模型选择。
(5) 拓展核方法的应用领域。
常见的核方法方法有哪些?
常见的核方法可分为有监督型和无监督型,前者所处理的样本集的类别归属已事先标定,后者主要用来处理未被标定的样本集。
有监督型核方法
在常见的有监督型核方法中,SVM是最典型的例子。除此之外,还有一批该类方法如核Bayes判别、核Fisher判别、核感知器和最小平方误差判别等,它们分别由经典的线性判别方法如Bayes判别、Fisher判别、感知器和MSE判别核化而来,因此我们将之归并为“基于核的判别方法”。这些方法与相应的线性判别方法相比,最显著的区别是能进行非线性判别。
无监督型核方法
无监督型核方法最典型的例子当数 KPCA,另外还有一批该类方法,如核规范相关分析和核独立成分分析等,它们与信号处理领域里的盲源分离问题是紧密联系在一起的,因此可以称之为“基于核的盲源分离方法”。此外还有核聚类、核投影寻踪等。
构建新的核方法
当掌握了核方法的基本原理、洞察了特征空间的性质后,可模仿已有的核方法,自己动手构建新的核方法。以下给出构建步骤:(1)选择合适的学习算法将其核化。所谓“合适”首先要求学习方法 只能含有样本间的内积运算。其次要求学习方法的复杂度不能太高,因为内积运算通常是包含在矩阵运算里的,核化时用核函数取代内积的过程并不像SVM 那样简单,如果学习方法过于复杂,不仅核化过程异常烦琐,而且所得核方法因复杂度过高而失去意义。(2)根据核方法的处理对象设计合适的核函数。(3)模型选择。
核方法的研究动机是什么?
研究动机至少可以从以下两个方面来理解。
① 核方法在线性与非线性间架设起了一座桥梁。首先,核方法与通常的降维方法背道而驰,通过映射将R中的样本变换到F中,实现样本的升维;升维后的样本在F中变得非常稀疏,便于对其实施线性学习算法。例如对于模式分类而言,一个复杂的模式分类问题被非线性投影到F中以后,该模式比在原始空间中更可能线性可分。因此核方法通过升维使问题得以简化。其次,由于F与R间的映射是非线性的,因此在F中实施的线性算法从R空间的角度看是非线性的,这样核方法可以看作是相应线性算法的一个非线性版本,换句话说,核方法提供了学习算法非线性化的一条新途径。学习算法非线性化的另一条途径是:直接从待分析样本本身的分布出发,希望能找到很好描述其内在结构的非线性模型。例如对于LPCA 方法,若按前述两种途径进行非线性化,可以分别得到KPCA 方法和主曲线方法。两种非线性化途径各有优势:前者原理简单,计算复杂度相对较小;后者对样本的本质特征捕捉更准确。但两者目的都是为了能更准确地描述给定样本集的内在结构。
(2)如果F的维数很高,计算量会很大,甚至会陷入维数灾难而使得计算不可行;但通过代换,F中的内积可基于R中的变量通过给定的核函数直接计算得到,即使F的维数非常高,核方法本身也并没有增加多少计算复杂度。特别是对某些映射函数而言,F的维数是无限的,此时内积必须用积分来计算,这种代换的作用就更加明显。
综上所述,核方法在线性与非线性间架设起一座桥梁,同时通过引入核函数回避了维数灾难,也没有增加计算复杂度,这正是它受到高度关注的原因。
嵌入学习未来的发展方向?
嵌入学习方法,又称表示学习,嵌入即映射,与降维类似,核心思想是将样本嵌入到低维空间中,将样本特征转化特征向量的形式保存在低维特征空间中,减少假设空间的范围,通过较小的嵌入空间来进一步扩大嵌入样本间的区分度,使得同类样本联系更加紧密,而异类样本分布则更加分散,它的关键在于如何嵌入样本特征以及特征嵌入之后如何学习。
小样本场景中,嵌入学习方法的核心思想是训练优秀的特征嵌入函数来实现对样本的映射,旨在让样本在较小的样本特征嵌入空间具有更加清晰的区分度。 嵌入学习方法主要由嵌入模块和度量模块组成,嵌入模块的功能是利用CNN构建并训练特征嵌入函数,将样本以特征向量的形式映射到特征空间中;度量模块则选择合适的度量函数计算样本的相似度度量,完成对样本的分类。
(1)在数据角度上,可以尝试利用其他先验知识(知识图谱)进行特征嵌入函数的训练,探索不依赖模型预训练特征嵌入函数的可行性。训练时,辅助数据中利用较多的是已标注的数据,而现实场景的数据以无标注数据为主,往往无标注数据蕴含着许多有用的信息,值得进行挖掘和利用。
(2)混合嵌入模型的深入研究尤为必要。对比单一 嵌入模型,无论是训练出更优秀且稳定的特征嵌入函数还是缓解过拟合问题方面,混合嵌入模型已经初步证明 了自身的巨大优越性和潜力,未来混合嵌入模型势必会 成为嵌入学习方法的主流,有必要深层次地研究与完善该类方法。
(3)优化Episodic Training训练模式,设计一个更加强大的元学习器。如今元学习作为新兴的代表,在模型应用上不够成熟,现有的元学习器无法学习到足够且有效的元知识。未来,如何设计好的元学习器并提升学习的有效性和丰富性也是至关重要的研究方向。
(4)设计性能更加优秀的神经网络算法。首先,构建以及训练特征嵌入函数的过程中离不开神经网络的支持,参数能否快速学习和优化决定了特征嵌入函数的有效性;另外,度量的有关研究已经较为成熟,固定度量的改进空间非常小,很可能会被动态的可学习度量取代,而动态度量的学习很大程度依赖于神经网络。综上所述,未来对于性能更优的神经网络算法的设计需求将会越来越大。
(5)尝试结合不同嵌入学习方法中各自的优势,或者在嵌入学习方法的基础上,融合其他小样本学习解决方法(不平衡学习、强化学习等先进机器学习框架)的思想,改进原有的方法,形成新的可靠且有效的解决方法。
知乎学术咨询:
哥廷根数学学派 - 知乎
工学博士,担任《Mechanical System and Signal Processing》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。
相关文章:

关于机器学习/深度学习的一些事-答知乎问(四)
如何评估和量化深度学习的可解释性问题? 针对深度学习模型,评估指标能够全面衡量模型是否满足可解释性。与分类的评估指标(准确度、精确度和召回率)一样,模型可解释性的评估指标应能从特定角度证明模型的性能。但是&a…...

[spring] Spring Boot REST API - 项目实现
Spring Boot REST API - 项目实现 书接上文 Spring Boot REST API - CRUD 操作,一些和数据库相关联的注解在 [spring] spring jpa - hibernate CRUD 主要的 layer 如下: #mermaid-svg-QE1PR1gyrkz4XIT0 {font-family:"trebuchet ms",verdana…...

ELK之Filebeat实用配置及批量部署(部署200+可用)
跟我之前Zabbix-agent批量部署脚本Linux and Windows(部署300可用)文章的套路一样,在使用该脚本前,请先准备好安装包及配置好安装包的资源下载点,由于我这边是纯内网,所以我就找了一个NAS做了共享目录&…...

用odin实现的资源复制编辑器
用odin实现了一个资源复制编辑器,使用要安装odin,功能是把要复制的资源路径一个个添加设置,点copy能把列表里的资源全部复制,支持目录复制到目录,文件复制到目录,文件复制替换。提升效率,让自己…...

linux监控文件操作行为
linux监控文件操作行为 使用 auditd 系统 auditd 是Linux系统的一个安全和审计系统,它能够跟踪系统上发生的安全相关事件。要使用 auditd 来监控文件,你需要首先确保 auditd 已经安装并且运行在你的系统上。 然后,你可以使用 auditctl 命令…...

单链表接口函数的实现(增删查改)
一、单链表的实现形式以及接口函数的声明 #include<stdio.h> #include<stdlib.h> #include<assert.h> typedef int DataType ;typedef struct SListNode {DataType data;struct SListNode* next; }SLTNODE; void SLTPrint(SLTNODE* phead);//打印链表 SLTNO…...

超低功耗Sub-1G收发芯片DP32RF002 M0内核(G)FSK/OOK 无线收发机的32位SoC芯片
产品概述 DP32RF002是深圳市动能世纪科技有限公司研制的基于ARMCortex-MO内核的超低功耗 高性能的、单片集成(G)FSK/OOK 无线收发机的32位SoC芯片。工作于200 ~960MHz范围内,支持灵活可设的数据包格式,支持自动应答和自动重发功能,支持跳频…...

uniapp_微信小程序_NaN
一、定义 isNaN() 函数用于检查一个值是否为 NaN。它接受一个参数,该参数可以是任何 JavaScript 数据类型,包括数字、字符串、对象等。如果参数是 NaN,或者不能被转换为数字,则 isNaN() 返回 true;否则返回 false。 …...

1043: 利用栈完成后缀表达式的计算
解法: #include<iostream> #include<stack> using namespace std; int main() {char a;stack<int> sk;while (cin >> a && a ! #) {if (a > 0 && a < 9) {sk.push(a - 0);}else {int num2 sk.top();sk.pop();int n…...

初学ELK - elk部署
一、简介 ELK是3个开源软件组合,分别是 Elasticsearch ,Logstash,Kibana Elasticsearch :是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自…...

[Java EE] 计算机工作原理与操作系统简明概要
1. 计算机工作原理 1.1 生活中常见的计算机 计算机分为通用计算机和专用计算机,计算机并不单单指的是电脑,还有我们平时使用的手机,ipad,智能手表等终端设备都是计算机.还有我们用户不常见的计算机,比如服务器. 还有许多嵌入式设备(针对特定场景定制的"专用计算机"…...

【尚硅谷】Git与GitLab的企业实战 学习笔记
目录 第1章 Git概述 1. 何为版本控制 2. 为什么需要版本控制 3. 版本控制工具 4. Git简史 5. Git工作机制 6. Git和代码托管中心 第2章 Git安装 第3章 Git常用命令 1. 设置用户签名 1.1 基本语法 1.2 案例实操 2. 初始化本地库 2.1 基本语法 2.2 案例实操 3. 查…...

如何在MobaXterm上使用rz命令
1、首先输入命令和想下载的文件,如下图: 2、按住ctrl鼠标右键,选择如下选项: 上传命令是rz,选择Receive...... 下载命令是sz,选择Send...... 3、我这里是要把Linux上的文件下载到我的本地window磁盘&…...

【计算机考研】408网课汇总+资源分享
408王道的视频就比较通俗易懂 王道的教材非常契合408的大纲,是专门为408大纲而编写的,而教材是方方面面都讲解的透彻。 建议王道为主,网络搜索为辅! 王道中讲解不清楚,看不懂的知识点,可以尝试在网络上进…...

如何在OceanBase v4.2 中快速生成随机数据
在使用传统数据库如 MySQL 和 Oracle 时,由于缺乏多样化的随机数据生成方案,或者实现成本过高,构造随机数据的开发成本受到了影响。OceanBase在老版本中虽然有相应的解决方案,但语法复杂和性能较差等问题仍然存在。 现在…...

nvm node.js的安装
说明:部分但不全面的记录 因为过程中没有截图,仅用于自己的学习与总结 过程中借鉴的优秀博客 可以参考 1,npm install 或者npm init vuelatest报错 2,了解后 发现是nvm使用的版本较低,于是涉及nvm卸载 重新下载最新版本的nvm 2…...

【Docker】安装Redis、Nginx
1、安装redis mkdir -p /docker/redis mkdir -p /docker/redis/data touch /docker/redis/redis.conf touch /docker/redis/redis.bash编辑配置文件 vim /docker/redis/redis.conf # Redis配置文件# Redis默认不是以守护进程的方式运行,可以通过该配置项修改&…...

RK3568 UBUNTU修改网卡名称
RK3568 UBUNTU系统有两个网卡,ETH0和ETH1,于设备机壳丝印ETH1、ETH2无法对应,于是百度了一下相关的修改办法,有修改设备树的等等,挑了一个最简单,验证通过 #第1步,将原网卡关闭ip …...

【华为OD机试C++】统计字符
《最新华为OD机试题目带答案解析》:最新华为OD机试题目带答案解析,语言包括C、C++、Python、Java、JavaScript等。订阅专栏,获取专栏内所有文章阅读权限,持续同步更新! 文章目录 描述输入描述输出描述示例代码描述 输入一行字符,分别统计出包含英文字母、空格、数字和其它…...

百货商场用户画像描绘and价值分析(下)
目录 内容概述数据说明技术点主要内容4 会员用户画像和特征字段创造4.1 构建会员用户基本特征标签4.2 会员用户词云分析 5 会员用户细分和营销方案制定5.1 会员用户的聚类分析及可视化5.2 对会员用户进行精细划分并分析不同群体带来的价值差异 内容概述 本项目内容主要是基于P…...

spring-cloud微服务gateway
核心部分:routes(路由), predicates(断言),filters(过滤器) id:可以理解为是这组配置的一个id值,请保证他的唯一的,可以设置为和服务名一致 uri:可以理解为是通过条件匹配之后需要路由到&…...

【python】在pycharm创建一个新的项目
双击打开pycharm,选择create new project 选择create,后进入项目 右键项目根目录,选择new一个新的python file 随意命名一下 输入p 然后后面就会出现智能补全提示,此时轻敲一下tab,代码就写好了,非常的方便 右键执行一下代码,下面两个直接运行和debug运行都是可以的 小结 …...

java小作业(9)----用函数实现斐波那契数列(第二遍)
代码: public class Main {public static void main(String[] args) {int n 20; // 你可以更改这个值来计算和输出前n个斐波那契数for (int i 0; i < n; i) {System.out.print(fibonacci(i) " ");}}public static int fibonacci(int n) {if (n <…...

部署项目的时候的一些错误
项目打jar包,找不到资源,连接不上数据库 项目打包后无法运行 直接在idea运行可以 解决方法:pom文件中增加(配置文件如果是yml,写yml) <resources><resource><directory>src/main/java&…...

1044: 顺序栈基本操作的实现
解法: #include<iostream> #include<stack> using namespace std; int main() {int n, a, k;stack<int> sk;cin >> n;while (n--) {cin >> a;sk.push(a);}cin >> k;while (k--) {sk.pop();}if (!sk.empty()) {cout << s…...

微信小程序(总结)
1、wx.createSelectorQuery 在微信小程序中,wx.createSelectorQuery 是用于创建一个 SelectorQuery 对象的方法,而 this.createSelectorQuery 是在组件中获取元素的方法。 使用 wx.createSelectorQuery 创建的 SelectorQuery 对象可以用于获取页面中的…...

C#医学实验室/检验信息管理系统(LIS系统)源码
目录 检验系统的总体目标 LIS主要包括以下功能: LIS是集:申请、采样、核收、计费、检验、审核、发布、质控、耗材控制等检验科工作为一体的信息管理系统。LIS系统不仅是自动接收检验数据,打印检验报告,系统保存检验信息的工具&a…...

Linux驱动编程-module_platform_driver注册platform_driver
使用platform总线驱动模式编写Linux驱动时,需要注册platform_driver(用于跟.dts文件的platform_device匹配)。下面介绍2种常用注册platform_driver方法: 1、module_init()、module_exit() /* 定义平台drv,通过.name来…...

论文解读 --- 《针对PowerShell脚本的有效轻量级去混淆和语义感知攻击检测》
开篇 今天我们继续来解读安全行业优秀论文,通过学习他人的智慧成果,可以不断丰富我们的安全视野,使用它山之石来破解自身的难题。 这次要解读的论文为《Effective and Light-Weight Deobfuscation and Semantic-Aware Attack Detection for…...

在Spring Boot实战中碰到的拦截器与过滤器是什么?
在Spring Boot实战中,拦截器(Interceptors)和过滤器(Filters)是两个常用的概念,它们用于在应用程序中实现一些通用的逻辑,如日志记录、权限验证、请求参数处理等。虽然它们都可以用于对请求进行…...