/mondrian-kernel

The Mondrian kernel is a random feature approximation to the Laplace kernel allowing fast kernel width selection.

Primary LanguagePythonMIT LicenseMIT

The Mondrian Kernel

Matej Balog, Balaji Lakshminarayanan, Zoubin Ghahramani, Daniel M. Roy, Yee Whye Teh

Thirty-Second Conference on Uncertainty in Artificial Intelligence (UAI), 2016.

[PDF] [supp] [arXiv] [poster] [slides]

The scripts provided here implement experiments from this paper. The scripts experiment_1_laplace_kernel_approximation, experiment_2_fast_kernel_width_learning and experiment_3_mondrian_kernel_vs_forest are intended to be directly runnable.

Requirements

Python packages: heapq, matplotlib, numpy, scipy, sklearn, sys, time

The CPU dataset cpu.mat can be download and extracted from here.

Known issues

A bug in scipy may cause the Python kernel to restart when loading the CPU dataset from cpu.mat. Downgrading to scipy 0.16.0 should solve the problem.

BibTeX

@inproceedings{balog2016mondriankernel,
  author = {Matej Balog and Balaji Lakshminarayanan and Zoubin Ghahramani and Daniel M.~Roy and Yee Whye Teh},
  title={The {M}ondrian Kernel},
  booktitle = {32nd Conference on Uncertainty in Artificial Intelligence (UAI)},
  year = {2016},
  month = {June},
  url = {http://www.auai.org/uai2016/proceedings/papers/236.pdf}
}