completed sparse autoencoder(not optimized)