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

施工企业质量管理体系认证几年搜狗seo培训

施工企业质量管理体系认证几年,搜狗seo培训,wordpress调用当前分类,wordpress网站如何app目录 一.定义 二.原理 1. 编码器 2. 解码器 三.代码实现 1.步骤: 代码实现: 代码解析: 2.进一步优化: 四.应用场景 一.定义 自编码器(Autoencoder)是一种无监督学习的神经网络模型,主要用于…

目录

一.定义

二.原理

  1. 编码器

  2. 解码器

三.代码实现

  1.步骤:

        代码实现:

        代码解析:

  2.进一步优化:

四.应用场景


一.定义

        自编码器(Autoencoder)是一种无监督学习的神经网络模型,主要用于数据的降维特征提取数据重构。自编码器通常由两部分组成:

  1. 编码器(Encoder): 将输入数据压缩为一个低维的表示(也称为“编码”或“隐含特征”),这部分网络逐渐减少输入的维度,从而提取数据的关键特征。

  2. 解码器(Decoder): 从编码器生成的低维表示中重构原始数据,解码器的目标是使得重构的输出尽量接近原始输入。

二.原理

        自编码器的基本目标是通过神经网络学习一个压缩和解压缩的过程。具体来说,自编码器通过一个编码器将高维输入数据转换为一个低维的表示(称为"瓶颈层"或"隐含表示"),然后通过解码器将低维表示重构回原始的高维数据。

        自编码器网络的目标是让输入数据 x 和重构后的数据 \hat{x} 尽可能接近,通常使用均方误差(MSE)作为损失函数

L(x, \hat{x}) = ||x - \hat{x}||^2

  1. 编码器

        编码器的任务是将高维数据压缩为低维数据。编码器部分可以是一个由几层全连接神经网络(或卷积神经网络)组成的模型。编码器的输出即是数据的低维表示。

        假设输入为 x,编码器为 f,则编码过程可以表示为:

z = f(x)

其中,z 是编码器提取到的低维表示。

  2. 解码器

        解码器的任务是将编码器提取到的低维表示重构为原始输入的近似值。解码器也是一个神经网络,通过学习将 z 解码为 \hat{x}

        解码过程可以表示为:

\hat{x} = g(z)

其中,g 是解码器,\hat{x} 是重构后的数据。

三.代码实现

        下面我们用PyTorch实现一个简单的自编码器。我们将使用MNIST手写数字数据集作为例子,来展示自编码器如何进行数据降维和重构。

  1.步骤:

  1. 导入所需库
  2. 定义编码器和解码器结构
  3. 训练自编码器
  4. 测试并可视化重构结果

        代码实现:

import torch
import torch.nn as nn
import torch.optim as optim
import torch.utils.data as DataLoader
from torchvision import datasets, transforms
import matplotlib.pyplot as plt# 1. 数据准备(以MNIST为例)
transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))])
train_dataset = datasets.MNIST(root='./data', train=True, transform=transform, download=True)
train_loader = DataLoader.DataLoader(dataset=train_dataset, batch_size=64, shuffle=True)# 2. 定义自编码器模型
class Autoencoder(nn.Module):def __init__(self):super(Autoencoder, self).__init__()# 编码器部分self.encoder = nn.Sequential(nn.Linear(28 * 28, 128),nn.ReLU(),nn.Linear(128, 64),nn.ReLU(),nn.Linear(64, 12)  # 压缩为12维特征)# 解码器部分self.decoder = nn.Sequential(nn.Linear(12, 64),nn.ReLU(),nn.Linear(64, 128),nn.ReLU(),nn.Linear(128, 28 * 28),  # 解码回28*28的图像尺寸nn.Tanh()  # 输出值范围在[-1, 1],与输入图像的归一化范围匹配)def forward(self, x):x = self.encoder(x)x = self.decoder(x)return x# 3. 初始化模型、损失函数和优化器
autoencoder = Autoencoder()
criterion = nn.MSELoss()  # 使用均方误差作为损失函数
optimizer = optim.Adam(autoencoder.parameters(), lr=0.001)# 4. 训练自编码器
num_epochs = 5
for epoch in range(num_epochs):for data in train_loader:img, _ = dataimg = img.view(img.size(0), -1)  # 展平图像数据为1Doutput = autoencoder(img)loss = criterion(output, img)  # 输入和输出的损失optimizer.zero_grad()loss.backward()optimizer.step()print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {loss.item():.4f}')# 5. 可视化重构效果
test_dataset = datasets.MNIST(root='./data', train=False, transform=transform, download=True)
test_loader = DataLoader.DataLoader(dataset=test_dataset, batch_size=10, shuffle=False)# 获取一组测试数据
test_data_iter = iter(test_loader)
test_img, _ = test_data_iter.next()
test_img = test_img.view(test_img.size(0), -1)
with torch.no_grad():reconstructed = autoencoder(test_img)# 可视化原始图片和重构后的图片
f, axes = plt.subplots(1, 2)
# 原始图片
axes[0].imshow(test_img[0].view(28, 28), cmap='gray')
axes[0].set_title("Original Image")
# 重构图片
axes[1].imshow(reconstructed[0].view(28, 28), cmap='gray')
axes[1].set_title("Reconstructed Image")
plt.show()

        代码解析:

  1. 数据预处理: 使用transforms对MNIST数据集进行归一化和转换为Tensor。
  2. 自编码器模型:
    • 编码器部分将28x28的图像展平为784维,然后通过三层全连接网络逐步减少到12维的隐含表示。
    • 解码器部分将12维的编码通过三层全连接网络重建回原始尺寸。
  3. 训练过程: 使用均方误差作为损失函数,Adam优化器进行梯度更新。模型尝试让输入图像和重构图像之间的误差最小。
  4. 可视化: 对测试数据进行重构,并对比原始图像和重构后的图像。

  2.进一步优化:

  • 增加层数或改变网络结构:可以通过添加更多的层或使用卷积层(CNN)来增强自编码器的表达能力。
  • 变分自编码器(VAE): 使用变分推理对编码部分进行约束,从而使生成的编码更加有意义并可用于生成新数据。

四.应用场景

  • 数据降维: 通过压缩数据到低维空间,保留有用的特征信息,用于可视化或后续建模。
  • 去噪(Denoising): 自编码器能够从噪声中恢复原始数据,因此在图像或信号处理中的去噪任务中很有效。
  • 生成模型: 自编码器的变体,如变分自编码器(VAE),可以用于生成新的数据样本。
  • 异常检测: 自编码器可以用于检测异常数据点,因为异常点难以通过训练好的自编码器进行重构。
http://www.dtcms.com/wzjs/511287.html

相关文章:

  • 免费jsp源码分享网站seo主要是指优化
  • 网站建设流程有哪些百度电话查询
  • 58同城青岛网站建设推广文章的注意事项
  • 汕头拿家做网站央视新闻今天的内容
  • 中国网站制作 第一个seo怎么赚钱
  • 福鼎网站建设网站怎么seo关键词排名优化推广
  • 做公司网站要收费吗怎么下载有风险的软件
  • wordpress移服务器改域名google seo教程
  • 为什么要用国外服务器做网站百度app登录
  • 为什么没人做同城购物网站所有的竞价托管公司
  • 上海企业网站建设制作教育培训机构十大排名
  • 网站建设的步骤过程ppt互联网推广是什么工作内容
  • 用dw怎么做网站首页北京百度推广投诉电话
  • 北京商城型网站建设东莞网络营销公司
  • 网站建设 中企动力 石家庄企业网站大全
  • 如何用源码做网站网站免费制作平台
  • 泗阳网站建设公司拼多多网店代运营要多少费用
  • 网站建设攵金手指科杰壹陆长沙网络公司营销推广
  • 做门户网站啥意思关键词排名查询网站
  • 网站备案信息核验单怎么友情网站
  • 个人网站链接怎么做网络营销促销策略有哪些
  • 阳泉网站设计企业网站seo
  • 做有网被视频网站吗巨量数据分析入口
  • 济南怎样做网站推广百度app广告
  • 韩国风格网站模板下载进入百度一下官网
  • 网站标题乱码竞价推广sem
  • 免费网站建设塔山双喜百度关键词优化曝光行者seo
  • 没有公司 接单做网站生意参谋官网
  • 惠阳区城市建设规划局网站活动软文模板
  • 推进政府网站集约化建设工作seo服务商技术好的公司