Нейрокомпьютерные системы



              

Метод динамических ядер в классификации без учителя


Пусть задана выборка предобработанных векторов данных

\{x\}\subseteq E,E
- пространство векторов данных. Каждому классу будет соответствовать некоторое ядро
w \subseteq W,W
- пространство ядер.

Для любых

x \in E
и
w \in W
определим меру близости
d(x,w)
, а для каждого набора из
k
ядер
w_1, \ldots w_k
и любого разбиения
\{x\}
на
k
классов
\{x\}=P_1 \smile P_2 \smile \ldots \smile P_k

определим критерий качества

 \begin{equation} D=D(w_1, \ldots, w_k,P_1, \ldots, P_k)= \sum_{i=1}^k \sum_{x \in P_i} d (x,w_i). \end{equation}

(1)

Требуется найти набор

w_1, \ldots, w_k
и разбиение
P_1, \ldots, P_k
, минимизирующие
D
. Шаг алгоритма разбиваем на
2
этапа:

1) Для фиксированного набора ядер

w_1, \ldots, w_k
ищем минимизирующее
D
разбиение
P_1 , \ldots, P_k
; оно дается следующим решающим правилом:
x \in P_i
, если
d(x,w_i) < d(x,w_j)
при
i \neq j
(когда для
x
минимум
d(x,w_i)
достигается при нескольких значениях
i
, выбор между ними может быть сделан произвольно).

2) Для каждого

P_i,i \in 1, \ldots, k
, полученного на первом этапе, отыскивается
w_i \in W
, минимизирующее критерий качества

 \begin{align*} D_i = \sum_{x \in P_i} d(x,w_i). \end{align*}

Начальные значения

w_1, \ldots, w_k
,
P_1, \ldots, P_k

выбираются произвольно либо по какому-нибудь эвристическому правилу. Если ядру

w_i
ставится в соответствие элемент сети, вычисляющей по входному сигналу
x

функцию

d(x,w_i)
, то решающее правило для классификации дается интерпретатором "проигравший забирает все": элемент
x
принадлежит классу
P_i
, если выходной сигнал
i
-го элемента
d(x,w_i)
меньше всех остальных. Мера близости
d
выбирается такой, чтобы легко можно было найти ядро
w_i
, минимизирущее
D_i
для данного
P_i
.

В простейшем случае пространство ядер

W
совпадает с
E
, а
d(x,w_i)

- положительно определенная квадратичная форма от

x - w_i
, например, квадрат евклидова расстояния. Тогда ядро
w_i
, минимизирущее
D_i
, есть центр масс класса
P_i
:

 \begin{align*} w_i=(1/|P_i|)\sum_{x \in P_i} x, \end{align*}

где

|P_i|
- число элементов в
P_i
.

Пусть векторы пространства

E
нормированы. Тогда

 \begin{equation} (x,x)=(w_i,w_i)=1. \end{equation}

(2)

Так как

d(x,w_i)=(x - w_i, x - w_i)=(x,x)- 2(x,w_i) + (w_i,w_i)
, то с учетом (2) упрощается решающее правило, разделяющее классы:

 \begin{align*} x \in P_i, \mbox{ если }(x, w_i) > (x, w_j)\mbox{ при } i \neq j, \end{align*}

поскольку минимум

d(x,w_i)
достигается при максимуме
(x,w_i)
. Такое решающее правило реализуется с помощью
k
сумматоров, вычисляющих
(x,w_i)
, и интерпретатора, выбирающего сумматор с максимальным выходным сигналом. Номер этого сумматора и есть номер класса, к которому относится
x
.

Задача поиска ядра

w_i
для класса
P_i

превращается в поиск вектора

w
, максимизирующего

 \begin{align*} D_i = \sum_{x \in P_i}(x,w). \end{align*}

Этот максимум достигается в точке

 \begin{align*} w = \sum_{x \in P_i}x/ \| \sum_{x \in P_i}x \| \end{align*}

где

\|\ldots\|
- евклидова норма.

В тех простейших случаях, когда ядро класса точно определяется как среднее арифметическое (или нормированное среднее арифметическое) элементов класса, а решающее правило основано на сравнении выходных сигналов линейных адаптивных сумматоров, нейронную сеть, реализующую метод динамических ядер, называют сетью Кохонена.


Содержание  Назад  Вперед