# The Image Group – University of Copenhagen

Information Geometry PhD Course

# Information Geometry in Learning and Optimization

Basic informationLecturesPractical sessionsBackground

## Practical sessions

### Stochastic optimization

In the practical session on stochastic optimization, the Python version of the CMA-ES cma.py (https://pypi.python.org/pypi/cma) will be used.

To run it, you will need Python including ipython, numpy, and matplotlib (see also below). Any Python version ≥2.6 will work. Please set up your computer accordingly before the session, click here for tips.

Click here for basic notes and here for the Python notebook.

### Tutorial on numerics for Riemannian geometry

In the tutorial on numerics for Riemannian geometry on Tuesday morning, we will discuss computational representations and numerical solutions of some differential geometry problems. The goal is to be able to implement geodesic equations numerically for simple probability distributions, to visualize the computed geodesics, to compute Riemannian logarithms, and to find mean distributions. We will follow the presentation in the paper Fisher information distance: a geometrical reading from a computational viewpoint.

The tutorial is based on an ipython notebook that is available here. In order to exectute the notebook, python including sympy, numpy, scipy, matplotlib, and ipython-notebook is required. As an example, you can get these packages on an Ubuntu system by running
```sudo apt-get install python-sympy python-numpy ipython-notebook python-matplotlib python-scipy```
or on a Mac with MacPorts by running:
`port install py27-ipython py27-numpy py27-matplotlib py27-scipy py27-zmq py27-sympy`
After that, running
``` wget http://image.diku.dk/~sommer/tutorial.ipynb ipython notebook tutorial.ipynb ```
will start a browser showing the notebook. In the tutorial, we'll execute the cells of the notebook. This is done by pressing shift-Enter repeatedly.

Please either (1) download the notebook and the required packages before the tutorial or (2) team up with other participants so that at least one in your group has performed step (1).