Обзор использования пакета Deductor.




Лабораторная работа №1.

 

Моделирования нейросети обратного распространения ошибки. Пакет Excel Neural Package.

Цель работы.

1.Приобретение навыков построения нейросетей с алгоритмом обратного распространения ошибки.

 

Порядок выполнения работы.

1. Изучить теоретический материал, приведённый в методическом пособии.

2. Изучить пример построения системы при помощи систем Excel Neural Package, Deductor и Statistica.

3. Открыть файл задания для моделирования.

4.Смоделировать нейросеть в трех пакетах.

5. Обучить сеть, получить и сохранить результаты.

6. Результаты лабораторной работы оформить в виде отчета.

 

Обзор использования пакета Excel Neural Package.

После установки пакета его можно использовать совместно с офисным приложением Microsoft Exсel – 97 (инструкцию по установке см. в файле READMY.doc). На панели инструментов EXCEL появляются две новые кнопки - - WinNet (реализует многослойный персептрон) и - Kohonen Map (реализует самообучающуюся сеть Кохонена).

Работа посвящена изучению многослойного персептрона.

Работа с пакетом Winnet

Возможны два варианта работы с пакетом, во-первых, данные вводятся впервые, во-вторых, обученная ранее нейронная сеть используется для работы с новыми данными.

В первом варианте необходимо обучить нейронную сеть на заданном наборе данных. Сеть построит аппроксимацию многомерных данных, автоматически подбирая веса нейронов. Для этого необходимо сделать следующее:

• загрузить данные из книги Excel в систему;

• определить, что является входной информацией, ачто -выходной;

• предобработать данные, т. е. осуществить их нормировку;

• оценить значимость входов для выходной информации и, если необходимо, изменить (удалить/добавить) входы;

• создать нейронную сеть;

• обучить нейронную сеть на заданном множестве примеров и оценить работу на тестовом множестве;

• сохранить предсказанные (обработанные) данные в книге Excel;

• сохранить обученную нейронную сеть для дальнейшей работы.

Разберем эти действия по шагам.

1)Для работы с данными выделите область на листе книги
Excel. Данные на листе располагаются следующим образом: входы и выходы - столбцы, строки - обучающие примеры. Например, требуется построить нейронную сеть, вычисляющую выброс свинца в атмосферу в зависимости от количества и вида проезжающего транспорта. Тогда исходные данные могут выглядеть следующим образом:

2)Щелкните мышью по кнопке с изображением нейрона на панели инструментов Neural Analysis. Появится диалоговое окно Select data source, предлагающее уточнить параметры области данных для работы.

 

3)В случае согласия с параметрами ввода нажмите ОК.

4)Откроется основное окно Winnet 3.0. Оно содержит 4 табулированных листа: Data, Network, Training и Output, ассоциированных с общими этапами работы.

5)Открывшийся лист Data позволяет определить и предобработать данные для последующего использования. Кроме того, с этого листа можно сохранить обученную нейронную сеть (Save Project...) или загрузить уже сохраненный в прошлом проект (Load Project...). Первое, что нужно сделать, это определить входы, для чего следует нажать кнопку Select Inputs....

6)В открывшемся диалоговом окне Select Inputs/All Data
выберете необходимые входы и с помощью кнопки >> переведите их в окно списка Inputs. Корректировку выбранных входов можно произвести кнопкой <.

7)Так как конкретные значения входов могут быть любыми, то рекомендуется их нормализовать. Для большинства случаев подходит нормировка входных значений Mean/Variance. При этом данные переводятся в безразмерную форму вычитанием среднего и нормированием на их дисперсию. Нажмите кнопку Normalization... и выберите в открывшемся окне Inputs normalization соответствующую позицию переключателя. Подтвердите выбор нажатием кнопки ОК Вернувшись в окно Select Inputs также подтвердите выбор нажатием кнопки ОК.

8)Далее, нажав на кнопку Select Outputs..., аналогично пунктам 6 и 7 определите и нормализуйте, при необходимости, выходы системы.

9)Определение значимости входной информации для предсказания выходной начинается с нажатия кнопки Boxcouting..., по которому система, используя алгоритм Boxcouting, определит статистическую значимость входов для заданных выходов. В открывшемся окне Boxcouting results представлена результирующая информация.

 

Причем:

• чем выше столбец гистограммы для данного входа, тем значимее его информация;

• чем больше отношение Mean predictability/Variance отличается от 1, тем большего успеха можно достичь в предсказании выходной информации. Не имеет смысла использовать входы, значимость которых близка или равна нулю. Поэтому, вернувшись в основное окно, удалите их из списка Inputs.

10) Следующий этап - создание нейронной сети (многослой­ного персептрона). Перейдите на закладку Network и нажмите на кнопку Create Net.... В открывшемся окне Network Construction можно полностью определить структуру и топологию нейронной сети:

• количество слоев;

• тип активационной функции нейронов данного слоя;

• число нейронов в слое;

• порядок нелинейности нейронов данного слоя.

При определении структуры и топологии сети будем руководствоваться следующими соображениями:

1. Для хорошей гладкой аппроксимации данных общее число связей сети должно быть в несколько раз (лучше на порядок) меньше числа обучающих примеров. В противном случае нейронная сеть просто запомнит данные, потеряв возможность делать статистически значимые предсказания на новых данных (явление переобучения).

2. В большинстве задач нет смысла использовать архитектуру нейронной сети с количеством скрытых слоев более одного. Нелинейный же характер нейронной сети определяется количеством нейронов в этом скрытом слое.

3. Доказано, что двухслойные нейронные сети с сигмоидальными передаточными функциями могут реализовать любые отображения входного сигнала в выходной.

4. Использование порядка нелинейности нейрона более 1 не рекомендуется.

5. Согласно исследованиям, количество нейронов в скрытых слоях сильно зависит от размера обучающей выборки. Например, если обучающая выборка мала, а количество нейронов велико, то сеть начинает запоминать факты, тогда как в задачах прогнозирования требуется обобщение. Обратная ситуация может привести к тому, что сеть никогда не обучится. Однако в настоящий момент не разработано исчерпывающей и однозначной методики для определения количества нейронов в скрытых слоях. Поэтому определение количества нейронов в скрытом слое для каждой задачи необходимо проводить опытным путем.

11) Для обучения созданной нейронной сети перейдите на следующую закладку Training. Перед обучением надо задать тестовое множество примеров из общей совокупности обучающих примеров. Эти примеры не будут участвовать в обучении. На них будут основываться оценки предсказательных свойств обучен нейронной сети. Щелкните по кнопке Edit test set.... В окне можно задать размер и характер обучающей выборки.

Общие рекомендации:

• число примеров в тестовой выборке должно составлять 20-30%, но не менее нескольких десятков;

• при решении задач аппроксимации наиболее естествен­ным является случайный выбор тестового множества. Отдельная опция Random + Last examples введена для задач прогнозирова­ния временных рядов. При этом последние примеры всегда ис­ключаются из обучения и являются, по сути, прогнозом.

Подтвердите выбор нажатием кнопки ОК и вернитесь в ос­новное окно.

12) Теперь можно начинать обучение. Нажав кнопку Start training, можно наблюдать за ходом обучения нейронной сети по изменению информации в области Training Info или в графиче­ском виде в соответствующих окнах, вызываемых нажатием кла­виш в области Graphs. Желательно остановить процесс обучения в момент, когда ошибки обучения и обобщения начнут сильно рас­ходиться. Рост ошибки обобщения сигнализирует о начале пере­обучения.

13) По завершении процесса обучения его результаты можно визуально оценить на графике Network answers..., вызываемом по нажатию соответствующей кнопки.

14) Пакет позволяет управлять параметрами процесса обу­чения. Но данными возможностями рекомендуется пользоваться только подготовленным пользователям висключительных случаях.

15) Теперь осталось сохранить проест (Save Project...) и экспортировать результаты назад вкнигу Excel, Для экспорта ре­зультатов перейдите на закладку Output, задайте необходимые параметры и сохраните результаты нажатием кнопки ОК.

Вид листа Excel после вставки результатов.

 

 

Как видно, разница между реальными и вычисленными значениями свинца очень мала. Теперь спроектированную и обученную нейронную сеть можно сохранить на вкладке Data \ Save Project... В дальнейшем эта сеть может использоваться для вычисления и прогнозирования выброса свинца при других исходных данных по автомобильному потоку уже без использования данных для обучения.

 

Обзор использования пакета Deductor.

Рассмотрим решение той же самой задачи: определить выброс свинца в атмосферу в зависимости от количества и вида проезжающего транспорта в аналитическом пакете Deductor.

В качестве обучающего набора данных выступает база данных Свинец.xls, содержащая информацию о количестве автомобилей различных типов, проезжающих в сутки мимо точки забора пробы: легковые автомобили с бензиновым двигателем; грузовые автомобили с бензиновым двигателем; автобусы с бензиновым двигателем; легковые автомобили с дизельным двигателем; грузовые автомобили с дизельным двигателем; тракторы; автобусы с дизельным двигателем. На основе этих данных необходимо построить модель, которая сможет рассчитать значение выброса свинца в атмосферу. Задача относится к группе обучения с учителем.

Данные для анализа находятся в файле Свинец.xls. Импортируем данные из файла при помощи мастера импорта . В открывшемся окне выбираем тип файла – Excel.

 

Затем выбираем наш файл в разделе «База данных», и указываем нужный лист с данными в разделе «Таблица в базе данных».

 

На следующей странице запускаем импорт нажатием кнопки «Пуск».

 

 

ВНИМАНИЕ! Пакет Deductor очень капризен в отношении импортируемых данных! При несовпадении типов данных в одном столбце, пропущенных данных, а также иногда без явной причины, импорт становится невозможным:

 

 

Лучше, если данные для пакета Deductor представляются в виде сплошного набора цифр, без заголовков и названий:

 

Представление исходных данных в файле Свинец.xls

 

Те же данные, обработанные для импорта в пакет Deductor.

Далее, для каждого импортированного столбца можно скорректировать имя и тип данных. В нашем случае первые 7 столбцов будут являться входными, а последний, 8-ой – выходным столбцом.

 

 

Сначала в качестве способа отображения выбираем таблицу:

 

В рабочем окне получаем таблицу с импортированными данными:

 

Далее для решения задачи запускаем мастер обработки и выбираем метод обработки данных - нейронная сеть.

 

Задаем назначения исходных столбцов данных. Выходной столбец в нашей задаче - "Свинец", все остальные - входные. Эти установки уже были нами проделаны при импорте, поэтому здесь достаточно просто нажать кнопку «Далее».

 

 

 

На следующем шаге мастер предлагает разбить исходное множество данных на обучающее и тестовое. Способ разбиения исходного множества данных по умолчанию задан "Случайно".

 

 

На следующем шаге необходимо определить структуру нейронной сети, т.е. указать количество нейронов в входом слое - 7 (количество входных переменных), количество скрытых слоев -1, количество нейронов в скрытом слое - 3, в выходном слое - 1 (количество выходных переменных). Активационная функция - Сигмоида, и ее крутизна равна единице. Этот шаг проиллюстрирован на рис. 11.7.

 

 

 

Далее выбираем алгоритм и параметры обучения нейронной сети. Этот шаг имеет название "Настройка процесса обучения нейронной сети".

 

На следующем шаге настраиваем условия остановки обучения. Будем считать пример распознанным, если ошибка меньше 0,005, и укажем условие остановки обучения при достижении эпохи 10000.

 

На следующем шаге запускаем процесс обучения и наблюдаем за изменением величины ошибки и процентом распознанных примеров в обучающем и тестовом множествах.

 

 

После окончания процесса обучения для интерпретации полученных результатов мы имеем возможность выбрать визуализаторы из списка предложенных. Выберем такие: граф нейросети и анализ "что, если", и при помощи них проанализируем полученные данные.

 

В открывшемся окне мы увидим две вкладки: на первой отображено изображение построенной сети, а на второй – Визуализатор «что-если».

 

Визуализатор "что-если" позволяет использовать готовую нейронную сеть для прогнозов. Данные по количеству проезжающего транспорта следует ввести в соответствующие поля, и построенная модель рассчитает значение поля "Свинец", т.е. решит поставленную задачу.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-11-19 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: