4
$\begingroup$

It may seem like a very basic question to the machine-learning fellows out there... but: I'm writing a paper on a computer-vision algorithm that identifies various events in time-lapse images of biological tissues. Among other things, this algorithm has a binary weighted-KNN (wKNN) classification step. The way I implemented it is the following:

Assume an initial dataset of many unlabeled examples,

  1. Label manually several 'true' and several 'false' examples.
  2. Let the wKNN classifier classify the rest of the dataset.
  3. In case of need - correct the labeling of the classifier by manually labeling several erroneously labeled examples (i.e. add these examples to the training set), and call the wKNN classifier again with the updated training set (i.e. go back to step #2).

Importantly, it's expected that every time / most of the time when I'll classify new data with this classifier, there will be some corrections to make (i.e. updates of the training set). This is contrary to situations in which you train the classifier once and just apply it on new data without trying to improve it.

The question is: is there a keyword / a name to this iterative / neverending process I could use in the paper that would save me these 10 lines of explanation and make it easier to people from the field?

$\endgroup$
  • $\begingroup$ Accuracy that increases with further training. $\endgroup$ – Carl Jul 27 '18 at 20:36
  • 1
    $\begingroup$ Thanks @Carl , this is a very clear and concise description of the process, but based on a google search I'm not sure that this is a familiar keyword or name to the process... do you think there's a similar method with a name I could refer to? $\endgroup$ – Tomer Jul 27 '18 at 20:41
  • $\begingroup$ Gee, I don't know if you are training it, or it is training you. You are doing something like training by iterative operator intervention, or, Iterative Knowledge Refinement. $\endgroup$ – Carl Jul 29 '18 at 4:51
2
$\begingroup$

Active Learning. This is where you have some algorithm that, based on a model, and data so far, identifies what should be the next points to label.

It's also somewhere related to semi-supervised learning. This is where you have a bunch of data points, some of which have labels. The semi-supervised learning attempts to generalize the labels from the labelled points to at least some of the unlabelled points.

$\endgroup$
  • $\begingroup$ Well, in the current state of my algorithm the mechanism is so simple that I'm actually not even sure it qualifies as active learning... after classifying the new points it only sorts all 'true' ones and all 'false' ones based on an independent scoring system (not based on the classification method - but that is nevertheless correlated with the likelihood of being 'true'), wherein points that are less likely to be classified correctly are at the bottom of the lists, without identifying what should be the next point to label. But perhaps I should shift to 'real' active learning! Many thanks! $\endgroup$ – Tomer Jul 28 '18 at 13:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.