首页 > 其他分享 >Paper Reading: Deep balanced cascade forest: An novel fault diagnosis method for data imbalance

Paper Reading: Deep balanced cascade forest: An novel fault diagnosis method for data imbalance

时间:2024-09-30 18:33:26浏览次数:7  
标签:采样 novel 数据 fault 样本 DBCF 平衡 imbalance 方法

目录
Paper Reading 是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具体的细节还需要以原文的内容为准,博客中的图表若未另外说明则均来自原文。

论文概况 详细
标题 《Deep balanced cascade forest: An novel fault diagnosis method for data imbalance》
作者 Hao Chen, Chaoshun Li, Wenxian Yang, Jie Liu, Xueli An, Yujie Zhao
发表期刊 ISA Transactions
发表年份 2021
期刊等级 中科院 SCI 期刊分区(2023年12月最新升级版) 2 区
论文代码 文中未公开

作者单位:

  1. School of Hydropower and Information Engineering, Huazhong University of Science and Technology, Wuhan, China
  2. School of Marine Science and Technology, Newcastle University, Newcastle upon Tyne, United Kingdom
  3. China Institute of Water Resources and Hydropower Research, Beijing, China

研究动机

旋转机械在工业中起着极其重要的作用,一旦出现故障会有故障时间长、维修成本高的问题。因此及早发现并正确诊断其故障,有利于其维护和安全使用。由于旋转机器在其大部分使用寿命中都是健康的,只有一小部分的状态监测数据是在机器故障状态下采集的,导致故障检测的数据存在不平衡问题。与不平衡学习相关的方法有数据级方法和算法级方法两类,其中数据级方法能在一定程度上改善不平衡,但也存在一些难以避免的缺陷。算法级方法是为特定的数据和问题而设计的,核心参数的设置是影响方法有效性的关键,其泛化能力弱且人工工作量大。一种新的基于决策树集成方法的深度学习方法 gcForest 显示了不平衡分类的潜力,因此利用 gcForest 开发一个新的不平衡学习框架是可能的。

文章贡献

本文基于级联森林提出了一种用于不平衡故障检测数据集的模型 DBCF,该模型设计了优化的级联随机森林,从数据层面和算法层面改进不平衡学习。首先提出了一种新的多通道级联旋转机械故障诊断框架,该框架将数据级方法和算法级方法相结合。然后提出了一种混合采样方法,通过生成新数据和丢弃类分布边缘的样本实现,为每个梯级森林通道提供平衡的数据集。最后提出了一种基于数据比例统计计算的新型平衡信息熵,并使用该指标设计了一种新型平衡森林。通过在平衡数据集上的对比实验,结果验证了 DBCF 在处理不平衡故障诊断问题上更加稳定和有效。

本文方法

本文提出的 DBCF 方法结构如下图所示,主要是通过混合采样的三个步骤来处理不平衡数据:计算接受率、生成新样本和丢弃样本。采样结果对应每个通道的输入,每个通道对应一个级联的平衡森林,最后对多个通道的输出进行融合得到预测结果。

混合采样

本文基于重要性抽样和拒绝抽样的思想,提出了一种混合采样方法来缓解数据的不平衡。首先使用样本和近邻的样本的距离定义一个样本的接收率,接收率用于刻画一个样本能在多大程度上反映某个类别的特征。接收率的公式如下,其中 ri 为样本 xi 的接收率,d(xi,xi) 为 xi 与 xj 之间的欧氏距离,n 定义为离 xi 最近的 n 个样本中与 xi 属于同一类的样本个数。

上采样过程在同一少数类的两个样本之间产生一个新样本,它们之间的距离由两个样本的接受率决定。公式如下所示,其中 x' 为生成的数据,xi 和 xj 为随机选取的少数类样本,ri 和 rj 为 xi 和 xj 的接受率。

然后生成一系列平衡样本集,并重新计算所有数据的接收率作为样本重要性。由于生成的平衡数据集分布边界模糊,因此使用下采样使边界清晰。下采样通过根据概率丢弃样本来实现,丢弃的概率等于重要性的倒数。混合采样流程如下图所示,在 DBCF 中需要执行 C 次混合采样,为 C 个通道提供数据集。

新型平衡森林

数据分布的不平衡会干扰决策树的特征选择,也会影响信息熵的计算。DBCF 使用的基本分类器是一种新型平衡森林,它采用了一种改进的信息熵——平衡信息熵。平衡信息熵的公式如下,其中 |y| 为当前分支的类数,|Y| 为总类数,xk 为集合 D 中属于 k 类的样本数,Xk 为属于 k 类的样本数。

BF 树采用信息增益率增长树的结构,如下公式所示。其中 a 为特征产生分割的阈值,V 为分割分支的个数,|DV| 为分支 V 的样本个数,本文的模型中设置 V=2。

DBCF 整体流程

DBCF 整体的伪代码如下所示,主要包括混合采样和多通道级联森林两个模块。混合采样用于为多通道级联森林模块的每个通道生成平衡训练数据,每个通道的训练集将被分成生长集和估计集。级联在生长集的训练过程中不断增长,直到在估计集上的性能没有提高。

实验结果

数据集和实验设置

本文的数据集来源于 CWRU 电气工程实验室的公共数据集,以及 MFS 在作者所在实验室采集的数据。总共包括有 9 个数据集,基本信息如下表所示,评价指标使用 G-mean 和 AUC。

对比故障诊断方法

此处和一些故障诊断方法进行比较,人工神经网络采用 BP 算法进行训练,ELM 方法由小波主动函数构成,SMOTE-SAE 方法是将过采样方法 SMOTE 与堆叠自编码器 SAE 相结合,算法的设置如下表所示。

实验结果如下表所示,DBCF 在这些数据集上的评价指标优于其他三种方法。

对比基于决策树的方法

此处和随机森林、gcForest 进行比较,DBCF 和 gcForest 的最大层数设置为 5,树数设置为 100,随机森林的树数设置为 500。实验结果如下表所示,可见 DBCF 对不平衡数据的处理效果较好。

对比不平衡分类方法

此处和一些不平衡学习的方法进行对比,包括重采样方法 WMODA 和 IMH、采用加权 softmax 损失来处理不平衡分类问题的网络模型 DNCNN、半监督和无监督方法 DFCM-MC 和 SMLCI、基于生成对抗网络的方法 GAN-CNN。实验结果如下表所示,可见在类别数量较多、IR 较高的情况下,DBCF 优于这些现有的方法。

模型效率的比较

模型的运行时间如下表所示,可见 DBCF 在训练效率上没有优势,但是与人工神经网络需要根据不同的数据调整参数相比,DBCF 具有可靠稳定的性能。

优点和创新点

个人认为,本文有如下一些优点和创新点可供参考学习:

  1. 针对故障诊断问题的不平衡的情况,本文提出了一种混合采样方法,先生成一些合成样本,然后通过欠采样来得到更明确的决策边界;
  2. 在过采样的设置方面,本文通过定义一种名为接收率的指标来量化少数类样本的重要性,使合成样本的构造更为可靠;
  3. 本文通过改进信息熵的方式,将信息增益率引导的森林推广到不平衡学习上。

标签:采样,novel,数据,fault,样本,DBCF,平衡,imbalance,方法
From: https://www.cnblogs.com/linfangnan/p/18442058

相关文章

  • [CVPR2024]CDMAD Class-Distribution-Mismatch-Aware Debiasing for Class-Imbalanced
    Introduction在不平衡数据集上训练的分类器往往对头部类(majorityclasses)有偏好。在半监督学习(semi-supervisedlearning,SSL)设置下,生成伪标签的算法由于生成带偏置的伪标签,往往会进一步加剧偏置。带偏置的伪标签会降低表征学习质量。特别的,如果有标签集合和无标签集合的分布差异......
  • C# Linq.FirstOrDefault、Linq.Where、Linq.AsParallel、List.Exists、List.Find、Dic
    C#Linq.FirstOrDefault、Linq.Where、Linq.AsParallel、List.Exists、List.Find、Dictionar.TryGetValue、HashSet.Contains性能的比较 今天我们来比较一下集合检索方法性能更优问题,测试代码publicclassEntity{publicintId{get;set;}publicintNo{......
  • Python字典进阶:setdefault技巧让你的代码更优雅,用setdefault优化你的Python数据处理流
    推荐阅读:数据科学的秘密武器:defaultdict——Python字典的自动化填充神器,让数据结构更灵活一、什么是setdefaultPython中的setdefault方法是字典(dict)类型的一个非常实用的方法,它允许开发者在尝试访问字典中不存在的键时,自动为该键设置一个默认值,并返回这个默认值。 二、s......
  • 2024Mysql And Redis基础与进阶操作系列(4)作者——LJS[含MySQL FOREIGN KEY、CHECK 、D
    接上集1.FOREIGNKEY约束1.1作用限定某个表的某个字段的引用完整性。例如:员工表的员工所在部门的选择,必须在部门表能找到对应的部分。1.2关键字FOREIGNKEY1.3主表和从表/父表和子表主表(父表):被引用的表,被参考的表从表(子表):引用别人的表,参考别人的表例如:员工表的员工所在部门这......
  • Python计数:defaultdict和Counter
    使用Python内置的defaultdict和Counter能方便的实现计数等操作题目:3289.数字小镇中的捣蛋鬼fromtypingimportListfromcollectionsimportdefaultdict,CounterclassSolution:defgetSneakyNumbers(self,nums:List[int])->List[int]:counter=Count......
  • vue项目之配置本地,测试,生产环境,配置axios.defaults.baseURL,解决跨域问题
    最近在做一个vue项目,想通过不同的命令调用不同环境的api,防止来回手动修改api出错。网上看了好多写的都不全,然后自己突发奇想自己写一篇文章。一、先简单说一下项目搭建1、安装vue脚手架npminstallvue-cli-g2、在硬盘上找一个文件夹放工程用的,在终端中进入该目录cd目录路......
  • 标准的vue3 elementplus格式,不用export default
    <template><div><!--查询表单--><el-form:inline="true":model="filters"class="demo-form-inline"><el-form-itemlabel="产品料号"><el-inputv-model="filters.......
  • vue3在引入组件时报'has no default export'
    原文:https://blog.csdn.net/weixin_53042678/article/details/138254610这个虽然不影响程序的运行,但是有强迫症患者觉得爆红难受,报错如下: 这个解决的方法也很简单,点击Vscode左下角的设置  添加 "vetur.validation.script":false,重启Vscode即可生效  ......
  • 解决Java8中使用LocalDate接收参数异常 not supported by default
    背景在spring项目中经常遇到需要传参为时间类型的参数,java8提供了很方便的日期:LocalDate时间:LocalTime及LocalDateTime类型,在spring接口中直接使用这些类型接收入参时会报错Java8date/timetypejava.time.LocalDatenotsupportedbydefault原因是jackson库默认......
  • VisualStudio 通过配置 DefaultXamlRuntime 属性 让控制台项目里的 XAML 应用上智能提
    本文记录一个VisualStudio黑科技,通过配置DefaultXamlRuntime属性,即可让非WPF或WinUI或MAUI等系列类型的项目也可以拥有XAML的智能提示,智能提示方式和WinUI智能提示行为相同比如说在一个控制台项目里面,我期望从控制台开始,定制自己的UI框架,比如说到现在还没有支持......