Infer.NET user guide : Learners : Bayes Point Machine classifiers : Command-line runners

Convergence diagnosis

The DiagnoseTrain module is used to assess the convergence of the message-passing algorithms used to train the Bayes Point Machine classifiers. It is available for both binary and multi-class classification. The DiagnoseTrain module reads a training set and produces a CSV file containing the differences in the posterior weight distributions, computed for a specified number of consecutive iterations of the training algorithm. When the training algorithm is converging, the differences will become smaller and smaller (see sample output below).

The DiagnoseTrain module has the following command-line arguments:

Required arguments

  • training-set: The file with training data containing ground truth labels and features in the format described earlier.

Optional arguments

  • results: The CSV file to which the weight distribution differences will be saved.
  • model: The file to which the trained Bayes Point Machine classifier will be saved.
  • iterations: The number of training algorithm iterations (defaults to 30).
  • batches: The number of batches into which the training data is split (defaults to 1).

For more information about the command-line arguments, see Settings. A more detailed explanation of training is available here.

Example

Learner Classifier BinaryBayesPointMachine DiagnoseTrain 
    --training-set training.dat --model trained-binary-bpm.bin 
    --results results.csv --iterations 500 --batches 1

Learner Classifier MulticlassBayesPointMachine DiagnoseTrain 
    --training-set training.dat --model trained-multiclass-bpm.bin 
    --results results.csv --iterations 500 --batches 1

Sample output

This is what gets written to the command-line window (console):

Data set contains 10000 instances, 2 classes and 5888 features.
[17:16:09] Starting training...
[17:16:10] Iteration 1      dp = 37641.0378952995       dt =   583ms
[17:16:10] Iteration 2      dp = 37616.6784075578       dt =   242ms
[17:16:10] Iteration 3      dp = 17.7014780451184       dt =   298ms
[17:16:10] Iteration 4      dp = 1.26924794894729       dt =   173ms
[17:16:11] Iteration 5      dp = 0.769664011372179      dt =   293ms
[17:16:11] Iteration 6      dp = 0.15651774182376       dt =   192ms
[17:16:11] Iteration 7      dp = 0.164699512014064      dt =   267ms
[17:16:11] Iteration 8      dp = 0.0835439679522345     dt =   228ms
[17:16:12] Iteration 9      dp = 0.068138911019533      dt =   288ms
[17:16:12] Iteration 10     dp = 0.0439520998092477     dt =   246ms
[17:16:12] Iteration 11     dp = 0.0322686108618166     dt =   341ms
[17:16:13] Iteration 12     dp = 0.0237455855736709     dt =   238ms
[17:16:13] Iteration 13     dp = 0.0175368057738852     dt =   282ms
[17:16:13] Iteration 14     dp = 0.0129868852183733     dt =   217ms
[17:16:13] Iteration 15     dp = 0.00964343919792277    dt =   292ms
[17:16:14] Iteration 16     dp = 0.0071772245476559     dt =   173ms
[17:16:14] Iteration 17     dp = 0.00535275621234321    dt =   233ms
                               .
                               .
                               .
©2009-2015 Microsoft Corporation. All rights reserved.  Terms of Use | Trademarks | Privacy Statement