Selecting a basis for Gaussian Process Classifier RRS feed

  • Question

  • From the example:


    To get a sparse Gaussian Process, we pair a GaussianProcess with a set of basis vectors.  The basis vectors are intended to summarize the set of inputs into a smaller set.  By changing the size of the basis, you control the cost of the inference.  (For details, see the references at the end.)  If the basis set is exactly the set of inputs, then the distribution is equivalent to a full (non-sparse) Gaussian Process. A good strategy for computing the basis is to cluster the input vectors.  Another approach is to use a random subset of the input vectors.  Here for simplicity we will set them by hand to roughly partition the range of the inputs:

    Could someone please explain what this basis represents.  Assuming that I am either randomly selecting my inputs or have identified what cluster each input belongs to.  How can I translate this into a basis that is representative of that that (random or cluster).  What I am not sure of is what each row in the basis below means exactly.  In the example link why are there only 4 rows?

    // The basis
    Vector[] basis = new Vector[] {
      Vector.FromArray(new double[2] {0.2, 0.2}),
      Vector.FromArray(new double[2] {0.2, 0.8}),
      Vector.FromArray(new double[2] {0.8, 0.2}),
      Vector.FromArray(new double[2] {0.8, 0.8})

    Monday, August 12, 2013 5:45 PM


All replies