Боровиков В.П. - Нейронные сети (778916), страница 25
Текст из файла (страница 25)
Несмотря на то, что они работают медленнее более компактных МЛП- и РБФ-сетей, они обучаются почти мгновенно, и это важно, поскольку при псрсборе большого числа комбинаций входных переменный приходится каждый раз строить новыс сети. Кроме того, РХХ и 0КХХ (как и РБФ) — это радиальные сети (в первом слое они имеют радиальные элементы, и аппроксимирующие функции строятся в виде комбинаций гауссовых функций). При отборс входных псрсмснных это является преимуществом, поскольку радиальные ости в большей степени страдают от проклятия размсрпости, чем сети, построенные на линсйных элементах.
Чтобы понять причину этого, рассмотрим, что произойдет, если мы добавим в сеть новую, возможно, совсршснно несущественную входную псрсмснную. Сеть на линейных элементах, например МЛП, можст научиться присваивать весам, идущим от этой переменной, нулевыс значения, что означает игнорирование псрсмснной (реально это происходит так: изначально малые веса этой псрсмсппой так и остаются малыми, а веса содержательных входных переменных меняются нужным образом). Радиальная сеть типа РХХ или СКИТ нс можст позволить ссбс такую роскошь: кластеры, образующиеся в пространстве небольшого числа существенных перемен- 116 Гоава 4 Общоб обзор неаронных севеб ных, будут «размазаны» по направлениям несущественных размерностей— для учета разброса по несущественным направлсниям требуется большее число элсмснтов.
Сеть, в большей степени страдающая от наличия плохих входных переменных, имсст преимущсство, когда мы стремимся избавиться от этих плохих данных. Поскольку описанный процесс экспериментирования занимает много времени, в пакете о Т №иги! №поогкк имеется инструмснт, который позволяет сделать это автоматически. В нем для выбора подходящей комбинации входных псрсмснных используется так называемый генетический алгоритм (Оо)оЬегй, 1989). Гснстичсские алгоритмы хорошо приспособлены для задач такого типа, поскольку они дают возможность проводить поиск среди большого числа комбинаций входов при наличии взаимозависимостей между входными псрсмснными, Существует и другой подход к проблеме размерности, который может использоваться как альтернатива или как дополнение к методам отбора переменных: это понижсние размерности. Суть его состоит в том, что исходная совокупность переменных прсобразуется в новую совокупность, состоящую из меньшего числа переменных, но при этом (как мы надеемся) содсржащую по возможности всю информацию, заложснную в исходных данных.
В качестве примера рассмотрим данные, вес точки которых расположены на нскоторой плоскости в трсхмсрном пространстве. Настоящая размерность данных равна двум (поскольку вся информация на самом деле содержится в двумерном подпространстве). Если мы сумеем обнаружить эту п.зоскость, то на вход ссти можно будет подавать входные данные меньшей размерности, и появится больше шансов на то, что такая сеть будет работать правильно.
Самый распространенный метод понижения размерности — это метод главных компонент (В(зйор, 1995) (АГК). Метод состоит в следующем: к данным примснястся линейное преобразование, при котором направлениям новых координатных осей соответствуют направления наибольшсго разброса исходных данных. Как правило, уже первая компонента отражает большую часть информации, содсржащсйся в данных. В пакетс ШТАТ!БТРА МЖ имеется возможность построения ости главных компонент, Очень часто мстод АГК выделяет из многомерных исходных данных совсем небольшое число компонснт, сохраняя при этом структуру информации. Один из недостатков метода главных компонент заключается в его линейности и, следовательно, в невозможности учесть нскоторыс важные характеристики структуры данных.
В пакете БТ №ию1 №~ногкз рсачизован также вариант «нелинейного АГК», основанный ца использовании так называемой автоассоциативной сети (В)айор, 1995; Еацвсп, 1994; Вои!апо апо Кагпр, 1988). Это сеть, которую обучают выдавать в качестве выходов свои собствснныс входные данные, но при этом в ес промсжуточном слое содержится 117 Нейронные сети. ЗТАТ1ЗТ!СА Неиге1 НеаесгКе меньше нейронов, чем во входном и выходном слоях. Поэтому, чтобы восстановить свои входные данные, сеть должна научиться представлять их в более низкой размерности. Сеть «впихивает» наблюдения в формат промежуточного слоя и только потом вьщает их на выходс. После обучения автоассоциатнвной сети ее внешний интерфейс может быть сохранен и использован для понижения размерности. Как правило, в качестве автоассоциативной сети берется многослойный персептрон с тремя промежуточными слоями, При этом средний слой отвечает за представление данных в малой размерности, а два других скрытых слоя служат соответственно для нелинейного преобразования входных данных в средний слой и выходов среднего слоя в выходной слой.
Автоассоцнативная сеть с единственным промежуточным слоем мажет выполнять только линейное понижение размерности и фактически осуществляет АГК в стандартном варианте. Гпава 5 ПЕРВЫЕ ШАГИ В ЗТАТ!ЗТ!СА НЕОНА~ МЕТФОВКЗ НАЧИНАЕМ РАБОТУ В этой главе на примере классической задачи «исключающего или» будут описаны основныс шаги по созданию и применению нейронных сетей в среде пакета ЯТ №ига! Иегвог!гк Прочитав этот раздел, вы будете знать, как: ° создать файл данных пакета оТ Меига! Иеп«огиз; ° построить нейронную сеть в пакете ЬТ !Уеига! !Уегв овгз; ° обучить нейронную сеть на множестве данных; ° запустить обученную нейронную сеть на исполнение и вывести статистики, характеризующие сс работу; ° сохранить или открыть ранее сохраненный набор данных или экземпляр сети.
Задача «ыскпючающего ыпы» Читатель, уже знакомый с нейросетевыми мегодами и задачей «исключающего нли», может пропустить этот раздел. Если же вы новичок в нейронных сетях, мы советуем заранее (либо параллельно с этой главой) прочитать предыдущую главу настоящего руководства и/илп какую-нибудь хорошую книгу по этой теме. Далее мы будем предполагать, что вы знакомы со следующими базовыми понятиями: как используются обучающие данные, как работает элемент сети и какой смысл имеют веса сети. Задача «нсключающего или» (Хог) была очень популярна среди пионеров в области нейронных сетей (НауЫп, 1994).
Она формулируется очень просто: имея две бинарныс входные перемснные, каждая из которых может прини- 119 Нейронные севе ЗТАТ!ЗТ!СА Несла! не«таст«е мать значение ноль или единица, распознать случаи, когда одна из этих переменных равна единице, а другая нулю. Всего здесь возможны четыре типа наблюдений: Ход. Нет Да Дд Нс~ Вход 2 О О 1 1 Вход У О 1 О 1 СОЗИДАНИЕ НАБОРА САННЫХ Прежде чем двигаться дальше, давайте запустим оТ Иеиги! Жеги оМз.
После того, как программа была инсталлирована, это делается обычным образом — путем выбора соответствующего пункта в списке программ или же двойным щслчком по пиктограмме ЬТАПКТ1СА на рабочсм столе андорра. Сам модуль запускается через меню Анализ, далее — Нейронные сети. 120 Из этой таблицы видно, какой интсрес представляет задача «исключающего или».
На рис. 5. 1 соответствующие точки изображены па плоскости, где ось Хсоотвстствует переменной Вход 1, а ось У- псрсменной Вход 2. Случаи «Да» обозпачсны кружками, а случаи «Нет» — крестиками. Хотя задача кажется совсем простой, у нес сеть одна особенность, представляющая трудность лля многих методов решения задач анализа данных: она линейно неотделима. Иначе говоря, невозможно Одна линия не может провести прямую линию на плоскости разделить даа «ласса так, чтобы положительные случаи оказались по одну сторону от нес, а отрицатсльныс — по другую. Это значит, что линейныс методы, Рис. 5.1 широко применявшиеся па протяжении многих лет, неприменимы для рсшсния такой задачи.
В то жс время, задача «исключающего или» вЂ” это действительно фундаментальная задача: она является простейшим примером из целого класса наиболсс часто встречающихся задач, Как будет рассказано в этой главе, одна из причин того, что нейронные сети имеют столь большос значение, заключается в том, что они способны решать линейно нсотделимыс задачи классификации, простсйшим примсром которых служит задача «исключающсго или». Гпава е.
Первые шаге в ЗТАТ!ЗТ!СА иевса~ Ие!аос«в Ввеяение Одно из главных свойств нейронных сетей состоит в том, что они способны учиться решать задачи на примерах. Вмссто того, чтобы непосредственно задавать значения вссов сети (хотя в системе оТИеига! №гиог!с» это возможно), мы подаем на вход сети набор обучающих примеров, а затем с помощью того или иного алгоритма обучения, например, методом обратного распространения, веса ссти корректируются таким образом„чтобы она училась понимать обучающие данные. В пакстс ЯТ Неита! №гиог!сз обучающие данные хранятся в виде набора данных, содержащего некоторое количество наблюдений, для каждого из которых заданы значения нескольких входных и выходных псременных.















