Опубликован: 13.09.2006 | Уровень: специалист | Доступ: платный | ВУЗ: Новосибирский Государственный Университет
Лекция 13:

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

В простейшем случае пространство ядер 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\| - евклидова норма.

В тех простейших случаях, когда ядро класса точно определяется как среднее арифметическое (или нормированное среднее арифметическое) элементов класса, а решающее правило основано на сравнении выходных сигналов линейных адаптивных сумматоров, нейронную сеть, реализующую метод динамических ядер, называют сетью Кохонена. В определение ядра w_i для сетей Кохонена входят суммы \sum_{x \in P_i} x. Это позволит накапливать новые динамические ядра, обрабатывая по одному примеру и пересчитывая w_i после получения в P_i нового примера.

Если число классов заранее не определено, то полезен критерий слияния классов: классы Y_i и Y_j сливаются, если расстояние между их ядрами меньше, чем среднее расстояние от элемента класса до ядра в одном из них:

\begin{align*}
 (y^i,y^j) < \max[(1/|Y_i|)\sum_{x \in Y_i} \rho(x,y^i),(1/|Y_j|)\sum_{x
\in Y_j}
 \rho(x,y^j)],
\end{align*}

где |Y| - число элементов в Y. Использовать критерий слияния классов можно так: сначала принимаем гипотезу о достаточном числе классов, строим их, минимизируя D, затем некоторые Y_i объединяем, повторяем минимизацию D с новым числом классов и т.д.

Ирина Ткаченко
Ирина Ткаченко
Россия, Москва
Николай Ткаченко
Николай Ткаченко
Россия