Реализация

На данный момент реализована библиотека libVMR на Java для решения стандартной задачи машинного обучения в области бинарной классификации:

  • Имеется выборка с примерами и ответами на них.
  • Необходимо по выборке получить адекватную модель бинарной классификации.

Структура векторной машины выглядит так:


  1. Первоначально информация, из которой необходимо будет построить модель для бинарного классификатора, храниться в файле в формате CSV.
  2. C помощью Парсера можно выбрать файл и преобразовать его в двумерный числовой массив, где строки массива - это примеры, а ячейки каждой строки - объясняющие переменные (начальные ячейки) и одна независимая переменная (последняя ячейка)
  3. Двумерный массив с числовыми данными подается на вход векторной машины VMR
    1. Сначала массив поступает в Сепаратор, задачей которого разбить строки на две части: обучающую и контрольную.
    2. Обучающая часть выборки передаётся в Нормировщик, целью которого преобразовать все числа к диапазону от -1 до 1 включительно.
    3. Нормированные данные поступают в Ядерную машину, где из различных комбинаций объясняющих переменных  происходит формирование членов для полинома математической модели.
    4. В конечном итоге, члены полинома передаются Векторной машине, задачей которой является подбор коэффициентов для них. В результате чего, на выходе векторной машины получается математическая модель бинарного классификатора в виде готового полинома
  4. Однако полученная в векторной машине модель не вовсе не обязательно будет пригодной для прикладного применения. Чтобы проверить её на пригодность, необходимо выяснить обобщающую способность модели, Для этой цели предусмотрен Тестер. Тестер берёт модель и проверяет её результативность на контрольной части выборки, ранее полученной путем разделения общих данных в Сепараторе.

Юрий Решетов