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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Выбор параметров)
Строка 24: Строка 24:
== Выбор параметров ==
== Выбор параметров ==
-
Вход: Обучающая выборка <tex>X^l</tex>
+
Как мы уже заметили, в основной формуле метода потенциальных функций используются две группы параметров:
 +
* <tex>\gamma(x_i)</tex> – «потенциал» объекта <tex>x_i \in X^l</tex>, <tex>i=\overline{1,l}</tex>
 +
* <tex>h(x_i)</tex> – «ширина потенциала» объекта <tex>x_i \in X^l</tex>, <tex>i=\overline{1,l}</tex> – своеобразный аналог ширины окна в [[Метод парзеновского окна|методе парзеновского окна]].
-
Выход: «Заряды» объектов
+
Ниже приведён алгоритм, который позволяет «обучать» параметры <tex>(\gamma(x_1), \dots, \gamma(x_n))</tex>, то есть подбирать их значения по обучающей выборке <tex>X^l</tex>.
-
 
+
Вход: Обучающая выборка из <tex>l</tex> объектов – <tex>X^l</tex>. <br />
-
* Инициализация <tex>\gamma_i:=0, i=\overline{1,l}</tex>;
+
Выход: Значения параметров <tex>\gamma_i \equiv \gamma(x_i)</tex> для <tex>i=\overline{1,l}</tex> <br /> <br />
-
* Повторять:
+
1. Начало. Инициализация: <tex>\gamma_i:=0</tex> для всех <tex>i=\overline{1,l}</tex>; <br />
-
* Выбрать очередной объект <tex>x_i \in X^l</tex>;
+
2. Повторять {<br />
-
* Если <tex>a(x_i) \not= y_i</tex>, то <tex>\gamma_i:=\gamma_i+1</tex>;
+
3. Выбрать очередной объект <tex>x_i</tex> из выборки <tex>X^l</tex>;<br />
-
* пока <tex>Q(a,X^l) > \varepsilon</tex>
+
4. Если <tex>a(x_i) \not= y_i</tex>, то <tex>\gamma_i:=\gamma_i+1</tex>;<br />
 +
5. } пока <tex>Q(a,X^l) > \varepsilon</tex> (то есть пока процесс не стабилизируется).<br />

Версия 11:06, 3 января 2010

Данная статья является непроверенным учебным заданием.
Студент: Участник: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 (то есть пока процесс не стабилизируется).