I. Обзор использования пакета Excel Neural Package.
После установки пакета его можно использовать совместно с офисным приложением Microsoft Exсel – 97 (инструкцию по установке см. в файле READMY.doc). На панели инструментов EXCEL появляются две новые кнопки - -WinNet (реализует многослойный персептрон) и -Kohonen Map (реализует самообучающуюся сеть Кохонена).
Работа посвящена изучению многослойного персептрона.
Работа с пакетом Winnet
Возможны два варианта работы с пакетом, во-первых, данные вводятся впервые, во-вторых, обученная ранее нейронная сеть используется для работы с новыми данными.
В первом варианте необходимо обучить нейронную сеть на заданном наборе данных. Сеть построит аппроксимацию многомерных данных, автоматически подбирая веса нейронов. Для этого необходимо сделать следующее:
загрузить данные из книги Excel в систему;
определить, что является входной информацией, а что -выходной;
предобработать данные, т. е. осуществить их нормировку;
оценить значимость входов для выходной информации и, если необходимо, изменить (удалить/добавить) входы;
создать нейронную сеть;
обучить нейронную сеть на заданном множестве примеров и оценить работу на тестовом множестве;
сохранить предсказанные (обработанные) данные в книге Excel;
сохранить обученную нейронную сеть для дальнейшей работы.
Разберем эти действия по шагам.
Для работы с данными выделите область на листе книги Excel. Данные на листе располагаются следующим образом: входы и выходы - столбцы, строки - обучающие примеры. Например, требуется построить нейронную сеть, вычисляющую выброс свинца в атмосферу в зависимости от количества и вида проезжающего транспорта. Тогда исходные данные могут выглядеть следующим образом:
Рис. 4. 1. Подготовка данных на листе Excel.
Щелкните мышью по кнопке с изображением нейрона на панели инструментов Neural Analysis. Появится диалоговое окно Select data source, предлагающее уточнить параметры области данных для работы.
Рис. 4. 2. Задание исходных данных для НС.
В случае согласия с параметрами ввода нажмите ОК.
Откроется основное окно Winnet 3.0. Оно содержит 4 табулированных листа: Data, Network, Training и Output, ассоциированных с общими этапами работы.
Рис. 4. 3. Окно задания входов и выходов НС.
Открывшийся лист Data позволяет определить и предобработать данные для последующего использования. Кроме того, с этого листа можно сохранить обученную нейронную сеть (Save Project ...) или загрузить уже сохраненный в прошлом проект (Load Project...). Первое, что нужно сделать, это определить входы, для чего следует нажать кнопку Select Inputs....
В открывшемся диалоговом окне Select Inputs/All Data выберете необходимые входы и с помощью кнопки >> переведите их в окно списка Inputs. Корректировку выбранных входов можно произвести кнопкой <.
Рис. 4. 4. Выбор данных.
Так как конкретные значения входов могут быть любыми, то рекомендуется их нормализовать. Для большинства случаев подходит нормировка входных значений Mean/Variance. При этом данные переводятся в безразмерную форму вычитанием среднего и нормированием на их дисперсию. Нажмите кнопку Normalization... и выберите в открывшемся окне Inputs normalization соответствующую позицию переключателя. Подтвердите выбор нажатием кнопки ОК Вернувшись в окно Select Inputs также подтвердите выбор нажатием кнопки ОК.
Рис. 4. 5. Выбор метода нормализации.
Далее, нажав на кнопку Select Outputs..., аналогично пунктам 6 и 7 определите и нормализуйте, при необходимости, выходы системы.
Определение значимости входной информации для предсказания выходной начинается с нажатия кнопки Boxcouting..., по которому система, используя алгоритм Boxcouting, определит статистическую значимость входов для заданных выходов. В открывшемся окне Boxcouting results представлена результирующая информация.
Рис. 4. 6. Определение значимости входов.
Причем:
чем выше столбец гистограммы для данного входа, тем значимее его информация;
чем больше отношение Mean predictability/Variance отличается от 1, тем большего успеха можно достичь в предсказании выходной информации. Не имеет смысла использовать входы, значимость которых близка или равна нулю. Поэтому, вернувшись в основное окно, удалите их из списка Inputs.
10) Следующий этап - создание нейронной сети (многослойного персептрона). Перейдите на закладку Network и нажмите на кнопку Create Net.... В открывшемся окне Network Construction можно полностью определить структуру и топологию нейронной сети:
количество слоев;
тип активационной функции нейронов данного слоя;
число нейронов в слое;
порядок нелинейности нейронов данного слоя.
Рис. 4. 7. Задание числа слоев и нейронов.
При определении структуры и топологии сети будем руководствоваться следующими соображениями:
Для хорошей гладкой аппроксимации данных общее число связей сети должно быть в несколько раз (лучше на порядок) меньше числа обучающих примеров. В противном случае нейронная сеть просто запомнит данные, потеряв возможность делать статистически значимые предсказания на новых данных (явление переобучения).
В большинстве задач нет смысла использовать архитектуру нейронной сети с количеством скрытых слоев более одного. Нелинейный же характер нейронной сети определяется количеством нейронов в этом скрытом слое.
Доказано, что двухслойные нейронные сети с сигмоидальными передаточными функциями могут реализовать любые отображения входного сигнала в выходной.
Использование порядка нелинейности нейрона более 1 не рекомендуется.
Согласно исследованиям, количество нейронов в скрытых слоях сильно зависит от размера обучающей выборки. Например, если обучающая выборка мала, а количество нейронов велико, то сеть начинает запоминать факты, тогда как в задачах прогнозирования требуется обобщение. Обратная ситуация может привести к тому, что сеть никогда не обучится. Однако в настоящий момент не разработано исчерпывающей и однозначной методики для определения количества нейронов в скрытых слоях. Поэтому определение количества нейронов в скрытом слое для каждой задачи необходимо проводить опытным путем.
Рис. 4. 8. Вид построенной нейросети.
11) Для обучения созданной нейронной сети перейдите на следующую закладку Training. Перед обучением надо задать тестовое множество примеров из общей совокупности обучающих примеров. Эти примеры не будут участвовать в обучении. На них будут основываться оценки предсказательных свойств обучен нейронной сети. Щелкните по кнопке Edit test set... . В окне можно задать размер и характер обучающей выборки.
Общие рекомендации:
• число примеров в тестовой выборке должно составлять 20-30%, но не менее нескольких десятков;
• при решении задач аппроксимации наиболее естественным является случайный выбор тестового множества. Отдельная опция Random + Last examples введена для задач прогнозирования временных рядов. При этом последние примеры всегда исключаются из обучения и являются, по сути, прогнозом.
Подтвердите выбор нажатием кнопки ОК и вернитесь в основное окно.
Рис. 4. 9. Выбор параметров обучения сети.
12) Теперь можно начинать обучение. Нажав кнопку Start training, можно наблюдать за ходом обучения нейронной сети по изменению информации в области Training Info или в графическом виде в соответствующих окнах, вызываемых нажатием клавиш в области Graphs. Желательно остановить процесс обучения в момент, когда ошибки обучения и обобщения начнут сильно расходиться. Рост ошибки обобщения сигнализирует о начале переобучения.
13) По завершении процесса обучения его результаты можно визуально оценить на графике Network answers..., вызываемом по нажатию соответствующей кнопки.
Рис. 4. 10. Результат обучения нейросети.
14) Пакет позволяет управлять параметрами процесса обучения. Но данными возможностями рекомендуется пользоваться только подготовленным пользователям в исключительных случаях.
15) Теперь осталось сохранить проест (Save Project...) и экспортировать результаты назад в книгу Excel, Для экспорта результатов перейдите на закладку Output, задайте необходимые параметры и сохраните результаты нажатием кнопки ОК.
Рис. 4. 11. Вывод результатов сети на лист Excel.
Вид листа Excel после вставки результатов.
Рис. 4. 12. Окно Excel с результатами работы нейросети.
Как видно, разница между реальными и вычисленными значениями свинца очень мала. Теперь спроектированную и обученную нейронную сеть можно сохранить на вкладке Data \ Save Project ... В дальнейшем эта сеть может использоваться для вычисления и прогнозирования выброса свинца при других исходных данных по автомобильному потоку уже без использования данных для обучения.
- Лабораторная работа №1. Аналитическое моделирование.
- I.Статичные аналитические модели оптимизации. Построение в среде ms Excel.
- Задача линейного программирования (злп).
- I этап: Анализ словесного описания задачи
- II этап: Построение математической модели
- III этап: Формирование задачи выбора наилучшей стратегии
- Решение задач линейного программирования с помощью надстройки «поиск решений» в среде excel
- Задача оптимального использования ресурсов
- Запуск «Поиска решения»
- Создание отчета по результатам поиска решения
- Индивидуальные варианты заданий.
- II. Статичные аналитические модели, описываемые уравнениями. Построение в среде MathCad.
- Решение уравнений средствами Mathcad
- Построение графиков в MathCad
- Рекомендации по использованию функции root.
- Нахождение корней полинома
- Символьное решение уравнений
- Индивидуальные варианты заданий.
- III. Динамические аналитические модели. Построение в среде MatLab.
- Решение обыкновенных дифференциальных уравнений в matlab.
- Решение систем обыкновенных дифференциальных уравнений с заданными начальными условиями.
- Решение дифференциальных уравнений второго порядка.
- Интегрирование систем линейных дифференциальных уравнений в матричном виде.
- Варианты заданий. Общие задания.
- Индивидуальные задания.
- Лабораторная работа №2. Построение аналитической модели по результатам эксперимента.
- I. Построение модели в среде Excel.
- II. Построение модели в среде Statistica. Общие сведения о программе Statistica.
- III. Построение модели в среде Origin Pro.
- Индивидуальные варианты заданий.
- Лабораторная работа №3. Модели массового обслуживания.
- I. Построение модели в среде AnyLogic.
- Пользовательский интерфейс
- Общая информация о создании моделей в Enterprise Library
- Моделирование одноканальной смо с очередью.
- Моделирование многоканальной смо с очередью.
- Сбор статистики о времени обслуживания клиента.
- Индивидуальные варианты заданий.
- Лабораторная работа №4. Моделирование интеллектуальных систем. Нейросеть обратного распространения ошибки.
- I. Обзор использования пакета Excel Neural Package.
- II. Обзор использования пакета Deductor.
- III. Обзор использования пакета statistica Neural Networks.
- Индивидуальные варианты заданий.
- Лабораторная работа №5. Моделирование интеллектуальных систем. Нейронная сеть для кластеризации.
- I. Теоретические сведения.
- II. Проектирование карты Кохонена в пакете Excel Neural Package.
- III. Проектирование карты Кохонена в пакете Deductor.
- IV. Проектирование карты Кохонена в пакете Statistica.
- Индивидуальные варианты заданий.
- Лабораторная работа №6. Моделирование интеллектуальных систем. Система нечеткого вывода.
- I. Постановка задачи.
- II. Процесс разработки системы
- Индивидуальные варианты заданий.