Advanced settings for the IBayesPointMachineClassifier RRS feed

  • Question

  • I wonder how could I configure settings such as the following for an IBayesPointMachineClassifier classifier:

    • Changing the added noise to the inner product of the BPM;
    • Adding custom prior weights (An indirect solution would be to do an incremental learning, which the first iteration derived without mapping);
    • Change the inference engine (excluding the BPM);
    • Using sparse variables.
    If it is not possible; how can I use handy functions inside classifiers, such as LogModelEvidence without mapping?

    • Edited by Nic_M_M Monday, October 12, 2015 3:41 PM adding additional question
    Monday, October 12, 2015 3:27 PM


  • Hi Nic,

    • The added noise to the inner product scales with the priors of the weights. So you can tune the prior variance instead of the noise. However, as explained in Assumption 5 here, the version of the BPM shipped with Infer.NET has very flexible priors. This should allow for data of various noise levels to be successfully processed by the classifier, and therefore you shouldn't need to change the added noise.
    • See above.
    • The BPM uses pre-compiled inference algorithms, and therefore exposing the inference engine settings doesn't make sense.
    • I assume that by "sparse variables" you mean "sparse features". If so, this is indeed supported. Look at the GetFeatures paragraph here.

    Note that the intent of the BPM learner is to provide out-of-the-box experience for the end user. If you want to dig deeper into the model and play with the inference algorithm, then you're better off either modifying the code of the learner or writing a BPM on your own.


    Tuesday, October 13, 2015 3:31 PM