Сеть радиальных базисных функций

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

(Различия между версиями)
Перейти к: навигация, поиск
Строка 2: Строка 2:
кой пространства X. <br /> <br />
кой пространства X. <br /> <br />
Гауссиан <tex>p_j(x) = N(x; \mu _j ,\Sigma _j)</tex> с диагональной матрицей <tex>\Sigma _j</tex> можно записать в виде <br /> <br />
Гауссиан <tex>p_j(x) = N(x; \mu _j ,\Sigma _j)</tex> с диагональной матрицей <tex>\Sigma _j</tex> можно записать в виде <br /> <br />
-
<tex>~p_j(x) = N_j exp(-1/2 \rho ² _j (x, \mu _j)</tex> <br /> <br />
+
<tex>~p_j(x) = N_j exp(-1/2 \rho _j (x, \mu _j)</tex> <br /> <br />
-
где <tex>N_j = (2\pi)^ {-n/2)(\sigma _{j1} \sigma _{jn})^{-1}</tex> — нормировочный множитель,<br />
+
где <tex>N_j = (2\pi)^ {-n/2)(\sigma _{j1}, \dots ,\sigma _{jn})^{-1}</tex> — нормировочный множитель,<br />
<tex>\rho _j(x, x')</tex> — взвешенная евклидова метрика в n-мерном пространстве X:<br />
<tex>\rho _j(x, x')</tex> — взвешенная евклидова метрика в n-мерном пространстве X:<br />
-
<tex>~\rho ² (x, x') = \Sigma ^n _{d = 1} \sigma ^{-2} _{jd} |\xi _d — \xi _d '| ²</tex>, <br />
+
<tex>~\rho (x, x') = \sum ^n _{d = 1} \sigma ^{-2} _{jd} |\xi _d - \xi _d '| </tex>, <br />
<tex> x = (\xi _1, . . . ,\xi _n), x' = (\xi _1 ', . . . , \xi _n')</tex>. <br /> <br />
<tex> x = (\xi _1, . . . ,\xi _n), x' = (\xi _1 ', . . . , \xi _n')</tex>. <br /> <br />
-
Чем меньше расстояние <tex>\rho _j(x, \mu _j)</tex>, тем выше значение плотности в точке x. По-
+
Чем меньше расстояние <tex>\rho _j(x, \mu _j)</tex>, тем выше значение плотности в точке x. Поэтому плотность <tex>p _j(x)</tex> можно рассматривать как функцию близости вектора x к фиксированному центру <tex>\mu _j</tex>. <br />
-
этому плотность <tex>p _j(x)</tex> можно рассматривать как функцию близости вектора x к фик-
+
__TOC__
-
сированному центру <tex>\mu _j</tex> .
+
-
 
+
== Сеть радиальных базисных функций ==
== Сеть радиальных базисных функций ==
-
Пусть теперь <tex>Y = {1, . . . ,M}</tex>, каждый класс <tex>y \in Y</tex> имеет свою плотность
+
Пусть <tex>Y = {1, . . . ,M}</tex>, каждый класс <tex>y \in Y</tex> имеет свою плотность
распределения <tex>p_y(x)</tex> и представлен частью выборки <tex>X ^l _y = \{(x_i, y_i) \in X ^l | y_i = y \}</tex>. <br /> <br />
распределения <tex>p_y(x)</tex> и представлен частью выборки <tex>X ^l _y = \{(x_i, y_i) \in X ^l | y_i = y \}</tex>. <br /> <br />
-
'''Гипотеза''' <br />
+
===Гипотеза===
Функции правдоподобия классов <tex>p_y(x), y \in Y</tex> , представимы в виде
Функции правдоподобия классов <tex>p_y(x), y \in Y</tex> , представимы в виде
смесей <tex>k_y</tex> компонент. Каждая компонента имеет n-мерную гауссовскую плотность
смесей <tex>k_y</tex> компонент. Каждая компонента имеет n-мерную гауссовскую плотность
с параметрами <br />
с параметрами <br />
-
<tex>\mu _{yj} = (\mu _{yj1}, \dots , \mu _{yjn}), \Sigma _{yj} = diag(\sigma ² _{yj1}, \dots , \sigma ² _{yjn})</tex> <br />
+
<tex>\mu _{yj} = (\mu _{yj1}, \dots , \mu _{yjn}), \Sigma _{yj} = diag(\sigma _{yj1}, \dots , \sigma _{yjn})</tex> <br />
<tex>j = 1, . . . , k_y</tex>:<br /><br />
<tex>j = 1, . . . , k_y</tex>:<br /><br />
<tex> p_y(x) = \sum ^{k _y} _{j = 1} \omega _{yj} p _{yj}(x), </tex>
<tex> p_y(x) = \sum ^{k _y} _{j = 1} \omega _{yj} p _{yj}(x), </tex>
<tex>p_{yj}(x) = N(x; \mu _{yj} ,\Sigma _{yj}), </tex>
<tex>p_{yj}(x) = N(x; \mu _{yj} ,\Sigma _{yj}), </tex>
-
<tex> \Sigma ^{k_y} _{j = 1} \omega _{yj} = 1, \omega _{yj} > 0 ;</tex> <br /> <br />
+
<tex> \Sigma ^{k_y} _{j = 1} \omega _{yj} = 1, \omega _{yj} > 0;</tex> <br /> <br />
-
'''Алгоритм классификации'''<br />
+
===Алгоритм классификации===
Запишем байесовское решающее правило, выразив плотность каждой компоненты <tex>p_{yj}(x)</tex> через взвешенное евклидово расстояние от объекта x до центра компоненты <tex>\mu _{yj}</tex> :<br /><br />
Запишем байесовское решающее правило, выразив плотность каждой компоненты <tex>p_{yj}(x)</tex> через взвешенное евклидово расстояние от объекта x до центра компоненты <tex>\mu _{yj}</tex> :<br /><br />
-
<tex>a(x) = argmax _{y \in Y} \lambda _y P _y \sum ^{k_y} _{j = 1} N _{yj} exp(-1/2 \rho ² _{yj} (x, \mu _{yj}))</tex> <br /> <br />
+
<tex>a(x) = argmax _{y \in Y} \lambda _y P _y \sum ^{k_y} _{j = 1} N _{yj} exp(-1/2 \rho _{yj} (x, \mu _{yj}))</tex> <br /> <br />
где <tex>N _{yj} = (2\pi)^{-n/2} (\sigma _{yj1},\dots , \sigma _{yjn})^{-1}</tex> — нормировочные множители. Алгоритм имеет вид
где <tex>N _{yj} = (2\pi)^{-n/2} (\sigma _{yj1},\dots , \sigma _{yjn})^{-1}</tex> — нормировочные множители. Алгоритм имеет вид
суперпозиции, состоящей из трёх уровней или слоёв.<br />
суперпозиции, состоящей из трёх уровней или слоёв.<br />
 +
[[Изображение:NS.JPG]] <br />
Первый слой образован <tex>k_1 + \dots+ k_M</tex> гауссианами <tex>p_{yj}(x), y \in Y , j = 1, \dots, k_y</tex>.
Первый слой образован <tex>k_1 + \dots+ k_M</tex> гауссианами <tex>p_{yj}(x), y \in Y , j = 1, \dots, k_y</tex>.
На входе они принимают описание объекта x, на выходе выдают оценки близости
На входе они принимают описание объекта x, на выходе выдают оценки близости
Строка 47: Строка 46:
<tex>p_y(x)</tex> с помощью EM-алгоритма. Результатом обучения являются центры <tex>\mu _{yj}</tex> и дис-
<tex>p_y(x)</tex> с помощью EM-алгоритма. Результатом обучения являются центры <tex>\mu _{yj}</tex> и дис-
персии <tex>\Sigma _{yj}</tex> компонент <tex>j = 1, . . . , k_y</tex>. Интересно отметить, что, оценивая дисперсии,
персии <tex>\Sigma _{yj}</tex> компонент <tex>j = 1, . . . , k_y</tex>. Интересно отметить, что, оценивая дисперсии,
-
мы фактически подбираем метрики <tex>\rho _{yj}</tex> , с помощью которых будут вычисляться рас-стояния до центров <tex>\mu _{yj}</tex> . При использовании Алгоритма 1.4 для каждого класса определяется оптимальное число компонент смеси.
+
мы фактически подбираем метрики <tex>\rho _{yj}</tex> , с помощью которых будут вычисляться рас-стояния до центров <tex>\mu _{yj}</tex> . При использовании Алгоритма 1.4 для каждого класса определяется оптимальное число компонент смеси.<ref>{{книга |автор = Воронцов К.В. |заглавие = Лекции по метрическим алгоритмам классификации | ссылка = http://www.machinelearning.ru/wiki/images/9/9d/Voron-ML-Metric.pdf}}</ref>
 +
 
 +
== Литература ==
 +
<references/>

Версия 20:37, 5 января 2010

Радиальные функции — это функции f(x), зависящие только от расстояния между x и фиксированной точ- кой пространства X.

Гауссиан p_j(x) = N(x; \mu _j ,\Sigma _j) с диагональной матрицей \Sigma _j можно записать в виде

~p_j(x) = N_j exp(-1/2 \rho  _j (x, \mu _j)

где N_j = (2\pi)^ {-n/2)(\sigma _{j1}, \dots ,\sigma _{jn})^{-1} — нормировочный множитель,
\rho _j(x, x') — взвешенная евклидова метрика в n-мерном пространстве X:
~\rho (x, x') = \sum ^n _{d = 1} \sigma ^{-2} _{jd} |\xi _d - \xi _d '| ,
 x = (\xi _1, . . . ,\xi _n), x' = (\xi _1 ', . . . , \xi _n').

Чем меньше расстояние \rho _j(x, \mu _j), тем выше значение плотности в точке x. Поэтому плотность p _j(x) можно рассматривать как функцию близости вектора x к фиксированному центру \mu _j.

Содержание

Сеть радиальных базисных функций

Пусть Y = {1, . . . ,M}, каждый класс y \in Y имеет свою плотность распределения p_y(x) и представлен частью выборки X ^l _y = \{(x_i, y_i) \in X ^l | y_i = y \}.

Гипотеза

Функции правдоподобия классов p_y(x), y \in Y , представимы в виде смесей k_y компонент. Каждая компонента имеет n-мерную гауссовскую плотность с параметрами
\mu _{yj} = (\mu _{yj1}, \dots , \mu _{yjn}), \Sigma _{yj} = diag(\sigma  _{yj1}, \dots , \sigma  _{yjn})
j = 1, . . . , k_y:

 p_y(x) = \sum ^{k _y} _{j = 1} \omega _{yj} p _{yj}(x), p_{yj}(x) = N(x; \mu _{yj} ,\Sigma _{yj}),  \Sigma ^{k_y} _{j = 1} \omega _{yj} = 1, \omega _{yj} > 0;

Алгоритм классификации

Запишем байесовское решающее правило, выразив плотность каждой компоненты p_{yj}(x) через взвешенное евклидово расстояние от объекта x до центра компоненты \mu _{yj} :

a(x) = argmax _{y \in Y} \lambda _y P _y \sum ^{k_y} _{j = 1} N _{yj} exp(-1/2 \rho  _{yj} (x, \mu _{yj}))

где N _{yj} = (2\pi)^{-n/2} (\sigma _{yj1},\dots , \sigma _{yjn})^{-1} — нормировочные множители. Алгоритм имеет вид суперпозиции, состоящей из трёх уровней или слоёв.
Изображение:NS.JPG
Первый слой образован k_1 + \dots+ k_M гауссианами p_{yj}(x), y \in Y , j = 1, \dots, k_y. На входе они принимают описание объекта x, на выходе выдают оценки близости объекта x к центрам \mu _{yj} , равные значениям плотностей компонент в точке x.
Второй слой состоит из M сумматоров, вычисляющих взвешенные средние этих оценок с весами w_{yj} . На выходе второго слоя появляются оценки принадлежности объекта x каждому из классов, равные значениям плотностей классов p_{yj}(x).
Третий слой образуется единственным блоком argmax, принимающим окончательное решение об отнесении объекта x к одному из классов.
Таким образом, при классификации объекта x оценивается его близость к каж- дому из центров \mu _{yj} по метрике \rho _{yj}(x, \mu _{yj}), j = 1, \dots, k_y. Объект относится к тому классу, к чьим центрам он располагается ближе.

Описанный трёхуровневый алгоритм классификации называется сетью c радиальными базисными функциями или RBF-сетью (radial basis function network). Это одна из разновидностей нейронных сетей.

Обучение RBF-сети

Обучение сводится к восстановлению плотности каждого из классов p_y(x) с помощью EM-алгоритма. Результатом обучения являются центры \mu _{yj} и дис- персии \Sigma _{yj} компонент j = 1, . . . , k_y. Интересно отметить, что, оценивая дисперсии, мы фактически подбираем метрики \rho _{yj} , с помощью которых будут вычисляться рас-стояния до центров \mu _{yj} . При использовании Алгоритма 1.4 для каждого класса определяется оптимальное число компонент смеси.[1]

Литература

Личные инструменты