На данный момент реализована библиотека libVMR на Java для решения стандартной задачи машинного обучения в области бинарной классификации:
Структура векторной машины выглядит так:- Имеется выборка с примерами и ответами на них.
- Необходимо по выборке получить адекватную модель бинарной классификации.
- Первоначально информация, из которой необходимо будет построить модель для бинарного классификатора, храниться в файле в формате CSV.
- C помощью Парсера можно выбрать файл и преобразовать его в двумерный числовой массив, где строки массива - это примеры, а ячейки каждой строки - объясняющие переменные (начальные ячейки) и одна независимая переменная (последняя ячейка)
- Двумерный массив с числовыми данными подается на вход векторной машины VMR
- Сначала массив поступает в Сепаратор, задачей которого разбить строки на две части: обучающую и контрольную.
- Обучающая часть выборки передаётся в Нормировщик, целью которого преобразовать все числа к диапазону от -1 до 1 включительно.
- Нормированные данные поступают в Ядерную машину, где из различных комбинаций объясняющих переменных происходит формирование членов для полинома математической модели.
- В конечном итоге, члены полинома передаются Векторной машине, задачей которой является подбор коэффициентов для них. В результате чего, на выходе векторной машины получается математическая модель бинарного классификатора в виде готового полинома
- Однако полученная в векторной машине модель не вовсе не обязательно будет пригодной для прикладного применения. Чтобы проверить её на пригодность, необходимо выяснить обобщающую способность модели, Для этой цели предусмотрен Тестер. Тестер берёт модель и проверяет её результативность на контрольной части выборки, ранее полученной путем разделения общих данных в Сепараторе.
Собственно решение задачи бинарной классификации делится на несколько этапов:
1. Выбор предметной области, в рамках которой будут проводиться исследования.
2. Сбор информации — генеральная выборка
3. Анализ информации — машинное обучение с целью построения модели на одной части выборки (обучающая часть) с последующей проверкой на второй части выборки (контрольная часть).
4. Принятие решения о том, подходит ли построенная модель для прикладного решения задачи или необходимо продолжить исследования в данной области.
Для того, чтобы решать задачу по п. 3 и п. 4, необходим инструмент. Его реализация указана ниже.
Имея собранные согласно п. 2, информационные данные для решаемой задачи размещаются в электронной таблице в формате CSV.
После того, как приложение с графическим интерфейсом запущено, можно загрузить информацию в приложение, воспользовавшись пунктом меню File > Open. После загрузки данных, сразу же запускается процесс предобработки и машинного обучения — построения модели на одной части выборки. После завершения построения модели, она проверяется на второй части выборки и выдаются характеристики обобщающей способности (The quality of modeling): чувствительность(Sensitivity of generalization ability), специфичность (Specificity of generalization ability) и обобщающая способность (Generalization ability) в процентах.
Если характеристики обобщающей способности модели являются подходящими
для решения задачи, то готовую модель можно записать в текстовый файл,
воспользовавшись пунктом меню File > Save model. Сама модель
будет записана в файл в виде формул: нормирования входных данных и
формулы принятия решения, где зависимая переменная обозначена, как y.
Если значение в формуле принятия решения больше нулевого, то
распознаваемый объект принадлежит к классу в выборке со значением
зависимой переменной помеченной единицей. Если значение в формуле
принятия решения меньше нулевого, то объект принадлежит к классу со
значением в выборке значением зависимой переменной помеченной нулём.
Скачать свежую версию скомпилированного JAR архива для запуска
графического приложения, а также исходные коды библиотеки и приложения
можно на сайте: http://libvmr.sourceforge.net/
Юрий Решетов
Комментариев нет:
Отправить комментарий