Функции радиального базиса (пример)
Материал из MachineLearning.
Ostralex (Обсуждение | вклад)
(Новая: Функция радиального базиса - функция, значение которой зависит только от нормы аргумента. RBF исполь...)
К следующему изменению →
Версия 19:37, 26 мая 2009
Функция радиального базиса - функция, значение которой зависит только от нормы аргумента. RBF используются в метрических алгоритмах классификации, в частности в методе потенциальных функций, который (в упрощенном виде) рассматривается в этой статье.
Содержание |
Постановка задачи
Задана выборка , в которой описание каждого объекта является вектором . Метки классов принадлежат множеству . Считается, что каждый объект выборки имеет некоторый «заряд» и создает в пределах окрестности потенциал, вид которого определяется функцией радиального базиса . Таким образом, суммарный потенциал в точке определяется по формуле:
Знак этого потенциала определяет класс объекта , т.е. классификатор . Требуется оптимизировать значения параметров , .
Алгоритм отыскания оптимальных параметров
Считается, что радиусы всех потенциалов равны между собой ( ), функция радиального базиса — гауссиана . Переменные и являются структурными параметрами метода. Заряды настраиваются согласно алгоритму:
- положить .
- повторять
- выбрать случайный элемент из выборки
- если то
- пока не выполнен критерий останова
Используются следующие критерии останова алгоритма:
- Ограничение на максимальное количество итераций.
- Доля ошибок на обучающей выборке — если , то алгоритм останавливается. является структурным параметром метода.
- В качестве развития предыдущего пункта — процент ошибок на тестовой выборке , которая
выделяется из обучающей заранее случайным образом. Доля объектов, которые войдут в тестовую выборку, задается извне.
Поскольку подсчет доли ошибок — весьма трудоемкий процесс, то рационально выполнять его не в каждой итерации алгоритма. Частоту проверок можно изменять извне.
Вычислительный эксперимент
Для проверки работоспособности алгоритма использовались наборы реальных и синтетических данных.
1) Реальные данные
В качестве реальных данных использовались данные о сортах ирисов, собранные Фишером. Обучающая выборка состояла из 100 объектов (по 50 объектов каждого из двух классов), обладающих четырьмя вещественными признаками. При использовании всех четырех признаков алгоритм показал очень хороший результат, неправильно классифицировав три объекта. При использовании только первых двух признаков классы глубоко проникают друг в друга; алгоритм работает значительно хуже, неправильно классифицируя около 25 объектов.
По осям графиков отложены значения признаков. Точки — объекты, цвет точек обозначает принадлежность к тому или иному классу; цвет кружков вокруг точек — результат работы алгоритма.
Во втором случае возможно нарисовать трехмерный график, изображающий потенциал в различных точках пространства признаков:
2) Синтетические данные
Синтетические данные представляли собой объекты с двумя признаками из нескольких кластеров. В пределах каждого из кластеров признаки имели нормальное распределение. В зависимости от числа кластеров и параметров распределения задача классификации представляла разную сложность.
baseL = 200; %average number of objects in clusters X = []; y = []; L = 0; CLUSTERS = 5; %number of clusters for cl=1:CLUSTERS alpha = 0.5 + rand; L2 = floor(baseL*alpha); %number of objects in the cluster sigma = 1 + 1.5*rand; %variance of feature values dist = 3 + 5*rand; %distance to the (0, 0) point v = repmat(... dist * [sin(2*pi*rand) cos(2*pi*rand)], ... [L2, 1]); %random vector between (0, 0) and the center of the cluster X2 = sigma * randn(L2, 2) + v; %objects in cluster label = sign(rand-0.5); %choosing class of objects if (label == 0) label = 1; end X = [X; X2]; y = [y; repmat(label, [L2, 1])]; L = L + L2; %L is total number of objects end
2.1) Легкий случай
Объекты формируют два кластера со слабым взаимным проникновением. Качество классификации хорошее (меньше 5% неправильно определенных меток классов).
2.2) Промежуточный случай
Объекты составляют пять кластеров с существенным проникновением. Неправильно классифицировано около 8% объектов.
2.3) Сложный случай
Объекты составляют восемь кластеров с сильным проникновением друг в друга. Неправильно классифицировано около 13% объектов.
Исходный код
[1] rbflearn.m, rbfmdl.m (реализация алгоритма); demo_iris.m, demo_synth1.m, demo_synth2.m (вычислительный эксперимент)
Смотри также
- Эта статья в формате PDF
- Метрический классификатор
- Классификация
- Численные методы обучения по прецедентам (практика, В.В. Стрижов)
Литература
- К. В. Воронцов. Лекции по метрическим алгоритмам классификации.
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |