On Mon, Nov 28, 2011 at 06:42:03PM +0100, Andreas Müller wrote: > I think it should be pretty straightforward, replacing cp.prod() > with np.dot() and similar. > The implementation has lots of features, so I am not sure > how easy it is to understand. You can definitely have a look. > > If you already have a working RBM implementation, it might > be easier to code the back propagation step yourself. > > Maybe you should rather look at some backpropagation > code and the paper the others suggested. > Implementing backpropagation should be fairly straight-forward.
http://github.com/dwf/backproppy contains some code with a working (albeit quite slow) feed forward neural network implementation. It is extensible enough that multiple layers should be easy to hack in. It uses in-place operations to minimize the creation of temporary buffers; the example network object I have in there has a grad method that can compute the gradients wqith respect to an entire network (the layer objects are initialized to throw their gradients in slices of a larger object), and so it can be used with stochastic gradient descent or any other gradient-based optimizer. It should be straightforward to create another network object with the desired autoencoder architecture and then just assign the weights from the RBMs into the right places. David ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d _______________________________________________ Scikit-learn-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
