The Mixtures of Experts (ME) Family

I have attempted to create a single libarary of code that can be used for a set of ME programs. I call the programs which are derived from this libarary, the "ME family". The ME family of programs consists of the following training programs:

and two prediction programs: For example, to run the program me-ese-r-1<\tt> on a data set "toy.train", you would use the following command:

../bin/me-ese-r-1 \
-train_file ../data/toy.train \
-n_train 50 \
-n_input 1 \
-n_output 1 \
-out_file ../models/toy 

This will generate a set of files with the prefix "toy" in the directory 
"../models". Each of these is the set of parameters for a particular
member of the committee. To make predictions from this committee for a 
data set "toy.test", the following command would be used:

../bin/hme-predict-r-1 \
-test_file ../data/toy.test \
-n_test 100 \
-in_file ../models/toy \
-res_file toy.out

This reads from the files with the prefix "toy1" in the directory "../models" and writes the output to "toy1.out".

Gettting the software

The code is written in C++ and works on most Unix platforms including Solaris, Linux and HPUX. I will be working on a NT port sometime in the future. I plan to work on updates to this code, so if you use it, I'd appreciate it if you referenced the version number of the software. The code is available as a zipped file: To install the code, unzip this file. This should create four directories: bin, data, scripts and src. In the src directory, type "make install" to compile all the binaries and place them in the directory bin. There is a sample program in scripts, and some sample data in data.

Steve Waterhouse
Cambridge University Engineering Dept

Steve Waterhouse