Tensorflow实现自编码器AutoEncoder
@ Tensorflow实现自编码器AutoEncoder 自编码器,就是可以使用自身的高阶特征编码自己,本质上也是一种神经网络,输入和输出是一致的。 特点:(1)期望输入/输出一致的 (2)使用高阶特征来重构自己,而不是复制像素点 当hidden_layers = 1 相当于PCA 当bidden_layers有多个时,每一个隐含层都是受限玻尔兹曼机(RBM) 代码如下: #-*- coding:utf-8 -*- import numpy as np import os import sklearn.preprocessing as prep import tensorflow as tf import matplotlib.pyplot as plt from tensorflow.examples.tutorials.mnist import input_data #这里用到的是一种参数初始化方法xavier_initialization. #在Yoshua Bengio 的一篇文章中指出,如果深度学习模型的权重初始化设置的太小,那么信号在每层间传递就会逐渐缩小而难以产生作用;如果设置的太大,那信号在每层之间传递逐渐放大并导致发散或失效。 def xavier_init(fan_in,fan_out,constant = 1): low = -constant * np