Метод потенциальных функций
Материал из MachineLearning.
(дополнение, формулы, ссылки, стилевые правки) |
м (→Основная формула) |
||
Строка 23: | Строка 23: | ||
== Основная формула == | == Основная формула == | ||
- | Перенумеруем объекты обучающей выборки <tex>x_i \in X^l</tex> относительно удаления от объекта <tex>u</tex> индексами <tex>x_u^{p}</tex> (<tex>p=\overline{1,l}</tex>) | + | Перенумеруем объекты обучающей выборки <tex>x_i \in X^l</tex> относительно удаления от объекта <tex>u</tex> индексами <tex>x_u^{p}</tex> (<tex>p=\overline{1,l}</tex>) — то есть таким образом, что <tex>\rho(u,x_u^{(1)}) \leq \rho(u,x_u^{(2)}) \leq \dots \leq \rho(u,x_u^{(l)})</tex>. |
В общем виде, [[алгоритм]] [[Метод ближайших соседей|ближайших соседей]] есть: | В общем виде, [[алгоритм]] [[Метод ближайших соседей|ближайших соседей]] есть: | ||
- | ::<tex>a(u) = \mathrm{arg}\max_{y\in Y} \sum_{i=1}^m \bigl[ x_{i; u}=y \bigr] w(i,u)</tex>, где <tex>w(i,u)</tex> | + | ::<tex>a(u) = \mathrm{arg}\max_{y\in Y} \sum_{i=1}^m \bigl[ x_{i; u}=y \bigr] w(i,u)</tex>, где <tex>w(i,u)</tex> — ''мера «важности»'' (''вес'') объекта <tex>x_u^{(i)}</tex> из [[Выборка|обучающей выборки]] относительно классифицируемого объекта <tex>u</tex>. |
'''Метод потенциальных функций''' заключается в выборе в качестве <tex>w(i,u)</tex> весовой функции следующего вида: | '''Метод потенциальных функций''' заключается в выборе в качестве <tex>w(i,u)</tex> весовой функции следующего вида: | ||
:: <tex>w(i,u)=\gamma(x_u^{(i)}) K \left(\frac{\rho(u,x_u{(i)})}{h(x_u{(i)})}\right)</tex>, где | :: <tex>w(i,u)=\gamma(x_u^{(i)}) K \left(\frac{\rho(u,x_u{(i)})}{h(x_u{(i)})}\right)</tex>, где | ||
- | * <tex>K(r) = \frac{1}{r+a}</tex> | + | * <tex>K(r) = \frac{1}{r+a}</tex> — функция, убывающая с ростом аргумента. Константа <tex>a</tex> нужна чтобы избежать проблем с делением на ноль. Для простоты обычно полагают <tex>a=1</tex>. |
- | * <tex>\rho(u,x_u{(i)})</tex> | + | * <tex>\rho(u,x_u{(i)})</tex> — расстояние от объекта u до i-того ближайшего к u объекта — <tex>x_u^{(i)}</tex>. |
- | * <tex>h(x_u{(i)})</tex> | + | * <tex>h(x_u{(i)})</tex> — параметр. Общий смысл — «ширина потенциала» объекта <tex>x_i \in X^l</tex>, <tex>\left(i=\overline{1,l}\right)</tex>. Вводится по аналогии с шириной окна в [[Метод парзеновского окна|методе парзеновского окна]]. |
- | * <tex>\gamma(x_u^{(i)})</tex> | + | * <tex>\gamma(x_u^{(i)})</tex> — параметр. Общий смысл — «заряд» или степень «важности» объекта <tex>x_i \in X^l</tex>, <tex>\left(i=\overline{1,l}\right)</tex> при классификации; |
== Выбор параметров == | == Выбор параметров == |
Версия 14:51, 6 января 2010
Метод потенциальных функций - метрический классификатор, частный случай метода ближайших соседей. Позволяет с помощью простого алгоритма оценивать вес («важность») объектов обучающей выборки при решении задачи классификации.
Содержание |
Постановка задачи классификации
Приведём краткую постановку задачи классификации в общем виде.
Пусть имеется пространство объектов и конечное множество классов . На множестве задана функция расстояния . Каждый объект из относится к некоторому классу из посредством отображения .
Пусть также задана обучающая выборка пар «объект—ответ»: .
Требуется построить алгоритм , который по заданной выборке аппроксимирует отображение .
Идея метода
Общая идея метода иллюстрируется на примере электростатического взаимодействия элементарных частиц. Известно, что потенциал («мера воздействия») электрического поля элементарной заряженной частицы в некоторой точке пространства пропорционален отношению заряда частицы (Q) к расстоянию до частицы (r): .
Метод потенциальных функций реализует полную аналогию указанного выше примера. При классификации объект проверяется на близость к объектам из обучающей выборки. Считается, что объекты из обучающей выборки «заряжены» своим классом, а мера «важности» каждого из них при классификации зависит от его «заряда» и расстояния до классифицируемого объекта.
Основная формула
Перенумеруем объекты обучающей выборки относительно удаления от объекта индексами () — то есть таким образом, что .
В общем виде, алгоритм ближайших соседей есть:
- , где — мера «важности» (вес) объекта из обучающей выборки относительно классифицируемого объекта .
Метод потенциальных функций заключается в выборе в качестве весовой функции следующего вида:
- , где
- — функция, убывающая с ростом аргумента. Константа нужна чтобы избежать проблем с делением на ноль. Для простоты обычно полагают .
- — расстояние от объекта u до i-того ближайшего к u объекта — .
- — параметр. Общий смысл — «ширина потенциала» объекта , . Вводится по аналогии с шириной окна в методе парзеновского окна.
- — параметр. Общий смысл — «заряд» или степень «важности» объекта , при классификации;
Выбор параметров
Как мы уже заметили, в основной формуле метода потенциальных функций используются две группы параметров: и .
«Ширина окна потенциала» выбирается для каждого объекта из эмпирических соображений.
«Важность» объектов выборки можно подобрать, исходя из информации, содержащейся в выборке. Ниже приведён алгоритм, который позволяет «обучать» параметры , то есть подбирать их значения по обучающей выборке .
Вход: Обучающая выборка из пар «объект-ответ» – .
Выход: Значения параметров для всех
1. Начало. Инициализация: для всех ;
2. Повторять {
2.1 Выбрать очередной объект из выборки ;
2.2 Если , то ;
3. } пока (то есть пока процесс не стабилизируется);
4. Вернуть значения для всех .
Преимущества и недостатки
Преимущества метода потенциальных функций:
- Метод прост для понимания и алгоритмической реализации;
- Порождает потоковый алгоритм;
- Хранит лишь часть выборки, следовательно, экономит память.
Недостатки метода:
- Порождаемый алгоритм медленно сходится;
- Параметры и настраиваются слишком грубо;
- Значения параметров зависят от порядка выбора объектов из выборки .
Замечания
Полученные в результате работы алгоритма значения параметров позволяют выделить из обучающей выборки подмножество эталонов – наиболее значимых с точки зрения классификации объектов. Как нетрудно видеть, теоретически на роль эталона подходит любой объект с ненулевой «значимостью» .
См. также
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |