next up previous
Next: Boltzmann machines II [3* Up: NNA_Exercises_2012 Previous: Advanced Training Methods for

Boltzmann machines I [3 P]

Train a Boltzmann machine consisting of eight input units, $ n_H$ hidden units and three output units to create a classifier to distinguish three categories.

a)
Download the file data boltzmann.zip4 that contains the training data consisting of three categories and ten patterns for each category as it is shown in the figure below.

Figure: Training dataset.
Image classes

b)
Using the file train_boltzmann.m to train a Boltzmann machine to create a classifier for distinguishing between the three categories. Choose the number of hidden units to be at least $ ceil(log2n)$ , where $ n$ is the number of distinct patterns in the training dataset. Set the cooling rate to 0.99.

c)
Use the trained network to classify each pattern from $ w_1$ and, thus, verify that most of the patterns have been learned. Use the function test_boltzmann.m for it. Run the classification several times and evaluate the average percent of incorrect classifications for this class? Repeat the classification, but for distinguishing each pattern from $ w_2$ and $ w_3$ .

d)
Use the trained network to classify the patterns: $ ----+-++$ , $ -++-++++$ , and $ ++++++++$ .

e)
Increase the number of hidden units $ n_H$ (but to be not larger than $ n$ ) and repeat steps (b)-(c). How has the classification error changed?

Present your results clearly, structured and legible.


next up previous
Next: Boltzmann machines II [3* Up: NNA_Exercises_2012 Previous: Advanced Training Methods for
Haeusler Stefan 2013-01-16