当前位置: 首页 > 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

相关文章:

  • AI大模型分类以及Prompt优化技巧
  • 迁移学习:如何加速模型训练和提高性能
  • Vue3 自定义指令的原理,以及应用
  • Make:独立创造者手册——从0到1的商业自由之路
  • GPAW安装流程——Ubuntu 系统(Python 3.8.10)
  • 宝塔面板,删除项目后还能通过域名进行访问
  • 【上位机——MFC】对话框
  • 《软件项目管理》笔记一
  • OpenCV 中用于背景分割(背景建模)的一个类cv::bgsegm::BackgroundSubtractorCNT
  • 使用pdm管理python项目时去哪里找nuitka
  • LeetCode第191题_位1的个数
  • 如何通过复盘提升团队能力?
  • isNotBlank和isNotEmpty有什么区别?
  • privateGPT和RAGflow之间的区别
  • 5.7 react 路由
  • 通义读光系列文字检测+识别模型端到端OCR应用
  • 【Python 函数】
  • mathtype转化
  • P值、置信度与置信区间的关系:统计推断的三大支柱
  • 华泰商会未来规划——数字化、国际化、生态化
  • 母亲节|写给妈妈
  • 重庆大学通报本科生发14篇SCI论文:涉事学生及其父亲被处理
  • 本周看啥|喜欢二次元的观众,去电影院吧
  • 美英达成贸易协议,美股集体收涨
  • 普雷沃斯特当选新一任天主教罗马教皇
  • 正荣地产:董事会主席、行政总裁辞任,拟投入更多精力推动境内债重组等工作