Mercurial > pylearn
view sandbox/simple_autoassociator/main.py @ 395:70019965f888
Basic, broken RBM implementation
author | Joseph Turian <turian@gmail.com> |
---|---|
date | Tue, 08 Jul 2008 20:14:21 -0400 |
parents | 36baeb7125a4 |
children | 8849eba55520 |
line wrap: on
line source
#!/usr/bin/python """ A simple autoassociator. The learned model is:: h = sigmoid(dot(x, w1) + b1) y = sigmoid(dot(h, w2) + b2) Binary xent loss. LIMITATIONS: - Only does pure stochastic gradient (batchsize = 1). """ import numpy nonzero_instances = [] nonzero_instances.append({0: 1, 1: 1}) nonzero_instances.append({0: 1, 2: 1}) #nonzero_instances.append({1: 0.1, 5: 0.5, 9: 1}) #nonzero_instances.append({2: 0.3, 5: 0.5, 8: 0.8}) ##nonzero_instances.append({1: 0.2, 2: 0.3, 5: 0.5}) import model model = model.Model() for i in xrange(100000): # Select an instance instance = nonzero_instances[i % len(nonzero_instances)] # SGD update over instance model.update(instance)