This page present some benchmarks of Nieme. For the moment it only concerns binary classification on moderate-size datasets.
Binary Classification - Moderate-size datasets
The experiment described below compares several learning machines from Nieme with a baseline linear SVM.
Datasets
The datasets are classical binary classification datasets that can be found in the libSVM datasets. When a train/test split was provided we kept it, otherwise we did a random split of 50% training and 50% of testing data. Datasets with binary sparse features are processed directly, whereas we use the scaled version (features in [-1,1]) for other datasets.
Baseline computation
The baseline is a linear SVM with the libSVM implementation. For each dataset, we tried the values 0.001, 0.01, 0.1, 1.0, 10.0 and 100.0 for the parameter C, and kept the best result.
Nieme machines
The experiment compares several learning machines in Nieme:
- Online machines:
- Losses: Perceptron, LargeMargin, LogBinomial
- Learners: Stochastic Descent, MiniBatch Descent (mini batch sizes: 2, 5, 10, 20, 50, 100, 200, 500)
- Batch machines:
- Losses: LogBinomial, Exponential
- Learners: OWLQN, LBFGS, RProp
- Regularizers: None / Only L1 / Only L2 / Combined L1 and L2. For each regularizers we tried the weights 1e-8, 1e-7, 1e-6, 1e-5, 1e-4, 1e-3 and 0.01.
In all cases, the machines are based on a linear Architecture. These choices lead to a bit more than 400 differently parameterized learning machines.
Results
Each row of the table below corresponds to a dataset. We give the name of the dataset, the number of training and testing examples, the number of features, the best libSVM generalization accuracy with the corresponding parameter C, and the best Nieme's model generalization accuracy with its description.
Since we try much more models from Nieme than libSVM models, the former most-of-time outperforms the latter in accuracy. These results are only preliminary results and the aim is only to illustrate the variety of models that can be handled by Nieme.
More than 10.000 training examples
| dataset | train size | test size | features | best libSVM acc | best libSVM train time | best libSVM C | best Nieme acc | best Nieme train time | best Nieme machine |
| w8a | 49749 | 14951 | 300 | 98.68 % | 696.1 s | 1 | 98.74 % | 18.8 s | RProp LogBinomial l1=1e-07 |
| a9a | 32561 | 16281 | 123 | 85.01 % | 1753.7 s | 0.1 | 85.22 % | 10.1 s | OWLQN LogBinomial l1=0.0001 l2=0.0001 |
| w7a | 24692 | 25057 | 300 | 98.71 % | 427.9 s | 10 | 98.71 % | 8.0 s | OWLQN LogBinomial l1=1e-07 |
| w6a | 17188 | 32561 | 300 | 98.68 % | 183.4 s | 10 | 98.70 % | 6.8 s | RProp LogBinomial l1=1e-07 l2=1e-07 |
More than 1.000 training examples
| dataset | train size | test size | features | best libSVM acc | best libSVM train time | best libSVM C | best Nieme acc | best Nieme train time | best Nieme machine |
| w5a | 9888 | 39861 | 300 | 98.50 % | 22.1 s | 1 | 98.47 % | 3.9 s | RProp LogBinomial l1=1e-05 |
| a5a | 6414 | 26147 | 123 | 84.48 % | 56.0 s | 0.1 | 84.75 % | 2.0 s | OWLQN LogBinomial l1=1e-08 l2=1e-05 |
| w3a | 4912 | 44837 | 300 | 98.29 % | 5.4 s | 1 | 98.30 % | 2.3 s | RProp LogBinomial l1=1e-05 l2=1e-08 |
| a4a | 4781 | 27780 | 123 | 84.59 % | 25.6 s | 0.1 | 84.70 % | 1.5 s | LBFGS LogBinomial l1=0.0001 l2=0.0001 |
| mushrooms | 4062 | 4062 | 112 | 100.00 % | 4.5 s | 1 | 100.00 % | 2.0 s | RProp Exponential l1=0.0001 l2=1e-06 |
| w2a | 3470 | 46279 | 300 | 98.07 % | 3.0 s | 1 | 98.19 % | 1.1 s | RProp LogBinomial l1=0.0001 l2=1e-08 |
| a3a | 3185 | 29376 | 123 | 84.51 % | 8.8 s | 0.1 | 84.69 % | 0.9 s | RProp LogBinomial l1=1e-07 l2=0.001 |
| w1a | 2477 | 47272 | 300 | 97.74 % | 1.6 s | 1 | 97.91 % | 1.0 s | RProp LogBinomial l1=1e-07 l2=0.0001 |
| a2a | 2265 | 30296 | 123 | 84.61 % | 4.6 s | 0.1 | 84.70 % | 0.7 s | LBFGS LogBinomial l1=0.0001 l2=0.001 |
| a1a | 1605 | 30956 | 123 | 84.32 % | 2.3 s | 0.1 | 84.44 % | 1.0 s | OWLQN LogBinomial l1=0.0001 l2=1e-07 |
Small DataSets
| dataset | train size | test size | features | best libSVM acc | best libSVM train time | best libSVM C | best Nieme acc | best Nieme train time | best Nieme machine |
| german-number | 500 | 500 | 24 | 75.40 % | 1.8 s | 10 | 77.40 % | 0.1 s | OWLQN LogBinomial l1=0.01 l2=1e-08 |
| fourclass | 431 | 431 | 2 | 77.03 % | 0.1 s | 0.1 | 78.89 % | 0.4 s | Online LargeMargin (per 5 examples) |
| diabetes | 384 | 384 | 8 | 79.43 % | 0.1 s | 1 | 79.95 % | 0.1 s | OWLQN Exponential |
| australian | 345 | 345 | 14 | 88.12 % | 0.2 s | 10 | 88.12 % | 0.1 s | OWLQN Exponential l1=0.01 l2=1e-05 |
| breast-cancer | 342 | 341 | 10 | 96.48 % | 0.1 s | 1 | 95.89 % | 0.1 s | RProp LogBinomial l1=1e-06 l2=0.0001 |
| ionosphere | 176 | 175 | 33 | 88.57 % | 0.1 s | 1 | 89.71 % | 0.1 s | LBFGS LogBinomial l1=0.001 |
| liver-disorders | 173 | 172 | 6 | 67.44 % | 0.1 s | 100 | 68.60 % | 0.0 s | LBFGS LogBinomial l1=0.0001 l2=0.001 |
| heart | 135 | 135 | 13 | 85.93 % | 0.0 s | 0.1 | 86.67 % | 0.1 s | Online LargeMargin (per 50 examples) |
| sonar | 104 | 104 | 60 | 69.23 % | 0.1 s | 10 | 78.85 % | 0.0 s | LBFGS Exponential l1=1e-05 l2=0.0001 |
| leu | 38 | 34 | 7129 | 82.35 % | 1.9 s | 0.001 | 100.00 % | 2.7 s | OWLQN LogBinomial l1=1e-05 l2=1e-06 |
| duke | 38 | 48 | 7129 | 95.83 % | 2.1 s | 0.001 | 100.00 % | 1.1 s | LBFGS LogBinomial l1=1e-06 l2=1e-05 |
| colon-cancer | 31 | 31 | 2000 | 96.77 % | 0.2 s | 0.001 | 93.55 % | 0.5 s | OWLQN LogBinomial l1=0.001 l2=1e-06 |