
- •Глава 5. Нейросетевые методы распознавания и аппроксимации
- •5.1 Принципы организации и классификация нейронных сетей
- •5.2 Формальный нейрон. Однослойный персептрон
- •5.3 Многослойный персептрон
- •5.3.1 Модель сети
- •5.3.2 Обучение многослойного персептрона
- •Да: перейти на шаг 11. Нет: Перейти на шаг 13.
- •Да: Окончание поиска: нет продвижения к решению. Перейти на шаг 13.
- •Алгоритмы сопряженных градиентов представляют собой подкласс квадратично сходящихся методов. Для алгоритмов сопряженных градиентов шаг 6 обобщенного градиентного алгоритма имеет вид:
- •5.3.3 Следящий алгоритм обучения мнс
- •5.4 Радиально-базисные нейронные сети
- •5.5 Нейронные сети Хопфилда
- •5.5.1 Модель сети Хопфилда
- •5.5.2 Обучение сети Хопфилда распознаванию образов
- •5.5.3 Эффект разнасыщения
- •5.6 Нейронная сеть Хэмминга
- •5.7 Машина Больцмана
- •5.8 Двунаправленная ассоциативная память
- •5.9 Нейросетевой селектор максимума
- •5.10 Карта признаков самоорганизации Кохонена
- •5.10.2 Интерпретация результатов классификации нс Кохонена
- •Блок кпск-азу может быть рекомендован для использования в системах классификации в случае, когда:
- •5.10.3 Выбор метрики и учет информативности признаков
- •Шаг 3. Произвести обучение блока кпск-азу на всей выборке X
- •5.11 Квантование обучающих векторов
- •5.11.1 Модель сети
- •5.11.2 Алгоритм обучения lvq1
- •5.11.3 Алгоритм обучения lvq2
- •5.11.4 Алгоритм обучения lvq3
- •5.11.5 Алгоритм обучения olvq1
- •5.12 Контрастирование нейронных сетей
- •Алгоритм построения и оптимизации модели объекта.
- •Алгоритм контрастирования многослойной нейронной сети.
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 — число нейронов в сети, θ = {θ1,θ2,...,θ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, которая в благоприятных случаях заканчивается устойчивым состоянием, в неблагоприятных случаях могут возникнуть колебания.
Основной операцией, производимой нейронной сетью, является умножение матрицы на вектор (в синхронном случае) или вектора на вектор (в асинхронном случае) с последующим вычислением нелинейной функции. Однако, благодаря массовости связей большого числа нейронов при такой достаточно простой операции сеть обладает способностью решать сложные задачи.