Боровиков В.П. - Нейронные сети (778916), страница 26
Текст из файла (страница 26)
Все данные находятся в формате системы о ТАТБТ1СА, поэтому их легко можно импортировать из среды о ТАТБТ1СА или, наоборот, преобразовать в формат данных о ТАТБТ1СА, пользуясь разнообразными возможностями се системы ввода/вывода. Однако новый набор данных можно создать прямо в паксте о ТАТБТ1СА Уеига! Мемог!ск. Для этого нужно проделать следующие действия.
Шаг!. Создать новую таблицу данных с помощью меню Файл— Созс)ать — Таблица. Шаг 2. В появившемся диалоговом окне создания нового документа (рис. 5.2) ввести значения числа переменных будущего набора данных и числа наблюдений. ~ П~Щ Я х1~ ! Рвс.
5.2 Шаг 3. Нажать кнопку ОК. В этом жс окне можно задать тип данных, формат их отображения и способ создания таблицы данных. Каждому наблюдению соответствует одна строка таблицы. В начальный момснт все ячейки таблицы будут пусты. Данные, которые потребуются для задаче «исключающего или», приведены на рис. 5.2. Положительный результат классификации обозначается цифрой 1 в столбце выходной переменной, 121 Нейронные оегно. ЗТАТШТЮА Неога! Мевеогне отрицательный результат — цифрой О.
Щелкните мышью в поле первой ячейки таблицы, введите «0» и нажмите клавишу табуляции (Таб). Рамка выделения переместится на следующую ячейку. Заполните таким же образом остальные строки таблицы. После того, как данные введены, их можно редактировать с помощью обычного интерфейса электронной таблицы. Прн этом имеется возможность изменять имена, добавлять и удалять наблюдения и переменные, устанавливать тнп переменных (входная/выходная), подразделять все наблюдения на обучающую, контрольную и тестовую выборки (установка типа переменных и разделения на подмножества наблюдений производится внутри модуля БТМ)о Т1СА Нейронные сети).
йобавпение набпюдений 1. Выделите строку, соответствующую наблюдению, щелкнув мышью в правой части ячейки с его названием. 2. Нажмите правую клавишу мыши и выберите из открывшегося контекстного меню опцию Добавить наблюдения. 3. В появившемся диалоговом окне укажите, какое количество наблюдений необходимо добавить. Удапение пишних наблюдений Если вы случаино создали лишнее наблюдение, его можно удалить следующим образом: 1. Выделите строку, соответствующую наблюдению, щелкнув мышью в правой части ячейки с его названием. 2.
Нажмитс правую клавишу мыши и выберите из открывшегося контекстного меню опцию Удалить наблюдения. 3. В появившемся диалоговом окне укажитс, какие наблюдения необходимо удалить. Изменение имен переменных и набпюдений В пакете ЮТ Феига! №ги огйв имеется возможность присваивать имена отдельным наблюдениям и переменным. Чтобы присвоить переменной имя, сделайте следующее: 1. Откройте диалоговое окно редактирования спецификаций переменной, дважды щелкнув мышью в верхней части ячейки с именем переменной.
2. В соответствующей графе введите имя переменной. 122 Гаага 5, Первые шаги е ЗТАТ18Т1СА Неига1 Недюже Для того чтобы присвоить имена наблюдениям, нужно отредактировать метки строк: 1. Дважды щелкните в правой части ячейки с названием наблюдения. 2. Введите имя наблюдения и щелкните в любом месте таблицы для выхода из режима редактирования. Рис. 5.3 Измените имсна всех наблюдений н переменных, чтобы ваша таблица выглядела, как на нашем рис. 5.3. грузие возможности редактирования данных Таблицы пакета БТ А/еига! Фв/1«ог/гв предлагают большой набор средств, облегчающих создание наборов данных и последующую работу с ними. Приведем их краткое описание. ° Перемещение активной ячейки.
Осуществляется клавишами с клавиа- туры: «~», «~», «1!», «1!». ° Выделение диапазона ячеек. Производится перетаскиванием указателя мыши или клавишами курсора при нажатой клавише Я1!/!. ° Копирование и вставка. Чтобы скопировать выделенный диапазон ячеек в буфер обмена, нажмите Ог!+С, чтобы вставить содержимое буфера обмена в таблицу — нажмитс Ог!+К Можно копировать и вставлять целыс строки и столбцы целиком. Возможен также обмен данными между пакетом ЮТ Феига! Же!и ог!гв и другими приложениями.
Чтобы скопировать всю таблицу в буфер обмена, используйте меню Правка— Колировать или Правка — Копировать с заголовком стандартной панели инструментов. ° Вставка. В любом месте таблицы можно вставить новую строку или столбец. Выделите любую строку/столбсц и щелкните правой клавишей мыши. Выбсрнтс из открывшегося контекстного меню Добавить 123 Нейронныв сото.
ЗТАТ!ВТ!СА Неона! Мывожз наблюдения/Добавить переменные. В открывшемся диалоговом окне укажитс количество строк/столбцов, которос необходимо вставить и номер строки, послс которой нужно сделать вставку. После нажатия клавиши ОК будст вставлено указаннос количество новых строк/столбцов. СОЗИДАНИЕ НОВОЙ СЕТИ Новая сеть создается средствами стартовой панели 5Т №ига/ Фе/нюг/гз Нейронные сети. Чтобы открыть ее, нужно зайти в меню Анализ стандартной панели инструментов и выбрать Нейронные сети. Стартовая панель, прсдставленная на рис. 5.4, содержит три вкладки (Быстрый, Дополнительно и Сети/Апнсамбли).
Бисер,а Лепоенна а) Сн Ннсв~бю~ ! ! ! Рис. 5.4 В пакстс БТ Иеига! Же/нюг/ге для конструирования сетей реализованы довольно сложные возможности, в том числе и мощные инструменты пре- и постпроцессирования,которыенеобходимыдляпрсобразованияинформации в числовую форму (для использования в сети) и обратно. 124 Гпава 5, Первыв шаги в ВТАТ!ЗТ!СА пеша! Не!вогиз Создание сети 1.
На вкладке Быстрый установите Тип задачи как Классификация. 2. Нажмите кнопку Переменные, чтобы вывести стандартный диалог выбора переменных. Это окно автоматически предлагает выбор переменных, соответствующих указанному типу задачи. 3. Выберите переменную Хог как Категориальную выходную переменную и персмснпые Р1тв! и эесопа как Иез!Рерывные входные переменные. Нажмите ОК в окнс выбора переменных, чтобы вернуться в стартовую панель, иа вкладку Быстрый, 4. В качестве инструмента выберите Конструктор сетей.
5. Нажмите ОК на стартовой панели, чтобы вывести диалоговое окно Конструктор сетей. б. Выберите тип сети из списка на вкладке Быстрый. Сейчас нам нужен тип Многослойный персептрон (МП), который всегда предлагается по умолчанию. 7. На вкладке Элементы задайте число скрытых слоев и количество элементов в каждом слое (в данном случае нужен один слой, состоящий из двух элементов). 8. Нажмитс кнопку Правка, чтобы вывести окно Редактор сетей, в котором можно просмотреть вес парамстры сетевой архитектуры.
9, Введитс нсобходимыс исправления в соответствия переменных и спецификации слоев сети (см. ниже). 10. Нажмите кнопку ОК, для вывода Результаты и затем снова нажмите ОК, чтобы вернуться на стартовую панель, в которой можно сохранить созданную новую сеть. Задание режима пре- и постпроцессирования и параметров сети Внести необходимые исправления в соответствия переменных и спецификации слоев сети можно в Редакторе сетей, в окне которого содержится восемь вкладок, позволяющих просматривать и/или редактировать по существу все параметры создания нейронной сети. 1. Для редактирования входных и выходных персмснных выберите вкладку Переменные.
На ней переменные выводятся в отдельных списках, показывающих параметры каждой переменной. В данном случае должно быть две входных и одна выходная переменная. 2. На этой же вкладке можно изменить, если потребуется, преобразующую функцию для прс- и постпроцессирования.
В данном случае вполне подходит функция Миннмакс. 125 Нейронные сети. ЗТАТ!8Т!СА Неога! Меопогке 3. На вкладке Дополнительно можно задать функции нормализации нейрона, которые обеспечивают некоторые дальнейшие возможности. Они позволяют БТАТ1о Т1СА Нейронные сети моделировать редкие типы сетей, которые могут быть интересны теоретикам нейронных сетей. Однако, как правило, они не нужны, и по умолчанию обе функции установлены на значение Непь Эти функции нормализации нейрона действуют на полный вектор входов или выходов, а не на входную или выходную переменную. Для задачи «исключающего или» нужна сеть с тремя слоями: входным слоем из двух элементов, промежуточным слоем из двух элементов и выходным слоем из одного элемента.
Замечание. Посмотреть архитекпгуру поспгрое~ной сент можно, наогсав на кнопку Архитеклгура сети в диалоговом окне Резульлгаты на вкладке Дополнительно. Рис. 5.5 Если вы точно следовали всем инструкциям, то у вас получится сеть, показанная на рис. 5.5.
Если же вы где-то ошиблись, то повторите все снова. СОХРАНЕНИЕ НАБОРА 0АННЫХ И СЕТИ После того, как мы потратили время и усилия на создание сети и набора данных, неплохо бы сохранить результаты нашей работы для дальнейшего использования. В о Т 1г1еига1 Неги огкх сеть и набор данных сохраняются в разных файлах. Для сохранения сетей используется вкладка Сети/Ансамбли стартовой панели Нейронные сети.
Данные сохраняются средствами стандартной панели инструментов Файл~Сохранить как.... 126 Гаага 5. Первые шаги в ЗТАТ18Т!СА Наша! иеаеожв Сохранение сети 1. Перейдите на вкладку Сети/Апсимбли стартовой панели Нейронные сети и нажмите кнопку Сохранить файл сети как..., чтобы вывести стандартный диалог сохранения файла. 2. Введите имя сети в поле Имя файла — г!!е Хате. 3. Нажмите кнопку Сохранить — агаве.
В качестве стандартного расширения имени файла сети используются лил. Во время сеанса работы имеет смысл периодически сохранять набор данных; функция Сохранить меню Файл сохраняет текущее состояние файла данных, не требуя повторного ввода имени файла. То же самое можно сделать с помощью кнопки Сохранить на стандартной панели инструментов. ОБУЧЕНИЕ СЕТИ Следующий шаг после задания набора данных и построения подходящей сети — это обучение. В пакете ЗТ Хеига! Хе!шаг!се реализованы основные алгоритмы обученна многослойных персептронов: методы обратного распространения, сопряженных градиентов и Левенберга-Маркара. В этой главе мы сосредоточимся на наиболее известном из них — методе обратного распространения (Раиегаоп, 1996; НауЫп, 1994; Гапзе11, 1994). Идея метода обратноео распространения 1.
Алгоритм обратного распространения последовательно обучает сеть на данных из обучающего множества. На каждой итерации (они называются эпохами) все наблюдения из обучающего множества (в данном случае оно совпадает со всем набором данных) по очереди подаются на вход сети, Сеть обрабатывает их и выдает выходные значения. 2. Этн выходные значения сравниваются с целевыми выходными значениями, которые также содержатся в наборе исходных данных, и ошибка, т.е.















