江苏农村商业银行,根据自编码网络AutoEncoder完结数据降维而且提取数据的本质特征,康宁

什么是数据的降维胚兰?

一维数据咱们能够以为它是一个点,二维数据是一条线,三维数据是一个面,但四维数据咱们就幻想不到了,但这并不意味着不存江苏乡村商业银行,依据自编码网络AutoEncoder结束数据降维并且提取数据的本质特征,康宁在。关于深度学习的数据来说,数据的维度往往远远大于四维,四维咱们都幻想不到,那么远超四维的数据咱们就愈加难以预料了,为了处理这个问题,咱们能够运用机器学习中的数据降维技能,简略的来说便是将高维的数据降低到wearaday两维或许三维,也便是人类能够幻想到的数据表明方法,这样咱们就能够看到这些数据的本质特征了,这样大大降低了核算的杂乱程度,大凉汉骑减少了冗余信息所形成的辨认差错,提高了辨认的精度,咱们对降维数据进行可视化的操作能够便利咱们对这些数据的了解。

由三维降低到二维

可是数据的降维不是随意的,咱们要确保一点数据降维之后依然能够最大程度的表明原有的数据特色,也便是最大程度的保存原稀有妈妈美容记据的特征,使得数据不丢失原始数据的主要特征,那么这个便是数据降维的要害点地点,在深度学习范畴常用的数据降维的方法是运用自编码网络AutoEncoder来结束这个使命。

AutoEncoder的原理

如下图所示,自编码网络Autoencoder 简略来说便是将原有高维特征的数据x进行压缩成z,之后再进行解压为x撇的进程,得到的终究成果x撇与原始数据x进行比较,然后对此进行非监督学习。

encode和decode进程

AutoEncoder进行end-to-end的练习,不断提高其准确率,而经过规划encode和decode进程使输入江苏乡村商业银行,依据自编码网络AutoEncoder结束数据降维并且提取数据的本质特征,康宁和输出越来越挨近,是一种无监督学习进程。它类似于机器学习中的PCA算法,AutoEncoder的主要功能是将数据压缩之后得到的降维的特征值,这一中心成果正类似于PCA的成果,这也正是原始数据的最本质特征。

原始数据的最本质特征

AutoEncoder的可视化

现在咱们现已知道了AutoEncoder要害点在于将原始数据降维,而降维的数据便是原始数据的最本质特征,咱们能够运用这个降维的数据来表明原有的高维数据。然后咱们还能够使用这个降维的数据进行升维操作,然后康复到原始数据。

降维和升维

如图所示,便是AutoEncoder的可视化进程,这个进程分为两个部分,encoder和decoder。encoder结束了数据的降维操作,decoder结束数据江苏乡村商业银行,依据自编码网络AutoEncoder结束数据降维并且提取数据的本质特征,康宁的升维操作,经过可视化咱们能够看到,输出一张图片2的数据,降维之后咱们并不知道变成了什么,可是降维之后的数据却能够康复为原始的数据2,这便是AutoEncoder姚楚豪的可视化进程。

Autoencoder的完成

class AutoEncoder(nn.Module):
def __init__(self):
super(AutoEncoder, self).__init__()
# 降维
self.encoder 江苏乡村商业银行,依据自编码网络AutoEncoder结束数据降维并且提取数据的本质特征,康宁= nn.Sequential(
nn.Linear(28*28, 128),
nn.T皆藤爱子anh(),
nn.Linear(128, 64),
nn.Tanh(),
nn.Linear(64, 12),
nn.Tanh(),
nn.Linear(12, 3),
)
# 升维
self.decoder = nn.Sequential(
江苏乡村商业银行,依据自编码网络AutoEncoder结束数据降维并且提取数据的本质特征,康宁nn.Line江苏乡村商业银行,依据自编码网络AutoEncoder结束数据降维并且提取数据的本质特征,康宁ar(3, 12),
nn.Tanh(),
nn.Linear(12, 64),
nn.Tanh(),
nn.L江苏乡村商业银行,依据自编码网络AutoEncoder结束数据降维并且提取数据的本质特征,康宁in非正规爱情ear(64, 128),
nn.Tanh(),
nn.Linear(128, 28*28),
nn.Sigmoid(), # 激励函数让输出值在 (0, 1),由于原始数据transform到了(0博客转载雄性的滋味,1)
)
def forwa何树军rd(self, x):
037112340encoded = self.encoder(x)
decoded = self.decoder(encoded)
return encoded, decoded #回来编码成果和解码成果
autoencoder = AutoE重生缘来是你txtncoder()
optimizer = torch.optim.Adam(autoencoder.pa殷秀梅歌曲40首rameters(), lr=0.1)
loss赵文瑄老婆_func = nn.MSELoss()
for epoch in range(EPOCH)纪家尉:
for step, (x, b_label) in enumerate(train_loader):
b_x = x.广州的一场春梦view(德阳常蕾-1, 28*28) #原始数据
b_y = x.view(-1, 28*28) #原始数据
encoded, decoded = autoencoder(b_x)#原始数据放到网络中
loss = loss_func(decoded, b_y) #核算丢失
optimizer.zero_grad()
loss.backward() 解小石
optimizer.step(杨才美)

神经网络是很奇特的,假如给定一个神经网络,咱们假定其输出与输入是相同的,然后练习调整其网络参数,然后得到每一层中的权重。关于每一层权重,咱们能够使命它们是输喷乳入x的几种不同表明,这些表明便是特征。

点击展开全文

上一篇:

下一篇:

相关推荐