Боровиков В.П. - Нейронные сети (778916), страница 31
Текст из файла (страница 31)
Результат затем пропускается через нелинейную функцию активации. Линейность РБР-функции означает, что многослойный персепгрон фактически делит пространство входных векторов на части посредством гиперплоскостей (в двумерном пространстве гиперплоскость — это обычная прямая). В отличие от многослойного персептрона с его линейным подходом, в сети на радиальных базисных функциях используется радиальная РБР-функция, В каждом элементе вычисляется квадрат расстояния от входного вектора до вектора весов. Затем это расстояние умножается на «пороговое значение» (в действительности, на величину отклонения), после чего результат пропускается через функцию активации.
Таким образом, сеть на радиальных базисных функциях делит пространство входов посредством гиперсфер (в двумерном пространстве гиперсфера — это окружность). Каждый из двух описанных подходов имеет свои достоинства и недостатки. Действие радиальных функций очень локально, в то время как при линейном подходе охватывается все пространство входов.
Поэтому, как правило, РБФ-сети имеют больше элементов, чем МЛП-сети, однако МЛП может делать необоснованные обобщения в ситуациях, когда ему попадается набор данных, непохожий ни на какие наборы из обучающего множества, в то время как РБФ в таком случае всегда будет выдавать почти нулевой отклик. Гпава 6. пааьнейшве возыожносп~в нейронных сетей В теории отмечается также, что для решения некоторых классов задач с помощью МЛП требуется два промежуточных слоя, а иногда для большей эффективности приходится брать даже большее число промежуточных слоев.
В отличие от этого, для РБФ-сети всегда достаточно одного промежуточного слоя. РБФ-сеть всегда состоит из трех слоев: входного, пром~куточного, состоящего из радиальных элементов, и линейного выходного слоя. Благодаря нелинейности радиальных элементов этот выходной слой можно брать уже чисто линейным (т.е. с линейной РВР-функцией и линейной функцией активации). В программу ЮТ№ига! №гиог1сз заложены стандартные методы линейной оптимизации, позволяющие оптимизировать параметры выходного линейного слоя при любых заданных параметрах предыдущих слоев сети. Таким образом, способ обучения РБФ-сети принципиально отличается от того, который мы имели в случае МЛП.
Прежде всего, с помощью обучения без учителя (т.е. когда в обучающих данных в расчет принимаются только значения входных переменных) определяются радиальные центры и отклонения (или протяженность). По сути дела, идея состоит в том, чтобы поместить центры в середины кластеров обучающих данных, а отклонения выбрать так, чтобы они отражали плотность данных в кластерах. Затем происходит оптимизация линейного выходного слоя методом псевдообратных матриц. Можно действовать иначе: изменить вид функций активации элементов выходного слоя на логистические (Еоя1з!1с) и затем обучить этот слой с помощью метода обратного распространения, сопряженных градиентов или Левенберга-Маркара, соединив таким образом преимущества нелинейности радиальных функций и устойчивость логистических функций активации, правда, ценой увеличения времени обучения.
Применение РБФ-сегпы в задаче с ырысамц Чтобы построить РБФ-сеть, воспользуемся, как обычно, Конструктором сетей и укажем в нем тип сети Радиальная базисная функцил. Всякий раз, когда вы меняете тип сети, программа ЮТ №ига! №пюгкз автоматически предлагает подходящий режим пре- и постпроцессирования и параметры слоев. Как и в случае многослойного персептрона, необходимо только скорректировать число скрытых элементов. Для данной задачи разумно взять десять скрытых элементов. Обучается сеть через диалоговое окно Радиальные базисные функции— обучение, которос открывается командой Радиальные базисные функции— кадкз! Ваиз Рипсбонз, Обучить — Тгат, 149 Нейронные сети.
ЗТАТ18Т!СА иене! Нетель Обучение РБФ-сегпц 1. В поле Радиальное задание выберем К-средние. Центры радиальных элементов будут расположены в центрах кластеров. 2. В поле Радиальное распростра пение выберем Изотропные. Отклонения будут выбраны с учетом числа элементов и разброса обучающих данных. Как можно заметить, радиальная базисная функция имеет еще одно достоинство — она обучается очень быстро, и в данной задаче качество регрессии окажется сравнимым с тем, что дает многослойный персептрон.
Один из недостатков этого метода состоит в том, что алгоритм псевдообратных, используемый для обучения, может давать большую ошибку при слишком малых радиальных отклонениях, поэтому методы Изотропные— 1зоГгор!с и К-средние — К-Меапзнужно использовать с осторожностью. ПИНЕЙНЫЕ МОИЕПИ Главная причина популярности нейронных сетей кроется в их способности моделировать нелинейные задачи, т.е.
задачи классификации, которые нельзя решить, проводя гиперплоскость между классами, и задачи регрессии, которые нельзя решить, проводя гиперплоскость через данные. Прн этом, однако, не следует пренебрегать и простыми линейными моделями. Часто оказывается, что задача, считавшаяся сложной и нелинейной, на самом деле может быть успешно решена линейными методами, и, во всяком случае, линейная модель является хорошей точкой отсчета для сравнения эффективности различных более сложных методов.
В пакете о"!' Иеига! !ус~и'огкз линейные модели строятся с помощью спсциального типа нейронных сетей — линейных. Линейная сеть имеет всего два слоя: входной и выходной, имеющий линейные РБР-функции и функции активации. Как и выходной слой РБФ-сети, линейная сеть оптимизируется непосредственно с помощью метода пссвдообратных. Чтобы построить линейную модель в задаче регрессии для ирисов, воспользуемся диалоговым окном Создать сеть — СгеаГе Хе!ног!г: выберем тип сети Линейная — 1,!пеак Советник — Иегьот!г Ади!юг автоматически сконфигурирует все остальные параметры сети.
После того, как есть построена, обучим ее, нажав кнопку Псевдообратные — Рзеидо-1пиегзе в диалоговом окне Радиальная базисная функии»вЂ” ЯаЖа! Вав!з Рипс!юп (на самом деле эта кнопка оптимизирует выходной слой любой сети в предположении, что РЯР-функции и функции активации этого слоя линейны). Посмотрев статистики регрессии (мы предполагаем, что используется тот жс самый набор данных), вы обнаружите, что Отношение ст.откл. при 150 Гпввв 6. Пвпьнавшов возможносео нваронных свтеп обучении — Тгат1нК Х1).
Ааг!о равно 0,1135, а Контрольное отношение ст.откл. — Репка!!оп ЗР. Кайо равно 0,1723. Результат действительно получился того же порядка, что у нелинейных моделей, хотя вполне вероятно, что мы не выжали из нелинейных моделей все, на что они способны. СЕТИ КОХОНЕНА Обсуждение В сетях Кохонена происходит неуправляемое обучение (без учителя): сеть учится распознавать кластеры среди неразмеченных обучающих данных, содержащих только входные значения.
Кроме этого, сеть Кохонена располагает родственные кластеры поблизости друг от друга в выходном слое, формируя так называемую топологическую карту (Торо!ой!са! Мар) (НауЫп, 1994; Рапзе11, 1994; Рацегвоп, 1996). Сети Кохонена используются не так, как сети других типов, и пакет оТИеига! Иегнюг!гз имеет специальные средства для работы с ними, в том числе; ° окно Частоты выигрышей, в котором показывается, где в сети формируются кластеры; ° окно Тоиологическая карта, которое показывает, какие наблюдения отнесены к тому или иному кластеру, и помогает пользователю правильно пометить элементы и наблюдения. Для упражнения мы возьмем файл 1ПзБМИл!а с четырьмя входными [,31,Е1тБТН, БРР11)ТН, Р1.ЕИБТН, РК'ШТН), одной выходной переменной (Ж01РЕА) и одной переменной с кодами выборок (Л)зЮЕТ).
Обратите внимание на то, что хотя сеть Кохонена при обучении не нуждается в выходных значениях, она будет их использовать, если такие значения имеются в файле. Выход сети Кохонена в пакете БТ Меига! )уегног!Гз всегда будет номинальной переменной (т.е. такая сеть всегда выполняет классификацию). Построим сеть Кохонена с помощью диалогового окна Конструктора сетей, задав в нем тип сети Самоорганизующаяся карта Кохонена.
БТ4Т1БТ1СА МУ автоматически определит большинство параметров пре- и постпроцессирования, включая (в данном случае) номинальную выходную псрсменную с тремя классами-значениями (Ее!ока, !'егз!со! и П;рп!с). Сеть Кохонена всегда состоит из двух слоев: входного слоя и выходного— топологической карты.
Выходной слой сети Кохонена отличается тем, что он располагается в двумерном пространстве. Чтобы задать слой, нужно перейти иа вкладку Элементы и указать размеры топологической карты по ширине и высоте (рис. 6.6). В этом примере нам будет достаточно топологической карты 4х4. 151 Нейронные сета. ВТАТ18ТЮА йеша! йеавожа Рае.















