Методические указания к лабораторным работам Часть 4 Нижний Новгород 2005




Скачать 99.45 Kb.
Дата 27.09.2016
Размер 99.45 Kb.
Министерство образования Российской Федерации
Нижегородский государственный технический

университет


Кафедра “Компьютерные технологии в проектировании и производстве ”

Представление знаний в информационных системах

Методические указания к лабораторным работам
Часть 4

Нижний Новгород

2005

Составитель: М.Б.Волков



УДК 681
Представление знаний в информационных системах: Методические указания к лабораторным работам. Часть4/НГТУ, кафедра КТПП; Сост. М.Б.Волков. Н.Новгород, 2005.  17 с.

Даны рекомендации к выполнению лабораторных работ и самостоятельной работе по дисциплине ”Представление знаний в информационных системах ” для студентов специальностей 071900  “Информационные системы”.


Науч. редактор С. Л.Моругин

Подп. 28.10.05 Формат 210148. Печ. л. 0,6



Нижегородский государственный технический университет

Кафедра “Компьютерные технологии в проектировании и

производстве “.

Адрес предприятия: 603600, Н. Новгород, ул. Минина 24.


ЛАБОРАТОРНАЯ РАБОТА № 4




1. Цель работы


Ознакомиться c моделями нейросетей, алгоритмами и методами обучения. Получить навыки моделирования на основе нейронной сети Wizard_1.7
  1. Задания к работе и порядок ее выполнения

    1. Создать (если отсутствует) свою директорию - D/student/группа/фамилия.




    1. Ознакомиться интерфейсом программы Wizard_1.7 (см. Приложение А).

    2. Ознакомиться с примером работы с программой Wizard_1.7 (см. Приложение Б).




    1. Запустить программу Wizard_1.7. Провести обучение и тестирование нейросети, приведенное в примере.

2.5. Исследовать зависимость качества обучения НС (величины максимальной ошибки обучения при фиксированном количестве эпох) от параметров обучения:



скорости обучения (интервал изменения от 0.001 до 100). При анализе зафиксировать процессы

устойчивого обучения (ошибка уменьшается монотонно),

быстрого обучения (ошибка уменьшается существенно быстрее, чем в предыдущем режиме),

режим осцилляций (колебания ошибки),

режим возрастания ошибки;

момента (интервал изменения – порядка 30%);

крутизны сигмоиды ( в пределах всей шкалы).

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

2.6. Исследовать зависимость качества обучения НС (величины максимальной ошибки обучения при фиксированном количестве эпох) от параметров НС:

количества нейронов в скрытом слое (интервал изменения от 1 до 50);

количества скрытых слоев (при этом суммарное число нейронов во всех скрытых слоях должно оставаться одинаковым, например – 20. Происходит перераспределение нейронов между слоями, а количество слоев изменяется.)

НС должна находится в режиме первоначального обучения.

2.7. Исследование зависимости качества обучения НС в режиме дообучения. В качестве параметров используются как параметры обучения, так и параметры структуры НС. При изменении значения параметров выход из пакета не производится.

Проанализировать качество обучения НС в режиме расчета.


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

  1. Содержание отчета





  1. Цель работы.

  2. Задания.

  3. Исходные данные. Результаты моделирования.

  4. Выводы.



4. Вопросы для самоконтроля


  1. Какова структура и математическая модель искусственного нейрона?

  2. Классификация соединений нейронных сетей и их структура.

  3. Виды обучений нейронных сетей их сравнительная характеристика.

  4. Модель персептрона.

  5. Алгоритмы обучения нейросети на основе персептрона?


5. Рекомендуемая литература





    1. Уоссермен Ф. Нейрокомпьютерная техника: Теория и практика: Пер. с англ. Ю.А.Зуев, В.А.Точенов - М.: 1992.-110 с., (С.16-25, 26-40, Приложение Б).

    2. Круглов, Борисов

    3. Роберт Каллан Основные концепции нейронных сетей.: Пер. с англ. – М.: Издательский дом «Вильямс», 2001. -288 с., илл.


Приложение А

Описание Wizard_1.7


Входные данные
Данные для обучения нейронной сети должны быть предоставлены в текстовом файле с разделителями (Tab или пробел). Количество примеров должно быть достаточно большим. Вся информация должна быть представлена в числовом виде. Основное отличие НС в том, что в них все входные и выходные параметры представлены в виде чисел с плавающей точкой обычно в диапазоне [0..1].

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

Качественные данные мы можем разделить на две группы: упорядоченные (ординальные) и неупорядоченные. В таком случае нам необходимо использовать такое кодирование, при котором отсутствует ситуация, когда разным комбинациям факторов соответствует одно и то же значение. Наиболее распространен способ кодирования, когда каждому фактору ставится в соответствие разряд двоичного числа. 1 в этом разряде говорит о наличии фактора, а 0 - о его отсутствии. Параметру нет, можно поставить в соответствии число 0.
Преобразование числовых входных данных
Для НС необходимо чтобы входные данные лежали в диапазоне [0..1], в то время как данные проблемной области могут лежать в любом диапазоне. Предположим что данные по одному из параметров лежат в диапазоне [Min..Max]. Тогда наиболее простым способом нормирования будет:

,

где x- исходное значение параметра,

-значение, подаваемое на вход НС.
П
оля и их свойства

· Использовать поле как…



Нейронная сеть состоит их входного, выходного и скрытых слоев. Количество нейронов в первом и последнем слое зависит от того, сколько полей вы определите как входные и выходные. Поля, отмеченные пометкой "не использовать" в обучении и тестировании нейросети применяться не будут.

· Нормализовать поле как…



На вход нейросети должна подаваться информация в нормализованном виде. Т.е. это числа в диапазоне от 0 до 1. Вы можете выбрать метод нормализации:

  • (X-MIN)/(MAX-MIN) - линейная нормализация.

  • 1/(1+exp(ax)) – экспоненциальная нормализация.

  • Авто – нормализация, основанная на статистических характеристиках выборки

  • Без нормализации – нормализация не производится

Параметры нормализации

Задайте значения, используемые в формулах нормализации.


П
араметры нейросети

· Число слоев нейросети…

Нейронная сеть состоит их слоев – входного, выходного и скрытых. Необходимо указать кол-во скрытых слоев. Общего правила сколько должно быть таких слоев нет, обычно задается 1-3 скрытых слоев. Можно говорить, что чем более нелинейная задача, тем больше скрытых слоев должно быть.

· #Слои, Число нейронов



В Neural Network Wizard все элементы предыдущего слоя связаны со всеми элементами последующего. Количество нейронов в первом и последнем слое зависит от того, сколько полей указали как входные и выходные. Количество нейронов в каждом скрытом слое необходимо задать. Общих правил определения количества нейронов нет, но необходимо, чтобы число связей между нейронами было меньше количества примеров в обучающей выборке. Иначе нейросеть потеряет способность к обобщению, а просто "запомнит" все приметы из обучающей выборки. Тогда при тестировании на примерах, присутствующих в обучающей выборке она будет демонстрировать прекрасные результаты, а на реальных данных – очень плохие.

· Параметр сигмоиды.



Сигмоида применяется для обеспечения нелинейного преобразования данных. В противном случае, нейросеть сможет выделить только линейно разделимые множества. Чем выше параметр, тем больше переходная функция походит на пороговую. Параметр сигмоиды подбирается, фактически, эмпирически.
П
араметры обучения
· Использовать для обучения сети % выборки…

Все примеры, подаваемые на вход нейросети, делятся на 2 множества – обучающее и тестовое. Задайте, сколько процентов примеров будут использоваться в обучающей выборке. Записи, используемые для тестирования, выбираются случайно, но пропорции сохраняются.

· Скорость обучения…

Параметр определяет амплитуду коррекции весов на каждом шаге обучения.

· Момент…

Параметр определяет степень воздействия i-ой коррекции весов на i+1-ую.

· Распознана, если ошибка по примеру

Если результат прогнозирования отличается от значения из обучаемого множества меньше указанной величины, то пример считается распознанным.

· Использовать тестовое множество как валидационное…

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

· Критерии остановки обучения…



Необходимо определить момент, когда обучение будет закончено.

Обучение системы




· Пуск обучения/остановка обучения…

Запустите процесс. В таблице над кнопкой вы можете наблюдать, как меняется ошибка обучения.

· Распределение ошибки…



В диаграмме отображается распределение ошибки. Зеленые столбцы – ошибка на обучающей выборке, красные – на тестовой выборке. Чем правее столбец, тем выше значение ошибки. Шкала от 0 до 1. Чем выше столбец, тем больше примеров с указанной ошибкой.

· Распределение примеров в обучающей/тестовой выборке



На этих графиках вы можете отслеживать насколько результаты предсказанные нейронной сетью совпадают со значениями в обучающей (слева) и тестовой (справа) выборке. Каждый пример обозначен на графике точкой. Если точка попадает на выделенную линию (диагональ), то значит нейросеть предсказала результат с достаточно высокой точностью. Если точка находится выше диагонали, значит нейросеть недооценила, ниже – переоценила. Необходимо добиваться, чтобы точки располагались как можно ближе к диагонали.

Список использованных источников


1. NNW.hlp- взят на сервере http://wizard.net.ru


Приложение Б


Пример работы с программой Wizard_1.7
1. Производим загрузку программы Wizard_1.7

1.1.Запустить BIN\wizard.exe



1.2.Для работы с программой будем использовать текстовый файл Sum.txt (ПП_Neural_net_Wizard\Тестовое обращение Wizard_1.7\Sum.txt ). В нем содержатся примеры сложения чисел от 1 до 10:

Нажимая кнопку Далее получаем:



2. Выбираем параметры нейросети


2.1 Задаем число скрытых слоев. Общего правила сколько должно быть скрытых слоев нет, обычно задается 1-3 скрытых слоев.

2.2 Количество нейронов в первом и последнем слое зависит от того, сколько полей мы указали как входные и выходные. Общих правил определения количества нейронов нет, но необходимо, чтобы число связей между нейронами было меньше количества примеров в обучающей выборке.

2.3 Сигмоида применяется для обеспечения нелинейного преобразования данных. Чем выше параметр, тем больше переходная функция напоминает пороговую. Ее параметр подбираем опытным путем.

3. Вводим параметры обучения
Задавая различные значения параметров, мы можем проанализировать влияние на результат моделирования:


  • скорости обучения,

  • процента выборки.


Необходимо выбрать критерий остановки обучения.

4. Производим запуск обучения

Запуская программу можно посмотреть обучение сети на графиках. А также посмотреть ошибку обучения.



5. Производим проверку обучения


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








База данных защищена авторским правом ©infoeto.ru 2022
обратиться к администрации
Как написать курсовую работу | Как написать хороший реферат
    Главная страница