annotate sandbox/rbm/parameters.py @ 484:3daabc7f94ff

Added Yoshua's explanation
author Joseph Turian <turian@gmail.com>
date Tue, 28 Oct 2008 01:33:27 -0400
parents c2e6a8fcc35e
children
rev   line source
370
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
1 """
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
2 Parameters (weights) used by the L{Model}.
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
3 """
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
4
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
5 import numpy
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
6
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
7 class Parameters:
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
8 """
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
9 Parameters used by the L{Model}.
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
10 """
406
c2e6a8fcc35e Globals are now parameters for the RBM model
Joseph Turian <turian@gmail.com>
parents: 396
diff changeset
11 def __init__(self, input_dimension, hidden_dimension, randomly_initialize, random_seed):
370
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
12 """
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
13 Initialize L{Model} parameters.
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
14 @param randomly_initialize: If True, then randomly initialize
406
c2e6a8fcc35e Globals are now parameters for the RBM model
Joseph Turian <turian@gmail.com>
parents: 396
diff changeset
15 according to the given random_seed. If False, then just use zeroes.
370
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
16 """
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
17 if randomly_initialize:
406
c2e6a8fcc35e Globals are now parameters for the RBM model
Joseph Turian <turian@gmail.com>
parents: 396
diff changeset
18 numpy.random.random_seed(random_seed)
395
70019965f888 Basic, broken RBM implementation
Joseph Turian <turian@gmail.com>
parents: 393
diff changeset
19 self.w = (numpy.random.rand(input_dimension, hidden_dimension)-0.5)/input_dimension
396
e0c9357456e0 Bug fixed in RBM
Joseph Turian <turian@gmail.com>
parents: 395
diff changeset
20 self.b = numpy.zeros((1, hidden_dimension))
e0c9357456e0 Bug fixed in RBM
Joseph Turian <turian@gmail.com>
parents: 395
diff changeset
21 self.c = numpy.zeros((1, input_dimension))
370
a1bbcde6b456 Moved sparse_random_autoassociator from my repository
Joseph Turian <turian@gmail.com>
parents:
diff changeset
22 else:
395
70019965f888 Basic, broken RBM implementation
Joseph Turian <turian@gmail.com>
parents: 393
diff changeset
23 self.w = numpy.zeros((input_dimension, hidden_dimension))
396
e0c9357456e0 Bug fixed in RBM
Joseph Turian <turian@gmail.com>
parents: 395
diff changeset
24 self.b = numpy.zeros((1, hidden_dimension))
e0c9357456e0 Bug fixed in RBM
Joseph Turian <turian@gmail.com>
parents: 395
diff changeset
25 self.c = numpy.zeros((1, input_dimension))
387
dace8b9743af __str__ method
Joseph Turian <turian@gmail.com>
parents: 386
diff changeset
26
dace8b9743af __str__ method
Joseph Turian <turian@gmail.com>
parents: 386
diff changeset
27 def __str__(self):
dace8b9743af __str__ method
Joseph Turian <turian@gmail.com>
parents: 386
diff changeset
28 s = ""
395
70019965f888 Basic, broken RBM implementation
Joseph Turian <turian@gmail.com>
parents: 393
diff changeset
29 s += "w: %s\n" % self.w
70019965f888 Basic, broken RBM implementation
Joseph Turian <turian@gmail.com>
parents: 393
diff changeset
30 s += "b: %s\n" % self.b
70019965f888 Basic, broken RBM implementation
Joseph Turian <turian@gmail.com>
parents: 393
diff changeset
31 s += "c: %s\n" % self.c
387
dace8b9743af __str__ method
Joseph Turian <turian@gmail.com>
parents: 386
diff changeset
32 return s