
- •Глава 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.11.1 Модель сети
Нейронная сеть LVQ (рис. 5.6) состоит из двух последовательно соединенных слоев нейронов: конкурирующего слоя и линейного слоя. Оба слоя НС LVQ содержат по одному конкурирующему и одному линейному нейрону на каждый подкласс / целевой класс. Обозначим S1 – количество подклассов, S2– количество целевых классов (S1 всегда будет больше, чем S2).
Рис. 5.6 - Схема LVQ - нейронной сети
Конкурирующий слой производит разделение входных векторов x на классы, выделяя центры сосредоточения входных векторов mi. Для этого определяются расстояния n1=||x-mi|| между входными векторами x и начальными значениями центров сосредоточения векторов mi, i=1,2,..,q, где q-количество входных векторов.
Линейный слой преобразует класс входного вектора, определенный конкурирующим слоем -подкласс a1, в класс, определенный пользователем - целевой класс a2, путем умножения a1 на значения весов LW линейных нейронов, которые устанавливается равными 1, если целевой класс и подкласс совпадают и 0 – в противном случае. Соответствующие произведения n2=a1LW подаются на выходы всех линейных нейронов, образуя двоичный вектор a2, все элементы которого равны 0, за исключением элемента, который соответствует целевому классу (этот элемент равен 1).
5.11.2 Алгоритм обучения lvq1
Пусть некоторое количество векторов со свободными параметрами mi помещено во входное пространство для аппроксимации различных областей входного вектора x их квантованными значениями. Каждому классу значений x назначается несколько векторов со свободными параметрами, и затем принимается решение об отнесении x к тому классу, к которому принадлежит самый близкий вектор mi. Пусть индекс с определяет самый близкий к x вектор mi, обозначенный далее как mc:
.
Значения для mi, минимизирующие ошибку классификации, могут быть найдены как асимптотические значения в следующем процессе обучения. Пусть x(t) – входная выборка, mi(t) -представление последовательности mi, дискретизированной по времени. Начиная с правильно определенных начальных значений, основной процесс алгоритма LVQ1 определяют следующие выражения:
mc(t + 1) = mc(t) + α(t)[x(t) - mc(t)],
если x и mc принадлежат одному и тому же классу;
mc(t + 1) = mc(t) - α(t)[x(t) - mc(t)],
если x и mc принадлежат разным классам;
mi(t + 1) = mi(t) , ic.
Здесь 0 < α(t) < 1, α(t) может быть константой или монотонно уменьшаться со временем. Для алгоритма LVQ1 рекомендуется, чтобы первоначальное значение α было меньше 0.1.
5.11.3 Алгоритм обучения lvq2
Решение задачи классификации в алгоритме LVQ2 идентично алгоритму LVQ1. Однако в процессе обучения LVQ2 два вектора со свободными параметрами mi и mj, являющиеся самыми близкими соседями x, модифицируются одновременно. Один из них должен принадлежать к классу 1, а другой - к классу 2. Кроме того, x должен находиться в зоне значений, называемой “окном”, которое определено вокруг середины плоскости, образуемой векторами mi и mj. Пусть di и dj – эвклидовы расстояния x от mi и mj, тогда x определенно попадет в “окно” относительной ширины w, если
,
где
.
Рекомендуется, чтобы значения относительной ширины “окна” w находились в пределах от 0.2 до 0.3.
Алгоритм обучения LVQ2 имеет вид:
mi(t + 1) = mi(t) - α(t)[x(t) - mi(t)],
mj(t + 1) = mj(t) + α(t)[x(t) - mj(t)],
где
mi
и mj
- два самых близких к x вектора со
свободными параметрами, причем x и mj
принадлежат к одному и тому же классу,
в то время как x и mi
принадлежат различным классам, кроме
того, x должен попадать в “окно”.
На рис. 5.7 квадратами обозначены значения признаков экземпляров, а крестами – значения весов НС LVQ. Штриховка фигур обозначает их принадлежность к классу (сплошная – класс 1, пунктирная – класс 2). Ошибочно классифицированные экземпляры выделены окружностями.
а) б) в)
Рис. 5.7 - Процесс квантования обучающих векторов
На рис 5.7 а) показано начальное расположение весов НС LVQ - все экземпляры классифицированы неверно. На рис 5.7 б) для тех же экземпляров показано положение весов НС LVQ после одной итерации обучения с помощью алгоритма LVQ 2 – одновременно модифицированы значения двух векторов, количество неправильно классифицированных экземпляров уменьшилось. На рис 5.7 в) показано положение весов НС LVQ после 10 итераций обучения – все экземпляры классифицированы верно.