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

Reply via email to