自编码简介(CAutoencoder)
稀疏自编码(CSparse Autoencoder)
我式自编码(CStacked Autoencoder)
去嗓自编码(CDenoising Autoencoder)
压缩自编码(Contrative Autoencoder)
Input: 数据的输入;
Encoder: 编码器;
Code: 输入的一个表示;
Decoder: 解码器;
Reconstruction: input的重建;
Error: 重建数据和input的误差。
自动编码器就是一种尽可能复现输入信号的神经网络;
自动编码器必须捕捉可以代表输入数据的最重要的因素;
类似PCA , 找到可以代表原信息的主要成分。
几种自编码的共同点
自编码的共同点: 是除了预防针对X简单地学习一个恒等函数外, 还
包含在以下两方面取折中。
1 、学习到一个针对X的表示h , x也能通过一个解码器从h 中还原; 需要
注意的是: 这并不需要对所有X都满足, 只满足对那些服从数据分布的X
即可。( 重建误差)
2 、减小模型代表性的能力, 使在尽可能多的输入方向上不敏感。( 模型
的表达能力, 泛化能力? ? )
如何在重建误差和表达能力之间取折中呢?
解决方法: 区分训练样本的哪些变量需要表示。学到一个数据的表示(映射,mapping) , 对流形的方向比较敏感,对正交于流形的方向
不敏感。将在正交于流形的方向产生一个收缩的表示。图中, 黑色的线为流形空间, 向右的绿色箭头与流形相切,蓝色的箭头正交于流形。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Sep 15 13:50:06 2017
Auto-Encoder
@author: z
"""
import numpy as np
import sklearn.preprocessing as prep
import tensorflow