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

微信网站开发怎么做山东省建设工程协会网站

微信网站开发怎么做,山东省建设工程协会网站,一键查询个人房产,学网站开发培训对抗生成网络 知识点回顾#xff1a; 对抗生成网络的思想#xff1a;关注损失从何而来生成器、判别器nn.sequential容器#xff1a;适合于按顺序运算的情况#xff0c;简化前向传播写法leakyReLU介绍#xff1a;避免relu的神经元失活现象 对抗生成网络#xff08;GAN 对抗生成网络的思想关注损失从何而来生成器、判别器nn.sequential容器适合于按顺序运算的情况简化前向传播写法leakyReLU介绍避免relu的神经元失活现象 对抗生成网络GAN 知识点回顾 对抗生成网络的思想 思想就像在餐厅中有一个厨师生成器负责制作假菜一个评论家判别器负责区分真菜和假菜。厨师的目标是制作出评论家无法区分的假菜而评论家的目标是找出假菜。通过不断的对抗训练厨师的厨艺生成器的生成能力和评论家的鉴赏力判别器的判别能力都会不断提高。 对抗生成网络GAN由两个模型组成生成器和判别器。生成器的目标是生成尽可能真实的样本而判别器的目标是区分真实样本和生成样本。两者通过对抗训练不断优化最终达到纳什均衡。 损失来源GAN 的损失函数来自生成器和判别器之间的对抗。判别器的损失来自于它对真实样本和生成样本的误判生成器的损失来自于它生成的样本被判别器识别为假样本。 生成器和判别器 生成器厨师负责制作假菜目标是让评论家无法区分真假菜。类似于一个“伪造者”负责生成尽可能真实的样本。 判别器评论家负责区分真菜和假菜目标是找出所有的假菜。类似于一个“警察”负责区分真实样本和生成样本。 nn.Sequential 容器 定义nn.Sequential 是一个顺序容器用于按顺序堆叠多个神经网络层。这简化了前向传播的写法适合于层与层之间按顺序运算的情况。 LeakyReLU 介绍 定义就像是餐厅的菜谱按顺序列出每个烹饪步骤简化了厨师的烹饪流程。LeakyReLU 是 ReLU 的变种允许一小部分梯度通过避免神经元失活现象。类似于在烹饪过程中允许某些食材保留一定的原始风味避免某些食材完全失活从而丰富菜品的层次感。 公式LeakyReLU(x) max(0.01 * x, x)其中 0.01 是负斜率。 作业 对于心脏病数据集对于病人这个不平衡的样本用 GAN 来学习并生成病人样本观察不用 GAN 和用 GAN 的 F1 分数差异 步骤 数据准备加载心脏病数据集处理数据以适应 GAN 的输入要求。 定义生成器和判别器使用 nn.Sequential 定义生成器和判别器。 训练 GAN通过对抗训练生成器和判别器。 数据增强使用生成器生成额外的病人样本增加数据集的多样性。 模型训练使用原始数据集和增强后的数据集分别训练分类模型比较 F1 分数。 import pandas as pd import numpy as np import torch import torch.nn as nn import torch.optim as optim from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import f1_score from sklearn.impute import SimpleImputer# 加载数据 df pd.read_csv(heart.csv)# 特征和标签分离 X df.drop(target, axis1) y df[target]# 检查缺失值 print(原始数据集中缺失值情况) print(df.isnull().sum())# 使用SimpleImputer填补缺失值 imp SimpleImputer(missing_valuesnp.nan, strategymean) X_imputed imp.fit_transform(X)# 将数据分为病人和健康人 X_patients X_imputed[y 1] X_healthy X_imputed[y 0]# 特征标准化 scaler StandardScaler() X_patients scaler.fit_transform(X_patients) X_healthy scaler.transform(X_healthy)# 将数据转换为PyTorch张量 X_patients_tensor torch.tensor(X_patients, dtypetorch.float32) X_healthy_tensor torch.tensor(X_healthy, dtypetorch.float32)# 定义生成器 generator nn.Sequential(nn.Linear(100, 128),nn.ReLU(),nn.Linear(128, 256),nn.ReLU(),nn.Linear(256, X_patients.shape[1]),nn.Tanh() )# 定义判别器 discriminator nn.Sequential(nn.Linear(X_patients.shape[1], 256),nn.LeakyReLU(0.2),nn.Linear(256, 128),nn.LeakyReLU(0.2),nn.Linear(128, 1),nn.Sigmoid() )# 定义损失函数和优化器 criterion nn.BCELoss() lr 0.0002 optimizer_g optim.Adam(generator.parameters(), lrlr) optimizer_d optim.Adam(discriminator.parameters(), lrlr)# 训练 GAN num_epochs 1000 batch_size 32for epoch in range(num_epochs):# 训练判别器# 真实样本real_data X_patients_tensor[torch.randint(0, X_patients_tensor.shape[0], (batch_size,))]real_labels torch.ones(batch_size, 1)d_real_loss criterion(discriminator(real_data), real_labels)# 生成样本noise torch.randn(batch_size, 100)fake_data generator(noise)fake_labels torch.zeros(batch_size, 1)d_fake_loss criterion(discriminator(fake_data.detach()), fake_labels)# 总损失和优化d_loss d_real_loss d_fake_lossoptimizer_d.zero_grad()d_loss.backward()optimizer_d.step()# 训练生成器noise torch.randn(batch_size, 100)fake_data generator(noise)g_loss criterion(discriminator(fake_data), real_labels)optimizer_g.zero_grad()g_loss.backward()optimizer_g.step()if epoch % 100 0:print(fEpoch [{epoch}/{num_epochs}] | D Loss: {d_loss.item():.4f} | G Loss: {g_loss.item():.4f})# 生成额外的病人样本 num_new_samples 100 noise torch.randn(num_new_samples, 100) generated_samples generator(noise).detach().numpy()# 反标准化生成的样本 generated_samples scaler.inverse_transform(generated_samples)# 将生成的样本添加到原始数据集中 X_generated pd.DataFrame(generated_samples, columnsdf.columns[:-1]) y_generated pd.Series([1] * num_new_samples, nametarget)# 合并原始数据集和生成的数据集 X_augmented pd.concat([df, X_generated]) y_augmented pd.concat([y, y_generated])# 使用 SimpleImputer 填补增强数据集中的缺失值 X_augmented_imputed imp.transform(X_augmented)# 使用原始数据集训练模型 X_train, X_test, y_train, y_test train_test_split(X_imputed, y, test_size0.2, random_state42) model LogisticRegression() model.fit(X_train, y_train) y_pred model.predict(X_test) f1_original f1_score(y_test, y_pred)# 使用增强后的数据集训练模型 X_augmented_train, X_augmented_test, y_augmented_train, y_augmented_test train_test_split(X_augmented_imputed, y_augmented, test_size0.2, random_state42) model_augmented LogisticRegression() model_augmented.fit(X_augmented_train, y_augmented_train) y_augmented_pred model_augmented.predict(X_augmented_test) f1_augmented f1_score(y_augmented_test, y_augmented_pred)print(fOriginal F1 Score: {f1_original:.4f}) print(fAugmented F1 Score: {f1_augmented:.4f}) import pandas as pd import numpy as np import torch import torch.nn as nn import torch.optim as optim from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import f1_score from sklearn.impute import SimpleImputer# 加载数据 df pd.read_csv(heart.csv)# 特征和标签分离 X df.drop(target, axis1) y df[target]# 检查缺失值 print(原始数据集中缺失值情况) print(df.isnull().sum())# 使用 SimpleImputer 填补缺失值 imp SimpleImputer(missing_valuesnp.nan, strategymean) X_imputed imp.fit_transform(X)# 将数据分为病人和健康人 X_patients X_imputed[y 1] X_healthy X_imputed[y 0]# 特征标准化 scaler StandardScaler() X_patients scaler.fit_transform(X_patients) X_healthy scaler.transform(X_healthy)# 将数据转换为 PyTorch 张量 X_patients_tensor torch.tensor(X_patients, dtypetorch.float32) X_healthy_tensor torch.tensor(X_healthy, dtypetorch.float32)# 定义生成器 generator nn.Sequential(nn.Linear(100, 128),nn.ReLU(),nn.Linear(128, 256),nn.ReLU(),nn.Linear(256, X_patients.shape[1]),nn.Tanh() )# 定义判别器 discriminator nn.Sequential(nn.Linear(X_patients.shape[1], 256),nn.LeakyReLU(0.2),nn.Linear(256, 128),nn.LeakyReLU(0.2),nn.Linear(128, 1),nn.Sigmoid() )# 定义损失函数和优化器 criterion nn.BCELoss() lr 0.0002 optimizer_g optim.Adam(generator.parameters(), lrlr) optimizer_d optim.Adam(discriminator.parameters(), lrlr)# 训练 GAN num_epochs 1000 batch_size 32for epoch in range(num_epochs):# 训练判别器# 真实样本real_data X_patients_tensor[torch.randint(0, X_patients_tensor.shape[0], (batch_size,))]real_labels torch.ones(batch_size, 1)d_real_loss criterion(discriminator(real_data), real_labels)# 生成样本noise torch.randn(batch_size, 100)fake_data generator(noise)fake_labels torch.zeros(batch_size, 1)d_fake_loss criterion(discriminator(fake_data.detach()), fake_labels)# 总损失和优化d_loss d_real_loss d_fake_lossoptimizer_d.zero_grad()d_loss.backward()optimizer_d.step()# 训练生成器noise torch.randn(batch_size, 100)fake_data generator(noise)g_loss criterion(discriminator(fake_data), real_labels)optimizer_g.zero_grad()g_loss.backward()optimizer_g.step()if epoch % 100 0:print(fEpoch [{epoch}/{num_epochs}] | D Loss: {d_loss.item():.4f} | G Loss: {g_loss.item():.4f})# 生成额外的病人样本 num_new_samples 100 noise torch.randn(num_new_samples, 100) generated_samples generator(noise).detach().numpy()# 反标准化生成的样本 generated_samples scaler.inverse_transform(generated_samples)# 将生成的样本转换为 DataFrame generated_df pd.DataFrame(generated_samples, columnsX.columns)# 合并原始数据集和生成的数据集 augmented_df pd.concat([df, generated_df]) augmented_df[target] pd.concat([y, pd.Series([1] * num_new_samples)])# 使用 SimpleImputer 填补增强数据集中的缺失值 augmented_imputer SimpleImputer(missing_valuesnp.nan, strategymean) augmented_imputer.fit(X) # 使用原始特征来拟合 X_augmented_imputed augmented_imputer.transform(augmented_df.drop(target, axis1))# 使用原始数据集训练模型 X_train, X_test, y_train, y_test train_test_split(X_imputed, y, test_size0.2, random_state42) model LogisticRegression() model.fit(X_train, y_train) y_pred model.predict(X_test) f1_original f1_score(y_test, y_pred)# 使用增强后的数据集训练模型 X_augmented_train, X_augmented_test, y_augmented_train, y_augmented_test train_test_split(X_augmented_imputed, augmented_df[target], test_size0.2, random_state42) model_augmented LogisticRegression() model_augmented.fit(X_augmented_train, y_augmented_train) y_augmented_pred model_augmented.predict(X_augmented_test) f1_augmented f1_score(y_augmented_test, y_augmented_pred)print(fOriginal F1 Score: {f1_original:.4f}) print(fAugmented F1 Score: {f1_augmented:.4f}) ps如果你学有余力对于gan的损失函数的理解建议去找找视频看看如果只是用没必要学 浙大疏锦行
http://www.w-s-a.com/news/772293/

相关文章:

  • 建设银行网站用360浏览器建设信用卡中心网站
  • 创建公司网站 教程广州建设局
  • 详述网站建设的过程简答题ui培训设计怎么样
  • 动易网站官网ppt主题大全素材
  • 怎样用eclipse做网站可以做宣传图的网站
  • 哪里可以做游戏视频网站做网站平台应该注意哪些
  • 网站后期推广是谁来做网页制作步骤作答题
  • 全屋装修设计定制整装成都网站优化多少钱
  • html5购物网站模板一个网站两个数据库
  • 个人网站怎么做微信支付网站建设项目介绍
  • 建网站合同网站适配移动端和PC端
  • 网站建设培训机构哪里好html5开发wap网站
  • 免费自助建站源码学而思网校官网
  • 中国最大的网站制作公司青海省高等级公路建设管局网站
  • 建设网站对服务器有什么要求吗wordpress去除更新提示
  • 找个为公司做网站的手机端原神
  • 邯郸手机建站价格公众号开发者权限哪里添加
  • wordpress模板电子书下载站微信app官方免费下载
  • 从哪些方面进行网站建设如何做网站的实时画面
  • 设计网站公司收费西安小程序开发公司有哪些
  • 如何建网站赚取佣金哪个网站可以做免费宣传
  • 万网手机网站seo方法
  • 免费制作网站app百度首页纯净版
  • 支持api网站开发wordpress排版Markdown
  • 赤峰做网站的logo设计软件在线制作
  • iis网站批量导入苏州最新新闻事件今天
  • 甘肃省住房和城乡建设厅注册中心网站首页沈阳专业关键词推广
  • 网站怎么能在百度搜到网站开发费怎么做会计分录
  • 嘉定专业网站制作公司七星彩网站开发
  • 网站建设人员培训企业网站开发模型图