Solved – How to assess performance of a semi-supervised learning method

machine learningmodel-evaluationprecision-recallrocsemi-supervised-learning

I'm working with a semi-supervised learning task, where I only have positive and unlabelled data (PU learning).

I've tested a few algorithms and would like to assess their performance.

For supervised learning, I normally use:

  1. Misclassification error
  2. Accuracy
  3. ROC curves

to assess performance.

However, since I only have positive and unlabelled data in my training and validation sets I'm not sure these metrics make sense.

What metrics can I use to properly assess the performance of a semi-supervised learning method?

Best Answer

We have addressed this problem in Assessing binary classifiers using only positive and unlabeled data. Specifically, we show how to compute strict bounds on any metric based on contingency tables (accuracy, precision, ROC/PR curves, ...). Our work was accepted by all reviewers at this year's NIPS conference, but then rejected by the editor for lack of significance (go figure). We will submit it to the upcoming KDD.

Our approach is based on the reasonable assumption that known positives are sampled completely at random from all positives. If you can't rely on this assumption, any form of performance evaluation is infeasible. Additionally, we require an estimate of the fraction of positives in the unlabeled set, which you can often acquire via domain knowledge or by explicitly obtaining labels for a small, random subset of the unlabeled set.

Related Question