How to use other kernels in Bayes Point Machine (Migrated from community.research.microsoft.com) RRS feed

  • Question

  • skov posted on 05-03-2010 8:01 AM

    Hello! I did a little program to analyze Bayes Point Machine.


    Red and blue points represents training set: red point for true and blue point for false. When train set is linearly disjoin it works fine. But for a train set which is not linearly disjoin it is not. For example: result: 

    As I understand I should change standard InnerProduct with some other kernel function. Is it possible to use other kernels (for example (<a,b>)^2) in Infer.net?

    Friday, June 3, 2011 5:41 PM


  • minka replied on 05-04-2010 7:32 AM

    Infer.NET does not provide kernels, however you can simulate kernels using random feature expansion (Rahimi & Recht, "Random features for
    large-scale kernel machines", NIPS 2007).  This technique replaces the kernel trick by mapping the data into a randomized feature space with finite dimension, such that the inner product of two randomly mapped data points is approximately the same as the value of a kernel function evaluated at the two data points. As a result, you obtain a random feature based classifier approximately equivalent to the kernelized classifier.  Infer.NET does not automatically perform random feature expansion so you will have to write the code to generate these features, but the code should be quite simple.

    Friday, June 3, 2011 5:41 PM