zoukankan      html  css  js  c++  java
  • 自编码器----Autoencoder

    一、自编码器:降维【无监督学习】

    PCA简介:【线性】原矩阵乘以过渡矩阵W得到新的矩阵,原矩阵和新矩阵是同样的东西,只是通过W换基。

    自编码:

    自动编码器是一种无监督的神经网络模型,它可以学习到输入数据的隐含特征,这称为编码(coding),同时用学习到的新特征可以重构出原始输入数据,称之为解码(decoding)。从直观上来看,自动编码器可以用于特征降维,类似主成分分析PCA,但是其相比PCA其性能更强,这是由于神经网络模型可以提取更有效的新特征。除了进行特征降维,自动编码器学习到的新特征可以送入有监督学习模型中,所以自动编码器可以起到特征提取器的作用。作为无监督学习模型,自动编码器还可以用于生成与训练样本不同的新数据,这样自动编码器(变分自动编码器,VariationalAutoencoders)就是生成式模型。

    类型:堆栈自动编码器(StackedAutoencoder)、去噪自动编码器(DenoisingAutoencoder),稀疏自动编码器(SparseAutoencoder)以及变分自动编码器。

    自编码和PCA的区别:

    由于神经网络能够学习非线性关系,因此可以认为这是PCA更有力(非线性)的泛化。而PCA试图发现描述原始数据的低维超平面,自编码器则能够学习非线性流形(流形为连续的非交叉的曲面)。这两种方法之间的区别如下图所示。

    自编码还原的结果比PCA清晰。

     而两者的重点是要拿到比较好的30维code。

    二、降噪自编码【加噪声】

    三、CNN、DNN、RBM、DBN来实现自编码:

     

  • 相关阅读:
    Go语言入门系列(三)之数组和切片
    详解Java的对象创建
    Go语言入门系列(二)之基础语法总结
    Go语言入门系列(一)之Go的安装和使用
    SpringCloud--Ribbon--配置详解
    自己动手作图深入理解二叉树、满二叉树及完全二叉树
    自已动手作图搞清楚AVL树
    《RabbitMQ》什么是死信队列
    《RabbitMQ》如何保证消息不被重复消费
    《RabbitMQ》如何保证消息的可靠性
  • 原文地址:https://www.cnblogs.com/Lee-yl/p/10109764.html
Copyright © 2011-2022 走看看