locked
Is there a function or method in infer.net that will let me Calculate Basis Vectors from Training data (By using K-means or some other clustering algorithm?) when using Gaussian Process Classifier RRS feed

  • Question

  • Is there a function or method in infer.net that will let me Calculate  Basis Vectors from Training data (By using K-means or some other clustering algorithm?) when using Gaussian Process Classifier? If not any suggestions..?



    Sunday, July 22, 2012 5:29 AM

All replies

  • If you look at the tail-end of http://social.microsoft.com/Forums/en-US/infer.net/thread/1be040b0-5466-487b-93e8-d2058241a33b you will see some discussion on this. To quote from Tom Minka:

    "You should be using K-means to find the basis, not a Gaussian mixture model.  Fitting a Gaussian mixture model is not a good method for finding a GP basis, for the same reason that GMMs are not good for vector quantization.  To take an extreme example, suppose the data are generated by a single Gaussian.  Then a correctly-fitted GMM will model this data with a single Gaussian, making all means the same or deleting most of the components.  This is a correct model, but a poor GP basis. For a GP basis, you want K representative and separated points from the dataset.  K-means is designed to do this."

    K-means is a very trivial algorithm to implement directly in C# and there is no support for it in Infer.NET.

    John

    Monday, July 23, 2012 1:48 PM
    Owner