Метод потенциальных функций

Материал из MachineLearning.

Перейти к: навигация, поиск
Данная статья является непроверенным учебным заданием.
Студент: Участник:osa
Преподаватель: Участник:Константин Воронцов
Срок: 25 января 2010

До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}.

См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.


Метод потенциальных функций - метрический классификатор, частный случай метода ближайших соседей.


Введение

Общая идея метода иллюстрируется на примере электростатического взаимодействия элементарных частиц. Известно, что потенциал электрического поля элементарной заряженной частицы в некоторой точке пространства пропорционален отношению заряда частицы (Q) к расстоянию до частицы (r): \varphi(r) \sim \frac{Q}{r}

Основная формула

w(i,u)=\gamma(x_u^{(i)}) K \left(\frac{\rho(u,x_u{(i)})}{h(x_u{(i)})}\right), где

  • K(r) = \frac{1}{r+a} – потенциальная функция. Константа a вводится чтобы избежать проблем с делением на ноль и берётся произвольно (например, a=1).
  • \rho(u,x_u{(i)}) – расстояние от объекта u до i-того ближайшего к u объекта – x_u^{(i)}.
  • \gamma(x_u^{(i)}) – параметр;
  • h(x_u{(i)}) – параметр.

Вопрос о выборе параметров (их 2l). Необходимо обучать их по выборке.


Выбор параметров

Как мы уже заметили, в основной формуле метода потенциальных функций используются две группы параметров:

Ниже приведён алгоритм, который позволяет «обучать» параметры (\gamma(x_1), \dots, \gamma(x_n)), то есть подбирать их значения по обучающей выборке X^l.

Вход: Обучающая выборка из l объектов – X^l. 
Выход: Значения параметров \gamma_i \equiv \gamma(x_i) для i=\overline{1,l}

1. Начало. Инициализация: \gamma_i:=0 для всех i=\overline{1,l};
2. Повторять {
3. Выбрать очередной объект x_i из выборки X^l;
4. Если a(x_i) \not= y_i, то \gamma_i:=\gamma_i+1;
5. } пока Q(a,X^l) > \varepsilon (то есть пока процесс не стабилизируется).
Личные инструменты