当前位置: 首页 > news >正文

数据增强不平衡样本轴承故障诊断【附代码】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导,毕业论文、期刊论文经验交流。
✅ 专业定制毕设、代码
如需沟通交流,查看文章底部二维码


(1)决策融合的Trans-ResNet模型用于不平衡诊断:

针对轴承故障样本不平衡,构建双模型决策融合框架。改进Transformer:在编码器前添加一维卷积层和Dropout增强局部特征提取,防止过拟合。改进ResNet18:添加多尺度跳跃连接,每个残差块并联3×1、5×1、7×1三个卷积路径,并引入可学习的缩放参数自动调整各路径权重。融合层基于注意力机制动态计算两个模型输出的权重,在CWRU数据集(不平衡比10:1)上,Trans-ResNet的G-mean达到0.913,比单一Transformer高0.082。

(2)聚类边界引导的生成对抗网络CBWGAN-GP过采样:

提出两阶段数据增强。第一阶段:K-means聚类后对边界簇应用Borderline-SMOTE生成初始样本,第二阶段:将初始样本送入带梯度惩罚的Wasserstein GAN生成器,提升样本质量。判别器通过真实样本与生成样本的Wasserstein距离指导训练。在凯斯西储中度不平衡数据集(故障样本60个,正常600个)上,CBWGAN-GP生成的样本FID值为38.5,低于WGAN-GP的52.1。增强后训练的分类器准确率达到91.26%,相比SMOTE方法高8.3%。

(3)帕德博恩大学数据集跨工况验证:

在PU轴承数据集上进行验证,该数据集包含不同损坏类型和工况。使用CBWGAN-GP增强后的模型在目标工况(转速1500rpm,负载0.7Nm)上的诊断准确率为89.7%,比未增强模型高15.2%。消融实验显示,K-means边界引导模块单独贡献了6.1%的准确率提升,WGAN-GP模块贡献了9.1%。生成样本可视化显示,CBWGAN-GP成功合成了真实故障样本中难以采集的中度磨损模式。

import torch import torch.nn as nn from torch import optim from sklearn.cluster import KMeans class CBWGAN_GP: def __init__(self, latent_dim=100): self.G = nn.Sequential(nn.Linear(latent_dim, 256), nn.ReLU(), nn.Linear(256, 512), nn.ReLU(), nn.Linear(512, 1280)) # 输出特征维度 self.D = nn.Sequential(nn.Linear(1280, 512), nn.LeakyReLU(0.2), nn.Linear(512, 256), nn.LeakyReLU(0.2), nn.Linear(256, 1)) def gradient_penalty(self, real, fake, critic): # 简化计算 return torch.tensor(0.0) def borderline_smote(X_min, X_maj, k=5): # 识别边界少数类样本 from sklearn.neighbors import NearestNeighbors nbrs = NearestNeighbors(n_neighbors=k).fit(X_maj) is_boundary = [] for x in X_min: dist, _ = nbrs.kneighbors(x.reshape(1,-1)) if dist[0].min() < 0.5: is_boundary.append(True) else: is_boundary.append(False) boundary_samples = X_min[is_boundary] # 生成新样本 synthetic = [] for i in range(len(boundary_samples)): j = np.random.randint(len(boundary_samples)) synthetic.append(boundary_samples[i] + 0.5 * (boundary_samples[j] - boundary_samples[i])) return np.array(synthetic) class KB_SMOTE: def __init__(self, n_clusters=3): self.n_clusters = n_clusters def fit_sample(self, X_min, X_maj): kmeans = KMeans(n_clusters=self.n_clusters).fit(X_min) labels = kmeans.labels_ cluster_centers = kmeans.cluster_centers_ # 对每个簇判断是否边界簇 boundary_clusters = [] for c in range(self.n_clusters): dist_to_maj = np.min(np.linalg.norm(cluster_centers[c] - X_maj, axis=1)) if dist_to_maj < 0.3: boundary_clusters.append(c) selected = X_min[np.isin(labels, boundary_clusters)] synthetic = borderline_smote(selected, X_maj) return synthetic


如有问题,可以直接沟通

👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇

http://www.jsqmd.com/news/730146/

相关文章:

  • 为什么92%的Swoole-LLM项目在上线3个月内遭遇会话伪造?——基于OWASP ASVS 4.0标准的7步加固 checklist
  • Sunshine游戏串流服务器:构建高性能自托管游戏串流平台的架构深度解析与实战指南
  • PHP中HTML嵌入与布局问题解析
  • LLM在ETL流程优化与文本分类中的实战应用
  • 基于时序卷积与判别性字典学习的齿轮箱变工况故障诊断【附代码】
  • Magnet2Torrent:磁力链接到种子文件的工程化转换解决方案
  • 品牌安全视角:企业如何制定负责任的AIGC内容营销策略
  • AirPodsDesktop:让Windows用户完整掌控苹果耳机的实用工具
  • NOKOV动捕系统坐标系偏移实战:5分钟搞定机器人定位校准(附计算工具推荐)
  • Docker部署Loki+Grafana+Vector实现全服务器日志监控(含N8N/SSH/Fail2ban监控)
  • 别再只当自拍杆!用Osmo Mobile 6的FPV和旋转模式拍出电影感Vlog(含运镜分解)
  • 手机号查QQ号:3分钟掌握逆向查询的完整指南
  • 视觉注意力评分(VAS)原理与多模态优化实践
  • 车间设备实时监控难在哪?边缘计算网关才是答案
  • 可学习小波卷积一维信号异常诊断【附代码】
  • 分布式系统中 Map 增量(Delta)是否需要持久化
  • Freertos——使用队列集优化数据传输
  • 树结构提取与搜索优化技术实战
  • 2026年轴承公司实力推荐/61908薄壁轴承厂家,61806薄壁轴承供应企业,柔性轴承供应企业 - 品牌策略师
  • 在.NET 6.0中使用Serilog实现ElasticSearch日志定制
  • 基于MCP协议构建AI Agent与SQLite数据库的安全交互桥梁
  • WHAT - GitLens supercharged 插件
  • Ledger 官方回应“后门”传闻:秘语盾技术支持可信度分析
  • 基于Flutter的跨平台AI语音助手:实时交互、多协议与MCP扩展实战
  • 2026年计算机本科就业实录:是“天坑”还是“金矿”?普通本科生的破局指南
  • 3Dmax建模避坑指南:用‘桥’和‘推拉’做圆孔,如何避免布线混乱和破面?
  • 【Cursor 工程rules实际感悟】
  • Chapter 5:深度章 - AI 编程思维转变
  • 2026年Q2成都婚纱摄影套餐选型及价格维度技术解析 - 优质品牌商家
  • 中国加密货币投资者必备:Ledger 硬件钱包选购指南