Skip to content

trungngv/fgp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fast Allocation of Gaussian Process Experts

Author: Trung V. Nguyen (trung.ngvan@gmail.com) and Edwin V. Bonilla

This is the package MSGP that implements the mixture of sparse Gaussian Process experts model in the paper 'Fast Allocation of Gaussian Process Experts'.

  1. Datasets

The 4 datasets (kin40k, pol, pumadyn32nm, and motorcycle) are provided in the 'data' directory.

For kin40k, pol, and pumadyn32nm, call load_data() to get the training and testing data used in the paper.

Example: [x,y,xtest,ytest] = load_data('data/kin40k','kin40k');

To get the same training and testing data as in the paper, simply run:

src/scripts/song100kscript.m

  1. How to run MSGP

The two main functions for using MSGP are src/msgp_train.m and src/msgp_predict.m See src/scripts/demo.m to see the example of using msgp on the motorcycle dataset.

  1. Other baselines

The localFITC methods can be run with src/gps_fitc_train.m and src/gps_fitc_predict.m.

See src/scripts/randpar_batch.m for an example.

The SoD baseline is in src/scripts/song100k_sod.m

The GPSVI baseline is in src/gpsvi/batch_gpsvi_big.m (note that it requires the learned hyperparameters of SoD).

Other baselines for the 100k dataset can be found in src/scripts/song100k_baselines.m.

  1. Multicore implementation

The main code for multicore is in libs/multicore/msgp. Email me if you have problems using multicore with MSGP.

  1. Dependencies

  • MSGP requires 3 external libraries: GPML [1], GPRApprox_Comparison [2], and SPGP_dist [3] in addition to my own library of utility function (myutils)
  • If multicore library is used, it also requires the multicore package
  • If GPSVI is used, it requires the gpsvi implementation by Edwin Bonilla which depends on the netlab and myutil package All libraries are included for your convenience.

References:

[0] Nguyen, Trung Van and Bonilla, Edwin. Fast Allocation of Gaussian Process Experts. ICML 2014.

[1] Rasmussen, Carl Edward and Nickisch, Hannes. Gaussian processes for machine learning (gpml) toolbox. The Journal of Machine Learning Research, 11:3011–3015, 2010

[2] Chalupka, Krzysztof, Williams, Christopher KI, and Murray, Iain. A framework for evaluating approximation methods for gaussian process regression. arXiv preprint arXiv:1205.6326, 2012.

[3] Snelson, Ed and Ghahramani, Zoubin. Sparse gaussian processes using pseudo-inputs, NIPS 2006.

About

Code for the paper 'Fast Allocation of Gaussian Process Experts'

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published