страница - 0
Практическое применение нейронных сетей для решения задач классификации и идентификации
Солдатова О.П., Байков С.С. (sergei baykov@mail.ru)
Самарский государственный аэрокосмический университет имени академика С.П. Королева (СГАУ)
Нейронные сети - это раздел искусственного интеллекта, в котором для обработки сигналов используются явления, аналогичные происходящим в нейронах живых существ [1].
Важнейшая особенность сети, свидетельствующая о ее широких возможностях и огромном потенциале, состоит в параллельной обработке информации всеми звеньями.
Другое не менее важное свойство - способность к обучению и обобщению накопленных знаний.
Одним из важнейших применений нейронных сетей является решение задачи классификации.
Классификацией образа будем называть его идентификацию и отнесение к одному из нескольких попарно не пересекающихся множеств. При решении этой задачи нейронная сеть может выполнять функцию как экстрактора (определителя) свойств, так и классификатора, приписывающего образ конкретному классу [1].
В настоящей работе, в качестве примера, мы рассмотрим, как нейронная сеть используется для решения задачи идентификации законов распределения случайных величин. Пользователь предварительно выбирает стандартные законы распределения и диапазон изменения их параметров из предложенного списка, определяя, таким образом, количество классов, по которым в дальнейшем будут идентифицироваться тестирующие выборки. Размерность входного вектора задается пользователем и определяет число отсчетов обучающей выборки. Результатом идентификации является класс закона распределения отсчетов временного ряда и значение параметра.
При решении задачи классификации, прежде всего, нужно определить уровень сложности задачи. Можно выделить три основных уровня сложности. Первый - когда классы можно разделить прямыми линиями (или гиперплоскостями, если пространство входов имеет размерность больше двух) -так называемая линейная разделимость. Во втором случае классы можно разделить с помощью более сложного деления - нелинейная разделимость. В третьем случае классы пересекаются и можно говорить только о вероятностной разделимости [2].
В идеальном варианте после предварительной обработки мы должны получить линейно разделимую задачу, так как после этого значительно упрощается построение классификатора. К сожалению, при решении реальных задач мы имеем ограниченное количество образцов, на основании которых и производится построение классификатора. При этом мы не можем провести
такую предобработку данных, при которой будет достигнута линейная разделимость образцов.
Сети прямого распространения являются универсальным средством аппроксимации функций, что позволяет их использовать в решении задач классификации. Как правило, нейронные сети оказываются наиболее эффективным способом классификации, потому что генерируют фактически большое число регрессионных моделей (которые используются в решении задач классификации статистическими методами).
Задача классификации при наличии двух классов может быть решена на сети с одним нейроном в выходном слое, который может принимать одно из двух значений 0 или 1, в зависимости от того, к какому классу принадлежит образец.
При наличии нескольких классов возникает проблема, связанная с представлением этих данных для выхода сети. При написании системы идентификации временных рядов использовался очень простой способ представления выходных данных, согласно которому выходные данные - это бинарный вектор, компоненты которого соответствуют различным номерам классов. При этом i-я компонента вектора соответствует i-му классу. Компонента устанавливается в 0, если входной вектор не принадлежит данному классу. Таким образом, в 1 устанавливается единственная компонента, соответствующая классу входного вектора.
Известны и другие способы. Например, при интерпретации результата считается, что номер класса определяется номером выхода сети, на котором появилось максимальное значение [2]. Например, если в сети с тремя выходами мы имеем вектор выходных значений (0.2,0.6,0.4), то мы видим, что максимальное значение имеет вторая компонента вектора, значит класс, к которому относится этот пример, - 2. При таком способе кодирования иногда вводится также понятие уверенности сети в том, что пример относится к этому классу. Наиболее простой способ определения уверенности заключается в определении разности между максимальным значением выхода и значением другого выхода, которое является ближайшим к максимальному. Например, для рассмотренного выше примера уверенность сети в том, что пример относится ко второму классу, определится как разность между второй и третьей компонентой вектора и равна 0.6-0.4=0.2. Соответственно чем выше уверенность, тем больше вероятность того, что сеть дала правильный ответ.
При выборе архитектуры сети обычно опробуется несколько конфигураций с различным количеством элементов. При этом основным показателем является объем обучающего множества и обобщающая способность сети. Для решения задачи идентификации и классификации можно использовать многослойный персептрон, сети Ворда, сети с самоорганизацией и др.
При решении задачи идентификации временных рядов в качестве нейронной сети была выбрана сеть встречного распространения. Возможности этой сети превосходят возможности однослойных сетей прямого распространения. Время же обучения по сравнению с алгоритмом обратного распространения ошибки может уменьшаться в несколько раз. Встречное распространение не столь общо, как обратное распространение, но оно может давать решение в тех приложениях,
где долгая обучающая процедура невозможна. Помимо преодоления ограничений других сетей встречное распространение обладает собственными интересными и полезными свойствами.
Во встречном распространении объединены две хорошо известные модели: самоорганизующаяся карта Кохонена и звезда Гроссберга. Их объединение ведет к появлению свойств, которых нет ни у одного из них в отдельности.
На рисунке 1 показана упрощенная версия прямого действия сети встречного распространения [3]. На нем иллюстрируются функциональные свойства данной парадигмы. Полная двунаправленная сеть основана на тех же принципах, она обсуждается позднее.

Нейроны КохоненаНейроны Гроссберга
Рисунок 1 - Сеть с встречным распространением без обратных связей
Нейроны слоя (0) служат лишь точками разветвления и не выполняют вычислений. Каждый нейрон слоя (0) соединен с каждым нейроном слоя (1), называемого слоем Кохонена, отдельным весом wmn. Эти веса в целом
рассматриваются как матрица весов W. Аналогично, каждый нейрон в слое Кохонена соединен с каждым нейроном в слое Гроссберга (слое 2) весом vnp. Эти
веса образуют матрицу весов V. Все это весьма напоминает другие сети, различие, однако, состоит в операциях, выполняемых нейронами Кохонена и Гроссберга.
Как и многие другие сети, встречное распространение функционирует в двух режимах: в нормальном режиме, при котором принимается входной вектор Х и выдается выходной вектор Y, ив режиме обучения, при котором подается входной вектор и веса корректируются, чтобы дать требуемый выходной вектор.
В своей простейшей форме слой Кохонена функционирует в духе «победитель получает все», т.е. для данного входного вектора один и только один
содержание:
[стр.Введение] [стр.1] [стр.2] Продаем конвектор noirot с доставкой распиловка бревен и их типы
