Information-Geometric Optimization Algorithms: A Unifying Picture via Invariance Principles


Code for the experiments performed in the above study involving the use of natural gradient descent for training RBMs.

This code is available under the BSD License.

Setup instructions

The code depends on the clap package. The clap package should be
build and ready to use before building this code.

The main igo-code/ directory should be placed alongside the clap/
package directory or the Makefile CLAP_DIRECTORY variable should
be set to the location of the clap package directory.


The main executable “optim-rbms” can then be build using the following
command: $ make

Example runs can be found in the “” script and can be
run using: $ ./

The results of running experiments are placed in the data/ directory
and can be plotted using the scripts in the plotresults directory.
Check the plotresults/README file for more informaiton on plotting

Running experiments

experiments can be run using the “optim-rbms” executable. This executable accepts many optional parameters if you wish to override their default value. Here is an example below

The possible parameters and their default values are given below: