Я выполняю двоичную классификацию с использованием vowpal-wabbit в режиме активного обучения.Проблема, с которой я сталкиваюсь, заключается в том, что vw запрашивает метки для каждой непомеченной точки, а не запрашивает метки для выбранных немаркированных точек.
Я использую python_interactor.py
, предоставленный на github для взаимодействия с vw.
vw запускается с использованием: vw --binary --active --mellowness 0.002 --port 6002
Python-интерактор запускается с использованием: python2.7 active_interactor.py -s bin_data_labeled.vw -v -m -o l_data.dat localhost 6002 bin_unlabeled_data.dat
Исходная модель успешно обучена с использованием данных посева, поскольку я вижу потерюпереходя к vw.
Я пробовал разные значения для --mellowness
, но они не имели никакого значения, vw по-прежнему запрашивался для каждой метки.Однако, когда значение --mellowness
установлено в 0, vw не запрашивает никаких меток.
Помеченные данные, используемые для заполнения, состоят из 10000 точек из 2 разных классов, которые являются линейно разделимыми:
1 | x:51.28409231880138 y:46.92756660369845
-1 | x:-48.486295771014056 y:-55.45979882935779
1 | x:52.52435367898945 y:53.6029027099795
-1 | x:-48.5889417743617 y:-47.072910705899204
...
Такие непомеченные логи данных выглядят так:
| x:52.31596341763021 y:49.88038142784985
| x:-44.431014259784746 y:-56.21971180440551
| x:-59.427242689872664 y:-38.770118455095044
| x:56.00353408899505 y:46.54085443492412
...
Пример вывода на Python-интеракторе:
request for example 0: tag="", prediction=1: | x:51.28409231880138 y:46.92756660369845
Provide? [0/1/skip]: 1
Я не могу понять, что происходит не так.Может кто-нибудь помочь, пожалуйста?