Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
диплом готовый_красильников.doc
Скачиваний:
10
Добавлен:
27.10.2018
Размер:
966.14 Кб
Скачать

MnSom из mlp-модулей

Архитектура mnSOM по существу, архитектура такова, что каждый векторый модуль обычной SOM заменяется функциональным модулем. Эти модули выстраиваются на решетке, которая представляет координаты карты особенностей. Многие обучаемые алгоритмы могут быть использованы в качестве функциональных модулей, тем не менее на рис. 1 показан случай с MLP-модулями. Так как каждый модуль представляет собой некую "функциональную особенность" определенную архитектурой модуля, вся mnSOM представляет собой карту этих особенностей.

Чтобы изложить основные концепции mnSOM, начнем с примера, когда пользователь mnSOM пытается сделать карту группы функций , которые изначально неизвестны. Вместо них, предполагается, что будут даны наборы данных . Здесь, это группа векторов входов-выходов для i-й функции. Таким образом пары векторов удовлетворяют выражению . Задачи mnSOM заключаются в :

      1. определить неизвестные функции

      2. создать карту особенностей этих функций. Другими словами, задача mnSOM перенести топологию функционально пространства в пространство карты. Таким образом, mnSOM должна представлять собой SOM в функциональном пространстве, а не в векторном.

В первую очередь пользователю необходимо выбрать архитектуру модулей. В данном случае, модуль должен восстановить функцию из набора данных векторов. Таким образом, MLP, радиальные базисные функции (RBF), и их производные могут рассматриваться как в качестве типов модулей. Здесь рассмотрим случай MLP-модулей, т.е., MLP-модульную mnSOM (MLP-mnSOM). Далее, предполагается, что MLP-mnSOM имеет K MLP модулей, которые представляют К функций . Эти функции определены векторами весов , которые изменяются по алгоритму обратного распространения ошибки. (В этой работе, пусть нижние индексы представляют индексы отображаемых объектов или наборов данных, а верхние индексы показывают индексы модулей mnSOM.)

Алгоритм mnSOM состоит из четырех процессов: оценочный процесс, соревновательный процесс, кооперативный процесс, и адаптивный процесс. В оценочном процессе выходы всех MLP-модулей рассчитываются для каждой пары векторов входов-выходов. Если, например, выбран вектор входов , тогда выход k-го модуля для данного входа рассчитывается как . Этот процесс повторяется для всех , используя один и тот же вектор входов . После расчета всех выходов для всех входов рассчитываются ошибки модулей для каждого набора данных. Теперь обозначим ошибку k-го модуля на наборе данных для i-й функции как , т. е.,

Если J (число примеров) достаточно велико, тогда квадрат расстояния между k-м модулем и i-й системой в функциональном пространстве апроксимируется ошибкой .

Здесь, обозначает функцию плотности вероятности входного вектора данных , i-й системы. В данной статье предполагается, что для примерно равно , в связи с нормализацией распределения данных для каждого класса.

В соревновательном процессе модуль, который минимизирует ошибку , определяется как наиболее подходящий модуль, т.е. модуль-победитель i-го класса. Итак, пусть будет номером модуля-победителя для i-го класса. Тогда определяется как

В кооперативном процессе, обучаемые веса рассчитываются с помощью функции соседства. Пусть обозначает обучаемый вес k-го модуля для i-го класса в момент времени t. Тогда задается следующими уравнениями:

Здесь обозначает положение k-го модуля в пространстве карты, а представляет собой функцию соседства, которая сужается со временем t. Используя обучаемые веса , функцию энергии k-го модуля можно записать как:

Это означает, что алгоритм mnSOM получает функции энергий каждого модуля с помощью алгоритма SOM. Заметим, что имеет глобальный минимум в точке, где удовлетворяет выражению:

Это суть обобщения.

В адаптивном процессе, все MLP-модули изменяются по алгоритму обратного распространения ошибки, таким образом, каждый модуль приближается к точке глобального минимума, определенной функцией энергии:

Поэтому k-ый MLP-модуль обновляется таким образом, чтобы он сходился к центру масс определённому в (8). Алгоритм обратного распространения ошибки повторяется, до тех пор, пока все модули не обучатся. Например, (9) повторяется около тысячи раз на каждой итерации времени t. Во время обучения MLP, входные векторы , подаются один за другим в качестве входов, вместе с соответствующими выходами , в качестве желаемого сигнала. Эти четыре процесса повторяются, уменьшая окрестность функции соседства, пока сеть не достигает стационарное состояние.

Этот алгоритм MLP-mnSOM является непосредственным расширением алгоритма SOM. На самом деле, если MLP-модули имеют только смещения, т. е. каждый модуль всегда выдает постоянный вектор, то приведенный выше алгоритм становится таким же, как и обычный. Таким образом, MLP-mnSOM включает в себя обычный случай. Если модули представляют собой линейные операторы, то mnSOM можно назвать операторной картой.

Чтобы понять алгоритм, следует отметить некоторые важные моменты. Во-первых, так как функция энергии определяется для каждого модуля, каждая точка глобального минимума отличается от всех других. Поэтому MLP-модули двигаются в сторону различных, индивидуальных целей. Во-вторых, важно подчеркнуть, что функция энергии энергетическая функция не определяет функцию энергии для всей mnSOM. Конечно, сумма функций энергии минимизируется в ходе адаптационного процесса, однако, эта общая энергия действительна только в течение адаптационного процесса во время t, когда веса фиксированы. В следующей итерации, т.е. в момент времени t+1, изменяется, следовательно, функция энергии , также изменяется.