7.3 Нейронные сети LVQ
Нейронные сети Кохонена - класс нейронных сетей, основным элементом которых является слой Кохонена. Слой Кохонена состоит из адаптивных линейных сумматоров(«линейных формальных нейронов»). Как правило, выходные сигналы слоя Кохонена обрабатываются по правилу «победитель забирает всё»: наибольший сигнал превращается в единичный, остальные обращаются в ноль.
По способам настройки входных весов сумматоров и по решаемым задачам различают много разновидностей сетей Кохонена. Наиболее известные из них:
-
Сети векторного квантования сигналов, тесно связанные с простейшим базовым алгоритмом кластерного анализа (метод динамических ядер или K-средних)
-
Самоорганизующиеся карты Кохонена (Self-Organising Maps, SOM)
-
Сети векторного квантования, обучаемые с учителем (Learning Vector Quantization, LVQ)
Сети векторного квантования, обучаемые с учителем
Сети векторного квантования, обучаемые с учителем (LVQ) используются для решения задач классификации. В сетях LVQ может быть любое число классов. Приведем простой алгоритм для двух классов - А и В.
Изначально для обучения созданной системы поступают данные с заранее известной принадлежностью к одному из классов. Задача: для класса определить некоторое количество кодовых векторов , а для класса некоторое (возможно иное, чем ) количество кодовых векторов так, чтобы получившаяся в итоге сеть Кохонена с кодовыми векторами , (объединяем оба семейства) производила классификацию по такому решающему правилу:
если для вектора входных сигналов ближайший кодовый вектор («победитель», «забирающий всё» в слое Кохонена) принадлежит семейству , то считается принадлежащим классу А; если же ближайший к кодовый вектор принадлежит семейству , то считается принадлежащим классу В.
С каждым кодовым вектором объединённого семейства связан многогранник Вороного-Дирихле. Обозначим эти многогранники , соответственно. Класс А в пространстве сигналов, следуя решающему правилу, соответствует объединению , а класс В соответствует объединению . Геометрия подобных объединений многогранников часто бывает весьма сложной (рис. 45).
Рис 55. Классификация многогранников Вороного-Дирихле
Правила обучения сети онлайн выстраивается на основе общего правила обучения сетей векторного квантования. Пусть на вход рассматриваемой системы будет подан вектор сигналов х, класс которого является заранее известным. В случае если этот вектор относится системой к нужному классу верно, соответствующий входному вектору х кодовый вектор немного сдвигается в направлении вектора сигнала (происходит «поощрение»)
В том случае если х относится к определенному классу неверно, то соответствующий входному вектору х кодовый вектор W немного сдвигается в обратную сторону от сигнала (происходит «наказание»)
где — это шаг (итерация) обучения. Для обеспечения хорошей стабильности следует использовать онлайн метод с затухающей скоростью обучения. Также существует возможность использования различных шагов для осуществления «поощрения» правильного решения и для «наказания» неправильного.
Приведенный пример является простейшей (базовой) версией метода. Существует множество иных более сложных вариаций
Для построения LVQ сети число параметров, получаемых в файле анализа данных довольно велико. Для упрощения данных было решено ввести типы текущего положения конечностей, объединяющие положение конечностей и показания датчиков касания по следующему принципу:
Если нога робота полностью опущена, но нет касания поверхности, то положение конечности относится к первому типу. В случае, если нога опущена (угол сервопривода вертикального положения от 20 до 50 градусов) и есть касание, такое положение конечности относится ко 2 типу.
В случае если нога немного опущена (угол сервопривода вертикального положения от- 20 до 20 градусов) есть касание, то такое положение конечности относится к третьему классу. Все вышеуказанные значения положений сервоприводов были получены опытным путем в результате экспериментов.
В случае ,если нога поднята (угол сервопривода вертикального положения
Таблица 5.Типы текущего положения конечностей
класс
|
описание
|
касание
|
положение конечностей
|
1
|
Нога опущена до конца, но не достигла поверхности
|
нет
|
>=51
|
2
|
Нога опущена, робот опирается на нее
|
есть
|
20-50
|
3
|
Нога немного опущена
|
есть
|
-20-20
|
4
|
Нога поднята
|
нет
|
|
|