GithubHelp home page GithubHelp logo

jamesrobertlloyd / gp-structure-search Goto Github PK

View Code? Open in Web Editor NEW
224.0 20.0 82.0 1.24 GB

License: MIT License

TeX 42.63% MATLAB 24.25% Python 19.11% Mathematica 0.94% HTML 1.92% CSS 0.01% Makefile 0.13% C++ 2.47% Fortran 8.22% C 0.07% OpenEdge ABL 0.24%

gp-structure-search's Introduction

This is part of the automatic statistician project

Gaussian Process Structure Search

Code for automatically searching through compositions of covariance functions for Gaussian process regression, described in

Structure Discovery in Nonparametric Regression through Compositional Kernel Search by David Duvenaud, James Robert Lloyd, Roger Grosse, Joshua B. Tenenbaum, Zoubin Ghahramani

Abstract:

Despite its importance, choosing the structural form of the kernel in nonparametric regression remains a black art. We define a space of kernel structures which are built compositionally by adding and multiplying a small number of base kernels. We present a method for searching over this space of structures which mirrors the scientific discovery process. The learned structures can often decompose functions into interpretable components and enable long-range extrapolation on time-series datasets. Our structure search method outperforms many widely used kernels and kernel combination methods on a variety of prediction tasks.

Feel free to email us with any questions:
James Lloyd ([email protected])
David Duvenaud ([email protected])
Roger Grosse ([email protected])

We welcome pull requests and feature suggestions!

Instructions:

You'll need Matlab and Python 2.7 with numpy.

You'll also need to create source/cblparallel/config.py - follow the format of the example file in the same directory.

To check whether the framework runs, go to the source directory and run demo.py.

There are some example experiment scripts source/examples/.

Many helper functions to summarize results are in postprocessing.py. For example, to produce nice plots of your decomposition, call make_all_1d_figures()

If you have any questions about getting this running on your machine or cluster, please let us know.

If describe your problem to us, we'll also happy to give advice about running the method.

Known issues:

Windows users will need to make a change

  • All strings in config files are not sanitized, therefore backslashes and other special characters should be delimited e.g. C:\\ProgramFiles\\Matlab

Updated Repository and Paper:

Development on this project has now moved to https://github.com/jamesrobertlloyd/gpss-research/.

Further developments are described in the paper: Automatic Construction and Natural-Language Description of Nonparametric Regression Models by James Robert Lloyd, David Duvenaud, Roger Grosse, Joshua B. Tenenbaum and Zoubin Ghahramani, appearing in AAAI 2014.

Abstract:

This paper presents the beginnings of an automatic statistician, focusing on regression problems. Our system explores an open-ended space of statistical models to discover a good explanation of a data set, and then produces a detailed report with figures and natural-language text. Our approach treats unknown regression functions nonparametrically using Gaussian processes, which has two important consequences. First, Gaussian processes can model functions in terms of high-level properties (e.g. smoothness, trends, periodicity, changepoints). Taken together with the compositional structure of our language of models this allows us to automatically describe functions in simple terms. Second, the use of flexible nonparametric models and a rich language for composing them in an open-ended manner also results in state-of-the-art extrapolation performance evaluated over 13 real time series data sets from various domains.

gp-structure-search's People

Contributors

duvenaud avatar jamesrobertlloyd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gp-structure-search's Issues

Zip loop

Zipping/unzipping occasionally results in perhaps unreadable files - they have a job id of 'access' - clearly something is wrong

In general, there is a risk of constant looping when a job is submitted but it doesn't show up on qstat yet - need to detect this looping behaviour

Miscellaneous notes

Hessian delta of 1e-6 will not always be appropriate e.g. location parameters for unscaled data

Fix intro

Make it read as well as abstract and Jaynes quotation

Fix the optimisation

This means both

  • ensuring local extrema are reached so Laplace approx valid
  • jittering previously learned parameter values to avoid having to multiply by constant kernels

Inference fail loop

If any code fails (e.g. ill conditioned covariance matrix) the experiment can get stuck in an infinite loop

I observed this in the prediction code once - quick fix was to change the starting noise parameter very slightly.

Add a changepoint kernel

This would let us make a lot more interesting claims in the paper - we could claim to address nonstationarity. It would also make the decomposition algorithm more interesting than simply distributing terms.

Laplace bug

This kernel

ScoredKernel(k_opt=ProductKernel([ MaskKernel(ndim=8, active_dimension=0, base_kernel=CubicKernel(offset=1.757755, output_variance=7.084045)), MaskKernel(ndim=8, active_dimension=7, base_kernel=SqExpPeriodicKernel(lengthscale=-2.701080, period=-0.380918, output_variance=-0.071214)) ]), nll=6348.096611, laplace_nle=-184450132.068237, bic_nle=12720.630212, noise=[-1.77276072])

applied to data set r_concrete_500_fold_10_of_10.mat

has a clearly erroneous laplace_nle

Why?

Question about running in windows

Hi,

I am trying to run this code base on windows 10 and I am running into a number of issues after fixing the file paths and similar benign issues I ran into the following MATLAB error when running demo.py:

For online documentation, see http://www.mathworks.com/support
For product information, visit www.mathworks.com.

Undefined function or variable 'tmpb0_jih'.

Could you please assist?

Thank you

Be more Bayesian

Kernel over kernels + active learning / Bayesian optimisation
Priors on expressions
...

reset: unknown terminal type unknown Terminal type?

Dear authors,

I am thankful that you share the code in the Github.

I am really like your paper and try to run your code on your demo.py.

However, when I go to the source directory and run demo.py. This is an error on my computer:
"reset: unknown terminal type unknown
Terminal type? "
Could you please give me some suggestion about that?

The below is all the information when I run the demo.py.

"
runfile('/home/chunchao/Desktop/gp-structure-search-master/source/demo.py', wdir='/home/chunchao/Desktop/gp-structure-search-master/source')
Backend TkAgg is interactive backend. Turning interactive mode on.
Running experiment:
description = An example experiment,
data_dir = ../data/1d_data/01-airline.mat,
max_depth = 2,
random_order = False,
k = 1,
debug = False,
local_computation = True,
n_rand = 2,
sd = 4,
max_jobs = 500,
verbose = True,
make_predictions = False,
skip_complete = False,
results_dir = ../examples/,
iters = 10,
base_kernels = SE,Per,Lin,
zero_mean = True,
verbose_results = False,
random_seed = 0,
use_min_period = True,
period_heuristic = 10,
use_constraints = False,
alpha_heuristic = -2,
lengthscale_heuristic = -4.5,
Experiment 01-airline
Output to: ../examples/01-airline_result.txt
Creating data file locally
Creating scripts
Sending scripts to cblparallel
Submitting job 1 of 9
Submitting job 2 of 9
Submitting job 3 of 9
Submitting job 4 of 9
Submitting job 5 of 9
Submitting job 6 of 9
Submitting job 7 of 9
Submitting job 8 of 9
Submitting job 9 of 9
Sleeping for 5 seconds
Sleeping for 5 seconds
Sleeping for 5 seconds
Job 1 of 9 has completed
Job 2 of 9 has completed
Job 3 of 9 has completed
Job 4 of 9 has completed
Job 5 of 9 has completed
Job 6 of 9 has completed
Job 7 of 9 has completed
Job 8 of 9 has completed
Job 9 of 9 has completed
Reading output file 1 of 9
Reading output file 2 of 9
Reading output file 3 of 9
Reading output file 4 of 9
Reading output file 5 of 9
Reading output file 6 of 9
Reading output file 7 of 9
Reading output file 8 of 9
Reading output file 9 of 9
Removing output file 1 of 9
Removing output file 2 of 9
Removing output file 3 of 9
Removing output file 4 of 9
Removing output file 5 of 9
Removing output file 6 of 9
Removing output file 7 of 9
Removing output file 8 of 9
Removing output file 9 of 9
All new results:
1251.6857440777076 nan 2513.311114754567 M(0, SE(ell=-0.8, sf=5.7))
1181.7783896324722 nan 2373.4964058640962 M(0, LN(off=-2.0, ell=0.0, loc=0.0))
1180.6405321123773 nan 2371.2206908239064 M(0, SE(ell=3.0, sf=6.2))
1027.923777964088 nan 2065.787182527328 M(0, LN(off=-7.3, ell=7.0, loc=1944.7))
1027.903814739796 nan 2065.7472560787437 M(0, SE(ell=0.0, sf=0.0))
1027.8720632958796 nan 2065.683753190911 M(0, LN(off=-8.7, ell=0.1, loc=1955.4))
1023.5392001361355 nan 2061.987840170999 M(0, PE(ell=1.5, p=2.2, sf=5.2))
1023.3361754305673 nan 2061.5817907598625 M(0, PE(ell=3.4, p=1.8, sf=4.9))
All new results after duplicate removal:
1251.6857440777076 nan 2513.311114754567 M(0, SE(ell=-0.8, sf=5.7))
1181.7783896324722 nan 2373.4964058640962 M(0, LN(off=-2.0, ell=0.0, loc=0.0))
1180.6405321123773 nan 2371.2206908239064 M(0, SE(ell=3.0, sf=6.2))
1027.923777964088 nan 2065.787182527328 M(0, LN(off=-7.3, ell=7.0, loc=1944.7))
1027.903814739796 nan 2065.7472560787437 M(0, SE(ell=0.0, sf=0.0))
1027.8720632958796 nan 2065.683753190911 M(0, LN(off=-8.7, ell=0.1, loc=1955.4))
1023.5392001361355 nan 2061.987840170999 M(0, PE(ell=1.5, p=2.2, sf=5.2))
1023.3361754305673 nan 2061.5817907598625 M(0, PE(ell=3.4, p=1.8, sf=4.9))
Printing all results
1251.6857440777076 nan 2513.311114754567 M(0, SE(ell=-0.8, sf=5.7))
1181.7783896324722 nan 2373.4964058640962 M(0, LN(off=-2.0, ell=0.0, loc=0.0))
1180.6405321123773 nan 2371.2206908239064 M(0, SE(ell=3.0, sf=6.2))
1027.923777964088 nan 2065.787182527328 M(0, LN(off=-7.3, ell=7.0, loc=1944.7))
1027.903814739796 nan 2065.7472560787437 M(0, SE(ell=0.0, sf=0.0))
1027.8720632958796 nan 2065.683753190911 M(0, LN(off=-8.7, ell=0.1, loc=1955.4))
1023.5392001361355 nan 2061.987840170999 M(0, PE(ell=1.5, p=2.2, sf=5.2))
1023.3361754305673 nan 2061.5817907598625 M(0, PE(ell=3.4, p=1.8, sf=4.9))
Seed kernels :
M(0, PE(ell=3.4, p=1.8, sf=4.9))
Expanded kernels :
( M(0, LN(off=-2.0, ell=0.0, loc=0.0)) x M(0, PE(ell=3.4, p=1.8, sf=4.9)) )
( M(0, PE(ell=0.0, p=-2.0, sf=0.0)) x M(0, PE(ell=3.4, p=1.8, sf=4.9)) )
( M(0, PE(ell=3.4, p=1.8, sf=4.9)) x M(0, SE(ell=0.0, sf=0.0)) )
( M(0, LN(off=-2.0, ell=0.0, loc=0.0)) + M(0, PE(ell=3.4, p=1.8, sf=4.9)) )
( M(0, PE(ell=0.0, p=-2.0, sf=0.0)) + M(0, PE(ell=3.4, p=1.8, sf=4.9)) )
( M(0, PE(ell=3.4, p=1.8, sf=4.9)) + M(0, SE(ell=0.0, sf=0.0)) )
M(0, LN(off=-2.0, ell=0.0, loc=0.0))
M(0, PE(ell=0.0, p=-2.0, sf=0.0))
M(0, SE(ell=0.0, sf=0.0))
Creating data file locally
Creating scripts
Sending scripts to cblparallel
Submitting job 1 of 27
Submitting job 2 of 27
Submitting job 3 of 27
Submitting job 4 of 27
Submitting job 5 of 27
Submitting job 6 of 27
Submitting job 7 of 27
Submitting job 8 of 27
Submitting job 9 of 27
Submitting job 10 of 27
Sleeping for 5 seconds
Sleeping for 5 seconds
Sleeping for 5 seconds
Job 1 of 27 has completed
Job 2 of 27 has completed
Job 3 of 27 has completed
Job 4 of 27 has completed
Job 5 of 27 has completed
Job 6 of 27 has completed
Job 8 of 27 has completed
Job 10 of 27 has completed
Submitting job 11 of 27
Submitting job 12 of 27
Submitting job 13 of 27
Submitting job 14 of 27
Submitting job 15 of 27
Submitting job 16 of 27
Submitting job 17 of 27
Submitting job 18 of 27
Job 7 of 27 has completed
Job 9 of 27 has completed
Submitting job 19 of 27
Submitting job 20 of 27
Sleeping for 5 seconds
Sleeping for 5 seconds
Sleeping for 5 seconds
Job 11 of 27 has completed
Job 12 of 27 has completed
Job 13 of 27 has completed
Job 14 of 27 has completed
Job 15 of 27 has completed
Job 16 of 27 has completed
Job 17 of 27 has completed
Job 19 of 27 has completed
Submitting job 21 of 27
Submitting job 22 of 27
Submitting job 23 of 27
Submitting job 24 of 27
Submitting job 25 of 27
Submitting job 26 of 27
Submitting job 27 of 27
Job 18 of 27 has completed
Job 20 of 27 has completed
Sleeping for 5 seconds
Sleeping for 5 seconds
Job 21 of 27 has completed
Job 22 of 27 has completed
Job 23 of 27 has completed
Job 24 of 27 has completed
Job 25 of 27 has completed
Job 26 of 27 has completed
Job 27 of 27 has completed
Reading output file 1 of 27
Reading output file 2 of 27
Reading output file 3 of 27
Reading output file 4 of 27
Reading output file 5 of 27
Reading output file 6 of 27
Reading output file 7 of 27
Reading output file 8 of 27
Reading output file 9 of 27
Reading output file 10 of 27
Reading output file 11 of 27
Reading output file 12 of 27
Reading output file 13 of 27
Reading output file 14 of 27
Reading output file 15 of 27
Reading output file 16 of 27
Reading output file 17 of 27
Reading output file 18 of 27
Reading output file 19 of 27
Reading output file 20 of 27
Reading output file 21 of 27
Reading output file 22 of 27
Reading output file 23 of 27
Reading output file 24 of 27
Reading output file 25 of 27
Reading output file 26 of 27
Reading output file 27 of 27
Removing output file 1 of 27
Removing output file 2 of 27
Removing output file 3 of 27
Removing output file 4 of 27
Removing output file 5 of 27
Removing output file 6 of 27
Removing output file 7 of 27
Removing output file 8 of 27
Removing output file 9 of 27
Removing output file 10 of 27
Removing output file 11 of 27
Removing output file 12 of 27
Removing output file 13 of 27
Removing output file 14 of 27
Removing output file 15 of 27
Removing output file 16 of 27
Removing output file 17 of 27
Removing output file 18 of 27
Removing output file 19 of 27
Removing output file 20 of 27
Removing output file 21 of 27
Removing output file 22 of 27
Removing output file 23 of 27
Removing output file 24 of 27
Removing output file 25 of 27
Removing output file 26 of 27
Removing output file 27 of 27
All new results:
1231.2193188407873 nan 2482.3178908798786 ( M(0, PE(ell=3.4, p=1.8, sf=4.6)) x M(0, SE(ell=-0.0, sf=3.7)) )
1195.301552405626 nan 2410.482358009556 ( M(0, LN(off=-2.0, ell=0.1, loc=0.0)) x M(0, PE(ell=3.4, p=1.8, sf=4.9)) )
1180.5636329338015 nan 2390.946145665059 ( M(0, PE(ell=4.6, p=6.9, sf=-2.7)) + M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1180.5492496798781 nan 2390.917379157212 ( M(0, PE(ell=1.9, p=6.9, sf=3.3)) + M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1181.7816979119368 nan 2388.4124623217535 ( M(0, LN(off=-2.0, ell=0.0, loc=0.0)) + M(0, PE(ell=3.4, p=1.8, sf=4.9)) )
1180.563652648244 nan 2385.976371794368 ( M(0, PE(ell=3.4, p=1.8, sf=5.0)) + M(0, SE(ell=0.0, sf=-0.0)) )
1180.5636337552983 nan 2385.9763340084764 ( M(0, LN(off=-11.8, ell=3.4, loc=1960.9)) + M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1180.5636331360015 nan 2385.976332769883 ( M(0, PE(ell=3.4, p=1.8, sf=5.0)) + M(0, SE(ell=0.7, sf=-2.1)) )
1180.5636329755807 nan 2385.9763324490414 ( M(0, LN(off=-13.6, ell=5.1, loc=1970.5)) + M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1181.7125696761482 nan 2383.3043925506004 ( M(0, PE(ell=3.4, p=1.8, sf=4.9)) x M(0, SE(ell=0.0, sf=-0.0)) )
1180.663863187727 nan 2376.237166274182 M(0, PE(ell=2.9, p=1.0, sf=6.3))
1181.7783896324722 nan 2373.4964058640962 M(0, LN(off=-2.0, ell=0.0, loc=0.0))
1181.4844478710331 nan 2372.908522341218 M(0, SE(ell=4.4, sf=3.8))
1027.6078027525305 nan 2080.064672002941 ( M(0, PE(ell=3.6, p=6.3, sf=-4.3)) x M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1027.9237881880226 nan 2070.7570162747734 M(0, PE(ell=0.0, p=1.9, sf=-5.8))
1023.6929509234078 nan 2067.2651550451196 ( M(0, PE(ell=3.4, p=1.8, sf=6.1)) x M(0, SE(ell=-0.3, sf=-0.6)) )
1027.911635944512 nan 2065.762898488176 M(0, SE(ell=3.8, sf=-1.0))
1027.903814739796 nan 2065.7472560787437 M(0, SE(ell=0.0, sf=0.0))
1027.714691100425 nan 2065.3690088000017 M(0, LN(off=-8.4, ell=0.8, loc=1959.7))
1002.522711842176 nan 2024.924676882656 ( M(0, LN(off=-3.4, ell=1.0, loc=1965.1)) x M(0, PE(ell=3.3, p=0.7, sf=5.1)) )
974.4348088970949 nan 1958.8092443933417 M(0, LN(off=-15.0, ell=-1.1, loc=1967.5))
897.9109529202489 nan 1815.7011590388017 ( M(0, LN(off=-0.8, ell=-2.2, loc=1975.3)) x M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
894.5560567068537 nan 1813.9611799115874 ( M(0, PE(ell=3.4, p=1.8, sf=5.0)) + M(0, SE(ell=-0.8, sf=2.0)) )
827.4239624014712 nan 1679.6969913008222 ( M(0, PE(ell=4.6, p=1.6, sf=7.2)) x M(0, PE(ell=3.5, p=2.2, sf=4.8)) )
All new results after duplicate removal:
1231.2193188407873 nan 2482.3178908798786 ( M(0, PE(ell=3.4, p=1.8, sf=4.6)) x M(0, SE(ell=-0.0, sf=3.7)) )
1195.301552405626 nan 2410.482358009556 ( M(0, LN(off=-2.0, ell=0.1, loc=0.0)) x M(0, PE(ell=3.4, p=1.8, sf=4.9)) )
1180.5636329338015 nan 2390.946145665059 ( M(0, PE(ell=4.6, p=6.9, sf=-2.7)) + M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1180.5492496798781 nan 2390.917379157212 ( M(0, PE(ell=1.9, p=6.9, sf=3.3)) + M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1181.7816979119368 nan 2388.4124623217535 ( M(0, LN(off=-2.0, ell=0.0, loc=0.0)) + M(0, PE(ell=3.4, p=1.8, sf=4.9)) )
1180.563652648244 nan 2385.976371794368 ( M(0, PE(ell=3.4, p=1.8, sf=5.0)) + M(0, SE(ell=0.0, sf=-0.0)) )
1180.5636337552983 nan 2385.9763340084764 ( M(0, LN(off=-11.8, ell=3.4, loc=1960.9)) + M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1180.5636331360015 nan 2385.976332769883 ( M(0, PE(ell=3.4, p=1.8, sf=5.0)) + M(0, SE(ell=0.7, sf=-2.1)) )
1180.5636329755807 nan 2385.9763324490414 ( M(0, LN(off=-13.6, ell=5.1, loc=1970.5)) + M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1181.7125696761482 nan 2383.3043925506004 ( M(0, PE(ell=3.4, p=1.8, sf=4.9)) x M(0, SE(ell=0.0, sf=-0.0)) )
1180.663863187727 nan 2376.237166274182 M(0, PE(ell=2.9, p=1.0, sf=6.3))
1181.7783896324722 nan 2373.4964058640962 M(0, LN(off=-2.0, ell=0.0, loc=0.0))
1181.4844478710331 nan 2372.908522341218 M(0, SE(ell=4.4, sf=3.8))
1027.6078027525305 nan 2080.064672002941 ( M(0, PE(ell=3.6, p=6.3, sf=-4.3)) x M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1027.9237881880226 nan 2070.7570162747734 M(0, PE(ell=0.0, p=1.9, sf=-5.8))
1023.6929509234078 nan 2067.2651550451196 ( M(0, PE(ell=3.4, p=1.8, sf=6.1)) x M(0, SE(ell=-0.3, sf=-0.6)) )
1027.911635944512 nan 2065.762898488176 M(0, SE(ell=3.8, sf=-1.0))
1027.903814739796 nan 2065.7472560787437 M(0, SE(ell=0.0, sf=0.0))
1027.714691100425 nan 2065.3690088000017 M(0, LN(off=-8.4, ell=0.8, loc=1959.7))
1002.522711842176 nan 2024.924676882656 ( M(0, LN(off=-3.4, ell=1.0, loc=1965.1)) x M(0, PE(ell=3.3, p=0.7, sf=5.1)) )
974.4348088970949 nan 1958.8092443933417 M(0, LN(off=-15.0, ell=-1.1, loc=1967.5))
897.9109529202489 nan 1815.7011590388017 ( M(0, LN(off=-0.8, ell=-2.2, loc=1975.3)) x M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
894.5560567068537 nan 1813.9611799115874 ( M(0, PE(ell=3.4, p=1.8, sf=5.0)) + M(0, SE(ell=-0.8, sf=2.0)) )
827.4239624014712 nan 1679.6969913008222 ( M(0, PE(ell=4.6, p=1.6, sf=7.2)) x M(0, PE(ell=3.5, p=2.2, sf=4.8)) )
Printing all results
1251.6857440777076 nan 2513.311114754567 M(0, SE(ell=-0.8, sf=5.7))
1231.2193188407873 nan 2482.3178908798786 ( M(0, PE(ell=3.4, p=1.8, sf=4.6)) x M(0, SE(ell=-0.0, sf=3.7)) )
1195.301552405626 nan 2410.482358009556 ( M(0, LN(off=-2.0, ell=0.1, loc=0.0)) x M(0, PE(ell=3.4, p=1.8, sf=4.9)) )
1180.5636329338015 nan 2390.946145665059 ( M(0, PE(ell=4.6, p=6.9, sf=-2.7)) + M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1180.5492496798781 nan 2390.917379157212 ( M(0, PE(ell=1.9, p=6.9, sf=3.3)) + M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1181.7816979119368 nan 2388.4124623217535 ( M(0, LN(off=-2.0, ell=0.0, loc=0.0)) + M(0, PE(ell=3.4, p=1.8, sf=4.9)) )
1180.563652648244 nan 2385.976371794368 ( M(0, PE(ell=3.4, p=1.8, sf=5.0)) + M(0, SE(ell=0.0, sf=-0.0)) )
1180.5636337552983 nan 2385.9763340084764 ( M(0, LN(off=-11.8, ell=3.4, loc=1960.9)) + M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1180.5636331360015 nan 2385.976332769883 ( M(0, PE(ell=3.4, p=1.8, sf=5.0)) + M(0, SE(ell=0.7, sf=-2.1)) )
1180.5636329755807 nan 2385.9763324490414 ( M(0, LN(off=-13.6, ell=5.1, loc=1970.5)) + M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1181.7125696761482 nan 2383.3043925506004 ( M(0, PE(ell=3.4, p=1.8, sf=4.9)) x M(0, SE(ell=0.0, sf=-0.0)) )
1180.663863187727 nan 2376.237166274182 M(0, PE(ell=2.9, p=1.0, sf=6.3))
1181.7783896324722 nan 2373.4964058640962 M(0, LN(off=-2.0, ell=0.0, loc=0.0))
1181.7783896324722 nan 2373.4964058640962 M(0, LN(off=-2.0, ell=0.0, loc=0.0))
1181.4844478710331 nan 2372.908522341218 M(0, SE(ell=4.4, sf=3.8))
1180.6405321123773 nan 2371.2206908239064 M(0, SE(ell=3.0, sf=6.2))
1027.6078027525305 nan 2080.064672002941 ( M(0, PE(ell=3.6, p=6.3, sf=-4.3)) x M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
1027.9237881880226 nan 2070.7570162747734 M(0, PE(ell=0.0, p=1.9, sf=-5.8))
1023.6929509234078 nan 2067.2651550451196 ( M(0, PE(ell=3.4, p=1.8, sf=6.1)) x M(0, SE(ell=-0.3, sf=-0.6)) )
1027.923777964088 nan 2065.787182527328 M(0, LN(off=-7.3, ell=7.0, loc=1944.7))
1027.911635944512 nan 2065.762898488176 M(0, SE(ell=3.8, sf=-1.0))
1027.903814739796 nan 2065.7472560787437 M(0, SE(ell=0.0, sf=0.0))
1027.903814739796 nan 2065.7472560787437 M(0, SE(ell=0.0, sf=0.0))
1027.8720632958796 nan 2065.683753190911 M(0, LN(off=-8.7, ell=0.1, loc=1955.4))
1027.714691100425 nan 2065.3690088000017 M(0, LN(off=-8.4, ell=0.8, loc=1959.7))
1023.5392001361355 nan 2061.987840170999 M(0, PE(ell=1.5, p=2.2, sf=5.2))
1023.3361754305673 nan 2061.5817907598625 M(0, PE(ell=3.4, p=1.8, sf=4.9))
1002.522711842176 nan 2024.924676882656 ( M(0, LN(off=-3.4, ell=1.0, loc=1965.1)) x M(0, PE(ell=3.3, p=0.7, sf=5.1)) )
974.4348088970949 nan 1958.8092443933417 M(0, LN(off=-15.0, ell=-1.1, loc=1967.5))
897.9109529202489 nan 1815.7011590388017 ( M(0, LN(off=-0.8, ell=-2.2, loc=1975.3)) x M(0, PE(ell=3.4, p=1.8, sf=5.0)) )
894.5560567068537 nan 1813.9611799115874 ( M(0, PE(ell=3.4, p=1.8, sf=5.0)) + M(0, SE(ell=-0.8, sf=2.0)) )
827.4239624014712 nan 1679.6969913008222 ( M(0, PE(ell=4.6, p=1.6, sf=7.2)) x M(0, PE(ell=3.5, p=2.2, sf=4.8)) )
Seed kernels :
( M(0, PE(ell=4.6, p=1.6, sf=7.2)) x M(0, PE(ell=3.5, p=2.2, sf=4.8)) )
Expanded kernels :
( ( M(0, LN(off=-2.0, ell=0.0, loc=0.0)) + M(0, PE(ell=3.5, p=2.2, sf=4.8)) ) x M(0, PE(ell=4.6, p=1.6, sf=7.2)) )
( ( M(0, LN(off=-2.0, ell=0.0, loc=0.0)) + M(0, PE(ell=4.6, p=1.6, sf=7.2)) ) x M(0, PE(ell=3.5, p=2.2, sf=4.8)) )
( ( M(0, PE(ell=0.0, p=-2.0, sf=0.0)) + M(0, PE(ell=3.5, p=2.2, sf=4.8)) ) x M(0, PE(ell=4.6, p=1.6, sf=7.2)) )
( ( M(0, PE(ell=0.0, p=-2.0, sf=0.0)) + M(0, PE(ell=4.6, p=1.6, sf=7.2)) ) x M(0, PE(ell=3.5, p=2.2, sf=4.8)) )
( ( M(0, PE(ell=3.5, p=2.2, sf=4.8)) + M(0, SE(ell=0.0, sf=0.0)) ) x M(0, PE(ell=4.6, p=1.6, sf=7.2)) )
( ( M(0, PE(ell=4.6, p=1.6, sf=7.2)) + M(0, SE(ell=0.0, sf=0.0)) ) x M(0, PE(ell=3.5, p=2.2, sf=4.8)) )
( M(0, LN(off=-2.0, ell=0.0, loc=0.0)) x M(0, PE(ell=3.5, p=2.2, sf=4.8)) )
( M(0, LN(off=-2.0, ell=0.0, loc=0.0)) x M(0, PE(ell=3.5, p=2.2, sf=4.8)) x M(0, PE(ell=4.6, p=1.6, sf=7.2)) )
( M(0, LN(off=-2.0, ell=0.0, loc=0.0)) x M(0, PE(ell=4.6, p=1.6, sf=7.2)) )
( M(0, PE(ell=0.0, p=-2.0, sf=0.0)) x M(0, PE(ell=3.5, p=2.2, sf=4.8)) )
( M(0, PE(ell=0.0, p=-2.0, sf=0.0)) x M(0, PE(ell=3.5, p=2.2, sf=4.8)) x M(0, PE(ell=4.6, p=1.6, sf=7.2)) )
( M(0, PE(ell=0.0, p=-2.0, sf=0.0)) x M(0, PE(ell=4.6, p=1.6, sf=7.2)) )
( M(0, PE(ell=3.5, p=2.2, sf=4.8)) x M(0, PE(ell=4.6, p=1.6, sf=7.2)) x M(0, SE(ell=0.0, sf=0.0)) )
( M(0, PE(ell=3.5, p=2.2, sf=4.8)) x M(0, SE(ell=0.0, sf=0.0)) )
( M(0, PE(ell=4.6, p=1.6, sf=7.2)) x M(0, SE(ell=0.0, sf=0.0)) )
( ( M(0, PE(ell=3.5, p=2.2, sf=4.8)) x M(0, PE(ell=4.6, p=1.6, sf=7.2)) ) + M(0, LN(off=-2.0, ell=0.0, loc=0.0)) )
( ( M(0, PE(ell=3.5, p=2.2, sf=4.8)) x M(0, PE(ell=4.6, p=1.6, sf=7.2)) ) + M(0, PE(ell=0.0, p=-2.0, sf=0.0)) )
( ( M(0, PE(ell=3.5, p=2.2, sf=4.8)) x M(0, PE(ell=4.6, p=1.6, sf=7.2)) ) + M(0, SE(ell=0.0, sf=0.0)) )
reset: unknown terminal type unknown
Terminal type? "

Best wishes,
Chunchao

Add constant kernel in general?

This might fix some bugs of extraneous kernels being discovered - the algorithm might be working round a stuck optimiser.

Add more 1D datasets

And Josh's examples. We might consider making nice 2D plots for the EEG data, as well.

Replace hard constraints

Either with priors + MAP (i.e. regularisation) or a more Bayesian treatment (Laplace, sampling...?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.