Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mmotor5.doc
Скачиваний:
61
Добавлен:
07.02.2016
Размер:
2.5 Mб
Скачать

5.4 Радиально-базисные нейронные сети

Радиально-базисная НС (РБНС) состоит из двух слоев. Соединительные весовые векторы слоев будем обозначать w(μ,j), где μ-номер слоя (μ=1,2), j – номер нейрона (узла) в слое. Базисные (или ядерные) функции в первом слое производят локализованную реакцию на входной стимул. Выходные узлы сети формируют взвешенную линейную комбинацию из базисных функций, вычисленных узлами первого слоя.

Выходные узлы соответствуют выходным классам, в то время, как узлы первого слоя представляют собой кластера (количество кластеров m задается пользователем), на которые разбивается входное пространство. Обозначим x = (x1, ..., xi, ..., xN) и y = (y1, ..., yi, ..., yK) - вход и выход сети, соответственно. Здесь N – количество признаков, а K-число классов.

Выход uj j-го узла первого слоя, используя ядерную функцию Гауссиан как базисную, определяется по формуле:

,j=1,2,...,m,

где x - входной образ (экземпляр), w(1,j) - его входной весовой вектор (то есть центр Гауссиана для узла j) и σ2j - параметр нормализации j-го узла, такой что 0 < uj < 1 (чем ближе вход к центру Гауссиана, тем сильнее реакция узла).

Выход yj j-го узла второго слоя определяется из выражения:

yj = w(2,j)Tu, j =1 ,2, ..., K;

где w(2,j) – весовой вектор для j-го узла второго слоя и u - вектор выходов первого слоя.

Сеть выполняет линейную комбинацию нелинейных базисных функций. Задача обучения сети состоит в минимизации ошибки:

,

где ys*j и ysj - желаемое и расчетное значения выхода j-го узла выходного слоя для s-го экземпляра, S - размер набора данных (количество экземпляров), и K - число выходных узлов (число классов). Далее для наглядности верхний индекс s опущен.

Обучение РБНС может выполняться двумя различными способами.

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

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

Пусть фиксированное множество центров кластеров сформировано на основе первого способа, а центры кластеров будут обозначены w(1,j), j = 1, ..., m. Параметр нормализации σj представляет меру распределения данных, ассоциируемых с каждым узлом.

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

,

где ej = yj — y*j и η - коэффициент скорости обучения.

5.5 Нейронные сети Хопфилда

5.5.1 Модель сети Хопфилда

НС Хопфилда (псевдоинверсная НС) задается четверкой net=(N,w, θ, x), где N — число нейронов в сети, θ = {θ12,...,θN}-вектор внешних воздействий. Нейроны связаны по принципу «все со всеми», это значит, что в сети NxN связей. Связь между i-ым и j-ым нейронами обозначаетсяwij. Величинаwij называется весом связи и может быть нулем, положительным или отрицательным числом. Веса связей задаются матрицейw = {wij}, i, j= 1,.., N. В модели Хопфилда связи симметричные, т. е.wij = wji. Состояние сети определяется вектором состояний нейроновx = {x1, ...,xN}.

Нейрон рассматривается как двустабильный по­роговый элемент (модель Мак-Каллока - Питтса). Состояниеxi нейрона i может иметь два значения0и1 или 1 и -1. Нейрон i имеет внешний вход θ, входы от других нейроновxjи один ветвящийся выход, равныйxi. Вход в нейрон i (постсинаптический потенциал) определяется суммой взвешенных состояний, связанных с ним нейронов:

.

В зависимости от величины входаneti нейрон i изменяет свое состояние или остается в прежнем в соответствии с пороговым правиломnetik+1=ψ(netik), где k, k+1— номера старого и нового состояний нейрона i, аψ(x) – функция активации нейрона:

(пороговая) или(сигмоидная).

Сеть может изменять свое состояние синхронным или асинхронным способом.

Всинхронном случаевсе нейроны одновременно изменяют свои состояния. Аналитическое выражение перехода сети из состоянияxkвxk+1записывается в матричной форме:netk = wxk + θk,xk+1 = ψ(netk), гдеxk={x1k,x2k,...,xNk},netk={net1k,net2k,...,netNk} Функцияψприменяется к векторуnetkпоэлементно.

Васинхронном случаекаждый нейрон может изменять свое состояние случайно, при этом он использует информацию об обновленных состояниях других нейронов. Аналитическая запись перехода сети из состоянияxkвxk+1в асинхронном случае, когда нейрон m изменяет свое состояние, имеет видnetmk = wmxk + θk,xk+1={x1k,...,ψ(netmk),...,xNk}, гдеwm— строка матрицыwс номером m.

Начиная с начального состоянияx0 и работая синхронно или асинхрон­но, сеть генерирует последовательность состоянийx0,x1, ...,xM, которая в благоприятных случаях заканчивается устойчивым состоянием, в неблагоприятных случаях могут возникнуть колебания.

Основной операцией, производимой нейронной сетью, является умножение матрицы на вектор (в синхронном случае) или вектора на вектор (в асинхрон­ном случае) с последующим вычислением нелинейной функции. Однако, благо­даря массовости связей большого числа нейронов при такой достаточно простой операции сеть обладает способностью решать сложные задачи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]