Научная статья на тему 'Формирование LVQ-сети для задачи классификации'

Формирование LVQ-сети для задачи классификации Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
407
60
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Евдокимов И. А., Серегина Ю. А., Солодовников И. В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Формирование LVQ-сети для задачи классификации»

Секция «Искусственный интеллект»

Формирование ЬУО-сети для задачи классификации

Евдокимов И. А., Серегина Ю.А., Солодовников И.В. МГТУ им. Н.Э. Баумана

Введение

Одной из важных задач выявления скрытых закономерностей из больших информационных массивов является задача анализа многомерных данных, и в частности классификации [1, 2]. Однако при ее решении возникает ряд проблем, особенно, если объекты, принадлежащие к одному классу, лежат в разных несвязанных областях.

BXJ \J *J XJ

данной работе предлагается подход, основанный на парадигме нейронной сети LVQ, и включающий два этапа.

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

LVQ-сеть

LVQ (Learning Vector Quantilization) - сети используются для классификации и кластеризации векторов входа [3]. Они являются развитием сетей Кохонена. Архитектура LVQ - сети имеет следующий вид: W1

n1 a1 n2 a2

P

ndist C W2

/

R

S1

S1

S1 *S2

S2

LVQ - сеть имеет два слоя: конкурирующий и линейный. Конкурирующий слой осуществляет кластеризацию векторов, а линейный - соотносит кластеры с целевыми классами, заданными пользователем.

Как в конкурирующем, так и в линейном слое один нейрон приходится на

и гр и и

целевой класс или кластер. Таким образом, конкурирующий слой способен поддержать до 81 кластеров. Эти кластеры, в свою очередь, могут быть соотнесены с 82 целевыми классами. 82 < 81. Например, предположим, что нейроны 1-3 конкурирующего слоя определяют три кластера, принадлежащие к классу #2 линейного слоя. Тогда выходы конкурирующих нейронов 1 - 3 будут передаваться в линейный слой на нейрон #2 с весами равными 1, а на остальные с весом 0.

Таким образом, нейрон п2 возвращает 1, если любой из трех нейронов 1 - 3 конкурирующего слоя выигрывают конкуренцию.

Следовательно, единичный элемент ьстроки (остальные 0) однозначно выберет ьстолбец матрицы весов Ш2 в качестве выхода сети. При этом каждый столбец в свою очередь имеет единственный элемент, равный 1, который указывает принадлежность к классу.

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

Обучение сети

Правило LVQ1. LVQ - сеть обучается на основе множества пар вход/выход, составленных из элементов обучающей последовательности {Р, Т} [3]:

{р^—Л Рп 4)

X Г и и

Каждый целевой вектор имеет единственный элемент равный 1, а остальные элементы равны нулю.

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

нейрон выигрывает конкуренцию. Тогда конкурирующая функция активации

1 .*

возвращает 1 в качестве элемента ^ вектора @, причем все остальные элементы @

равны 0. Во втором линейном слое произведение ^2а выделяет некоторый столбец матрицы ^2 и связанный с ним класс ^*, то есть сеть связывает вектор входа р с

классом к *. Эта связь может оказаться либо правильной, либо ошибочной. Поэтому в

процессе обучения необходимо откорректировать строку • матрицы Ж х таким

образом, чтобы приблизить ее к вектору р, если связь правильная, и удалить от вектора р, если связь неправильная. Исходя из этого правило LVQ следующее:

' •- Ж1 (я)=- Ж1 (я -1)+1г (р(я)-* Ж1 (я -1)/ а2к- = ^• =1 гЖ1(я)=гЖ1(я -1) -(р(я)- »ЖМ - 1)/(а к = 1) * = 0)

Правило LVQ2. Это правило предназначено для того, чтобы улучшить настройку параметров сети после применения правила LVQ1 [3]. Правило LVQ2 схоже с LVQ1, за исключением того, что корректируется два весовых вектора, ближайших к входному, причем один из них должен быть классифицирован как правильный, а второй - нет.

Пусть величины (, ( обозначают евклидово расстояние вектора р от

* ♦* ♦*

соответствующих строк | , j весовой матрицы Ж V причем строка j принадлежит к области пространства признаков, соответствующей требуемому классу, а строка | * не принадлежит. Если выполняется условие:

шш(——) > 0.5 0.7

( (г

то корректировка производится, и правило настройки соответствующих весовых векторов выглядит следующим образом:

• Ж Ая)=гЖ \(я -1)+1г (р(я)-.-Ж \(я -1)) j, Ж, (я)=Ж, (я -1) - 1г (р(я)-уЖ1 (я -1))

Как видно из вышеизложенного, для построения LVQ-сети необходимо знать:

1. Из каких кластеров состоит сеть.

2. Какие объекты данного класса попадают в конкретные кластеры

Однако во многих задачах такая информация не известна Поэтому и ставится задача выделения кластеров, состоящих из объектов одного класса..

Алгоритм кластеризации

1 Будем использовать алгоритм, который относят к алгоритмам обучения с подкреплением или конкурентному обучению. Правило конкурентного обучения основано на использовании трех основных элементов:

• Множество одинаковых нейронов со случайно распределенными весами, приводящими к различной реакции нейронов на один и тот же сигнал

• Предельное значение «силы» каждого нейрона

• Механизм, позволяющий нейронам конкурировать за право отклика на данное подмножество входных сигналов и определяющий единственный активный нейрон (или по одному нейрону на группу). Нейрон, победивший в этом соревновании, называют нейроном-победителем, а принцип конкурентного обучения формулируют в виде лозунга «победитель получает все»

Таким образом, каждый нейрон сети соответствует группе близких образов. При этом нейроны становятся детекторами признаков различных классов входных образов.

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

и гр U U

для всех нейронов сети. Тогда выходной сигнал нейрона победителя принимается равным 1. Выходные сигналы других нейронов устанавливаются в 0. Таким образом:

J1, если ук > у. для всех j ^ к Ук [ 0

Здесь индуцированное локальное поле ук представляет сводное возбуждение нейрона к от всех входных сигналов и сигналов обратной связи.

Пусть - вес связи исходного узла j с нейроном к. Предположим,, что веса

всех нейронов фиксированы (то есть положительны), при этом:

Е Wj = 1 ук

j

Тогда обучение этого нейрона состоит в смещении веса от неактивных к активным входным узлам. Согласно правилу конкурентного обучения изменение Дwk/ веса w. определяется следующим образом:

П\Х] - WkjI нейрон к победитель 0, нет

Здесь п - параметр скорости обучения. Это правило отражает смещение вектора веса победившего нейрона в сторону входного образца. Шаг 0. ' = 0

Шаг 1. ' = / +1. Создать случайным образом вектор i. Здесь ? указывает, что

нам пока неизвестно входным образцом будет связан весовой коэффициент.

Шаг 2. Найти ближайший к нему входной образец xj, . ^ Wji. Определить к

какому классу принадлежит х., и зафиксировать это значение в переменной а...

Шаг 3. Если в списке А = есть номера всех классов перейти к шагу 4,

иначе перейти к шагу 1.

Шаг 4. Выполнять следующие шаги в цикле до установившегося состояния.

Шаг 4.1. Ввести следующий образец из обучающей последовательности. Шаг 4.2. Найти для него нейрон-победитель.

Шаг 4.3. Если класс нейрона-победителя (значение из списка) совпадает с классом образца, то изменить значение по правилу (1), в противном случае перейти к шагу 4.1.

Шаг 5. Выполнить предъявление всех образцов нейронной сети. Для каждого

и 1—1 с» и

образца определить нейрон победитель. Если некоторый нейрон оказывается победителем для образцов, принадлежащих к разным классам, повторить процесс обучения в области, задаваемой этими образцами. Повторять данный шаг итеративно, пока нейрону-победителю не будут соответствовать только образцы одного класса. Шаг 6. Сформировать матрицу весов ^ 2 с учетом результатов алгоритма.

Таким образом, в результате выполнения алгоритма выделяются области, в которых расположены объекты одного класса и автоматически формируется LVQ-сеть, позволяющая осуществлять классификацию.

Отметим, что правила LVQ1 и LVQ2 целесообразно применить для окончательной настройки сети после завершения алгоритма.

Литература

1. Рассел С., Норвиг П. Искусственный интеллект: современный подход. - М.: Издательский дом «Вильямс», 2006.

2. Барсегин А. А. Технологии анализа данных. - СПб.: БХВ-Петербург, 2007

3. Медведев В.С., Потемкин В.Г. Нейронные сети: МА^АВ 6. - М.: ДИАЛОГ-МИФИ, 2002

i Надоели баннеры? Вы всегда можете отключить рекламу.