Skip to content

Latest commit

 

History

History
33 lines (20 loc) · 1.1 KB

cogp.md

File metadata and controls

33 lines (20 loc) · 1.1 KB

Collaborative multi-output Gaussian Process

Based on Nguyen et al. Collaborative Multi-output Gaussian Processes, 2014

Toy example

Observed data:

y1 = sin(x), y2 = -sin(x)

Prediction model:

cogp_toy_prediction_model

Training the model and predicting y1(x) and y2(x), source code:

  val data: DenseMatrix[Double] = loadToyModelDataIncomplete()
  
  val x = data(::, 0)
  val y = data(::, 1 to 2)
  val z = x(0 until x.size by 10) // inducing points for u and v inducing variables
  
  val initialToyModel = createCogpToyModel(x, y, z)
  val trainedToyModel = cogpTrain(x, y, initialToyModel, iterNum = 500)

  val predictedY:DenseMatrix[UnivariateGaussian] = cogpPredict(x, trainedToyModel)

Prediction plots

cogp_toy_problem_prediction_plot