Новосибирский Государственный Университет
Опубликован: 13.09.2006 | Доступ: свободный | Студентов: 2204 / 519 | Оценка: 4.52 / 4.28 | Длительность: 12:23:00
ISBN: 978-5-9556-0063-5
Специальности: Программист
Лекция 13:

Самоорганизация (самообучение) нейронных сетей

Аннотация: Рассматриваются: метод динамических ядер в классификации без учителя, алгоритмы обучения сетей с самоорганизацией и их применение к компрессии данных и прогнозированию.

Классификация без учителя

Задан набор объектов, каждому объекту поставлен в соответствие вектор значений признаков (строка таблицы). Требуется разбить эти объекты на классы эквивалентности. Для каждого нового объекта нужно:

  • Найти класс, к которому он принадлежит.
  • Использовать новую информацию, полученную об этом объекте, для исправления (коррекции) правил классификации.

Отнесение объекта к классу проводится путем его сравнения с типичными элементами разных классов и выбора из них ближайшего.

Простейшая мера близости объектов - квадрат евклидова расстояния между векторами значений их признаков (чем меньше расстояние, тем ближе объекты). Соответствующее определение признаков типичного объекта - среднее арифметическое значение признаков по выборке, представляющей класс. Другая мера близости, возникающая при обработке сигналов, изображений и т.п. - квадрат коэффициента корреляции (чем он больше, тем ближе объекты). Возможны и иные варианты.

Если число классов m заранее определено, то задачу классификации без учителя можно поставить следующим образом.

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

Пусть задана выборка предобработанных векторов данных \{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.