Боровиков В.П. - Нейронные сети (778916), страница 53
Текст из файла (страница 53)
Автоматичесний конструктор сети Процссс выбора подходящего типа сети и ее архитектуры может оказаться долгим и малопродуктивным, поскольку оц состоит из большого числа проб и ошибок. Более того, поскольку в обучении присутствует шум, и алгоритм может застревать в локальных минимумах, каждый эксперимент необходимо повторять несколько раз. Эту нудную работу можно свести к минимуму, используя реализованные в пакете ЯТАТ13Т1СА Нейронные сети возможности автоматического конструирования сетей, при этом используются достаточно сложные алгоритмы оптимизации, позволяющие автоматически проводить большие серии экспериментов и выбирать наилучшую архитектуру и размср сети.
Функции автоматического конструирования сети вызываются при выборе инструмента — Мастер решений. Здесь нужно просто указать те типы архитектур, которые должны быть рассмотрены, задать число итераций (илн время анализа), определяющее продолжительность поиска (поскольку работа 290 Гпввв 9. Кротков руководство алгоритма может занять много времени, имеет смысл сначала задать небольшое число итераций, чтобы оценить, сколько времени может уйтн на весь поиск), и выбрать Критерий выбора сохраняемой сети, который будет штрафовать сеть с неоправданно большим числом элементов. Алгоритм выполнит положенную серию экспериментов и укажет лучшую из полученных сетей.
Если этот алгоритм применяется в задаче анализа временного ряда, то дополнительно нужно задать значение параметра Временное окно. Генепзцческцц апворцтм отбора вхо9ных 9анных Один из наиболее трудных вопросов, которые приходится решать при применении нейронных сетей, — это вопрос о том, какие из входных переменных следует использовать (редко бывает известно заранее, какие нз них важны для решения задачи, а какие нет).
С помощью инструмента Понижение размерности, доступном из вкладки Донол нительно сга ргового меню, можно в автоматическом режиме найти подходящий набор входных переменных. Путем построения и тестирования большого числа РХХ- или ОКХХ-сетей (для задач классификации или регрессии соответственно) с различными наборами входных переменных, генетический алгоритм (а также алгоритмы с включением и исключением) производит отбор комбинаций входов и ищет наилучшую из них. Как и в случае с автоматическим конструктором сети эта процедура может потребовать много времени, но, тем не менее, именно она часто оказывается единственным способом решения задачи. В процессе работы генетический алгоритм порождает большое число пробных битовых строк (их число задается параметром Понуляция) и искусственно «скрещивает» их на протяжении заданного числа поколений, используя при этом операции искусственного отбора — мутацию и скрещивание,— интенсивностыо которых можно управлять.
Сеть РХХ или ОКХХ обучается с заданным параметром сглаживания (разумно перед применением генетического алгоритма пропустить несколько тестов для определения подходящего коэффициента сглаживания), а для того, чтобы дать преимущество небольшим наборам входных переменных, можно задать параметр Шпграф за элемент. Алгоритм просматривает всс входные переменные, имеющиеся в наборе данных.
Чтобы запустить алгоритм, нужно нажать кнопку ОК. Когда его работа закончится, в таблице в нижней части окна напротив полезных переменных будет выведено слово Да, а напротив бесполезных — Прочерк. Чтобы воспользоваться результатами работы алгоритма, нужно предварительно в меню Понижеггшг размерности на вкладке Конец анализа выбрать Запусгггить Конструктор сетей для выбранных переменных илн Занустить Мастер решений для выбранных переменных. нейронные сетв. ЗтАт18тгсА неигы нмаогмв РАБОТА С СЕТЬЮ Получение выхо9ных значенп0 После того, как сеть обучена, с ее помошью можно проводить анализ данных: прогонять сеть на отдельных наблюдениях из текущего набора данных, на всем наборе данных или на произвольных, заданных пользователем наблюдениях.
Сетью можно обрабатывать и любой другой совместимый набор данных, имеющий входные переменные с такими жс именами и определениями, как и в сети. Это означает, что построив сеть, мы более не привязаны к обучающсму множеству. Если анализируется набор данных, у которого помимо входов совместимы и выходные значения, то программа БТй!БТ!СА Нейронные сети вычислит значения ошибок. При открытии сети или набора данных программа о ТАТ15ТХСА Нейронные сети проверяет, имеются ли в наборе данных переменные, совместимые с входными переменными сети. Если такие сеть, то их тип в наборе данных автоматически устанавливается таким, как нужно, а все остальные переменные игнорируются.
Таким образом, можно иметь несколько сетей (в виде файлов), работающих с разными входными переменными из одного и того же набора данных, и прн загрузке ссти структура набора данных будет автоматически настраиваться на сеть. Одиночные наблюдения мвкно прогонять с помощью команды Наблюдение пользователя (мензо Результаты — вкладка Донолнительно).
Чтобы прогнать новое наблюдение, задайте его номер в соответствующем поле окна, а чтобы прогнать текущее наблюдение, просто нажмите кнопку Прогнать пгекугщее. Значения входных переменных для данного наблюдения выводятся в нижней таблице, а значения выходных можно увидеть, нажав кнопку Предсказанные. Также пользователь может самостоятельно задать вектор входных значений с помощью кнопки Значения пользователя, Если текущий набор данных содержит совместимые выходные данные, то под фактическим выходным значением выводится целевое значение и разность между ними, т.е.
ошибка. Имеется три формата вывода: Переменггые (постпроцессированные персменные после масштабирования и преобразования номинальных значений), Активации (значения акпваций для выходных элементов сети, как правило, для показа доверительных уровней в задачах классификации) и Кодировки (этот формат применяется в сетях Кохонена и представляет собой вектор весов выигравшего радиального элемента — ближайшего к тестируемому наблюдению) (рис. 9. 15). Прогон всего набора данных осуществляется командой Запустить модель стартового меню (предварительно необходимо построить сети и на окне результатов нажать ОК, а затем указать новый источник данных). 292 Гпааа В. Краткое руководство Рис. 9.15 11ри этом выходные значения (в одном из трех перечисленных выше форматов) выдаются в виде одной таблицы, содержащей также целевые значения и ошибки (ошибки, как говорилось выше, выводятся, только если задано значенис выходной/зависимой переменной), если они могут быть вычислены.
Выдается как ошибка для каждого значения, так и суммарная среднеквадратичная ошибка. Это окно может быть особенно полезно в случае„если нейронная сеть используется как один из этапов в сложной последовательности операций с данными. Чтобы обработать отдельное наблюдение (не входящее ни в какой набор данных), нужно воспользоваться командой Значение пользователя. В таблицу можно ввести с клавиатуры любые входные значения и затем с помощью сети получить для них прогноз.
Эта возможность может оказаться полезной, если в процессе экспериментов вы захотите немного изменить значения переменных в данном наблюдении, чтобы посмотреть, как такие изменения повлияют на прогноз. Внутренние активации Обычно нейронную сеть считают «черным ящиком», однако иногда может возникнуть желание «заглянуть внутрь этого ящика», например, чтобы попытаться выяснить роль скрытых элементов. В окне Архитектура сети (меню Результиты, вкладка Дополнительно) выводятся внутренние активации элементов сети — в виде цветового выделения на графе сети (рис. 9.16).
Здесь можно запать номер наблюдения, чтобы прогонять наблюдения из набора данных. Уровни активации (по умолчанию) показаны цветом — черным для положительной активации, серым для отрицательной. 293 Неаронные с«па. ЯТАТ18Т!СА И«ига! Мжеогкя Ряс. 9.16 Топояогцческая карта и частоты выигрыше0 Работа с сетями Кохонена имеет ряд особенностей. Во-первых, во время нее полезно смотреть на топологическую карту, где в наглядном виде представлены активации радиальных элементов для каждого обрабатываемого наблюдения. Во-вторых, сети Кохонена обучаются сами, в связи с чем возникает необходимость выявлять кластеры в топологической карте (подсчитьвая, сколько раз тот илн иной элемент «выигрывал» при обработке обучающих примеров) и затем помечать эти кластеры, приписывая элементам названия классов.
В окне Частоты выигрышей можно прогнать весь набор данных и подсчитать, сколько раз «выигрывал» каждый радиальный элемент (т.е. элемент, чей вектор вссов оказывался ближе всех к данным наблюдениям). Эги частоты выигрышей выводятся в виде таблицы с сохранением топологии, гго позволяет идентифицировать часто выигрывавшие элементы, которые соотвсзствуют кластерам в данных. В окне Топологическоя карта реализованы различные средства, позволяющие проанализировать работу сети Кохонена, идентифицировать кластеры и пометить классы и соответствующие им элементы.















