scikit-learn/scikit-learn — pull request #2099 by IssamLaradji (2013-06-26 16:28:36+00:00)
Title: Added Sparse Autoencoder to the neural_network folder

Sparse Autoencoder

Properties:

-Optimization is done via 'scipy.optimize.fmin_l_bfgs_bfmin_l_bfgs_b' which is very efficient and powerful
-Everything is vectorized, except the minibatch loop
-The algorithm was developed based on the tutorials/references given by Prof. Andrew NG,
[1] http://ufldl.stanford.edu/wiki/index.php/Backpropagation_Algorithm
[2] http://ufldl.stanford.edu/wiki/index.php/Gradient_checking_and_advanced_optimization
[3] http://ufldl.stanford.edu/wiki/index.php/Exercise:Sparse_Autoencoder

TODO:

-Fix non-standard code to adhere to scikit's convention
(some practices used in the code may not be efficient nor reader friendly)
-Add code that sets random seed
-Add a complete example on using Sparse Autoencoder (although there is a small example within the sae.py file)
-Remove the comments in the file (They are there for debugging purposes only)

Your comments/feedback will be very useful!!