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

5.6-DAE实现

解决问题:

  • 随机缺失​​(实验室指标未检测)
  • ​系统性噪声​​(设备测量误差)
  • ​类别不平衡​​(健康/患病人群比例悬殊)

思路:引入可控噪声 → 重建原始数据

实现步骤

​(1) 数据预处理​
# 预处理流程:
# a. 缺失值填充:对连续变量用中位数填补,类别变量新增"None"类别
# b. 归一化:连续变量缩放到[0,1],类别变量做one-hot编码

 (2) 噪声注入

def add_noise(clean_data):# 随机掩码(模拟数据缺失)mask_prob = 0.3  # 30%的数据点被随机遮蔽mask = torch.rand(clean_data.shape) < mask_probnoisy_data = clean_data.clone()noisy_data[mask] = 0  # 用0填充被遮蔽区域# 添加高斯噪声(模拟测量误差)noise = torch.randn_like(clean_data) * 0.1noisy_data += noisereturn noisy_data

(3)forward函数

class DAE(nn.Module):def __init__(self, input_dim=256, hidden_dim=64):super().__init__()# 编码器self.encoder = nn.Sequential(nn.Linear(input_dim, 128),nn.ReLU(),nn.Linear(128, hidden_dim)  # 潜在特征维度)# 解码器self.decoder = nn.Sequential(nn.Linear(hidden_dim, 128),nn.ReLU(),nn.Linear(128, input_dim),nn.Sigmoid()  # 输出归一化到[0,1])def forward(self, x):corrupted_x = add_noise(x)  # 注入噪声z = self.encoder(corrupted_x)recon_x = self.decoder(z)return recon_x
http://www.xdnf.cn/news/328627.html

相关文章:

  • 背单词软件开发英语app开发,超级单词表开发,河南数匠软件开发
  • 数据结构之栈与队列
  • QT6 源(83)篇二:日期类型 QDate 的源代码,及功能测试:日期与字符串互相转换时候的格式指定,
  • 中级注册安全工程师的《安全生产专业实务》科目如何选择专业?
  • Media3 中 Window 的时间相关属性详解
  • MySQL 1205错误:Lock wait timeout exceeded问题处理
  • 词编码模型和回答问题的LLM是否为同一个; 词编码模型和回答问题模型分开时:需要保证词嵌入维度一致吗
  • 软考【软考高级QA】
  • DSENT (Design Space Exploration of Networks Tool) 配合gem5
  • 时间序列数据集增强构造方案(时空网络建模)
  • 【网络编程】二、UDP网络套接字编程详解
  • 项目文档归档的最佳实践有哪些?
  • Nacos源码—Nacos集群高可用分析(二)
  • java实现一个操作日志模块功能,怎么设计
  • 【云备份】项目展示项目总结
  • 深入理解Redis缓存与数据库不一致问题及其解决方案
  • Matlab 多策略改进蜣螂优化算法及其在CEC2017性能
  • PCI-Compatible Configuration Registers--BIST Register (Offset 0Fh)
  • 跨物种交流新时代!百度发布动物语言转换专利,听懂宠物心声
  • 电池管理系统BMS三级架构——BMU、BCU和BAU详解
  • Webug4.0靶场通关笔记20- 第25关越权查看admin
  • 读《暗时间》有感
  • 基于RT-Thread的STM32G4开发第二讲第二篇——ADC
  • 2014年写的一个文档《基于大数据应用的综合健康服务平台研发及应用示范》
  • layui下拉框输入关键字才出数据
  • JMeter快速指南:命令行生成HTML测试报告(附样例命令解析)
  • Android学习总结之网络篇补充
  • conda init before conda activate
  • MVC是什么?分别对应SpringBoot哪些层?
  • 【C/C++】ARM处理器对齐_伪共享问题