Решение задачи распознавания образов с помощью нейронных сетей

Автор: Пользователь скрыл имя, 22 Октября 2011 в 17:25, лабораторная работа

Описание работы

Цель работы
Целью работы является закрепление навыков применения математического аппарата нейронных сетей для решения задачи распознавания образов, ознакомление с пакетом нейросетевого моделирования Trajan 3.0.
Краткие теоретические сведения
Под èñêóññòâåííîé íåéðîííîé ñåòüþ (ПС) понимается математическая модель, представляющая собой систему из соединенных и взаимодействующих между собой простых процессором (искусственных нейронов).

Содержание

Цель работы 5
Краткие теоретические сведения 5
Работа с пакетом TRAJAN Neural Network Simulator v3.0 7
Создание набора данных для обучения 7
Создание сети 8
Редактирование сети 9
Обучение сети И
Условия останова обучения 13
Статистика 14
Запуск сети 15
Порядок выполнения работы 16
Проблема «Исключающего ИЛИ» 16
Распознавание букв 19
Распознавание образов 20
Содержание отчета 21
Контрольные вопросы 21

Работа содержит 1 файл

Trajan.doc

— 422.52 Кб (Скачать)
p align="justify">     при выполнении анализа временного ряда (Z'ime Sales), ни берите число шагов {Steps), используемых в предсказании {Lookahead)',

     если тип сети - многослойный персептрон, ныбсритс желательное число уровней (если их количество неверно выбрал Network Advisor)-,

Ifjjpg Pfitceptrori ^ ' : ]

Time Seoes , ' ‘ c-teale j

Ø÷÷ "1 §j Ø stead ;C § ' . С1ме j

 

      R«/Po^ Procer.bg

Input, - § Output-, 1 (fj Noisy*. 3 §  

Рис. 4. Диалоговое окно «Create Network»

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

     Редактирование сети

     «Trajan Network Editor» (см. рис. 5) позволяет редактировать различные параметры сети. Окно: «Network Editor». Меню: ((Edit > Network»:

     Error Function - устанавливает тип функции ошибки;

     Layer - отображает подробности одного уровня сети. Это поле управляет слоем чьи функции (PSP, Activation) и веса отображены (и, следовательно, могут быть отредактированы); 

     
вд Network F dilor (new. Ml P) шшшаш
Enoi (unction тшЕж*  
|~2 H mi, I2 Ш Act In ; Logiit-c
Е''; ] Width [’ §        
CoQfrodioftfShown |СшепИ.зу«г у.1  
fAll'mlSi hlttOI |i *i-  
Thteshold 0.800T 0.8SS9I  
al 0.3871 -о.8хгб| ,  
«2 -0.431? j.  
     

Рис. 5. Диалоговое окно «NetworkEditor» 

     PSP function - устанавливает PSP function текущего слоя. Linear rsr function подсчитывает взвешенную сумму входов нейрона еднпиутук) порогом (смещением);

     Activation function - устанавливает активационную функцию текущего слоя;

     Units число нейронов в текущем слое. Изменяя это поле, можно добавлять или удалять нейроны, но вы не можете изменять число нейроном но входном или выходном слое (за исключением сетей К'охонена);

     Delete удаляет текущий уровень из сети;

     C onnections Shown - управляет появлением связей в пределах таблицы данных весов;

     Weights Datasheet — таблица значений весов синаптических

связей.

     Каждый с толбец таблицы значений весов показывает значения порогов п весов синаптических связей.

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

     Поведение нейронной сети управляется значениями ее весов и порогов, которые можно установить вручную, используя диалоговое окно «Network Editor». Алгоритмы обучения делятся на три типа:

     àëãîðèòìû èíèöèàëèçàöèè. Они не являются обучающими алгоритмами, а относятся к методам, инициализирующим веса до обучения. Не требуют данных для обучения;

     êîíòðîëèðóåìîå îáó÷åíèå (îáó÷åíèå ñ ó÷èòåëåì). Эти алгоритмы изменяют веса и/или пороги, используя наборы обучающих выборок, которые включают входные значения и желаемые значения выходов;

     íåêîíòðîëèðóåìîå îáó÷åíèå (îáó÷åíèå áåç ó÷èòåëÿ). Изменяются веса, и/или пороги, используя наборы входов (значения выходов не требуются).

     Пакет TRAJAN также имеет некоторые вспомогательные функции, связанные с обучением: случайная инициализация весов, определение условий остановки работы обучающих алгоритмов (в частности, обучение может быть остановлено, как только ошибка функционирования сети начинает ухудшаться); запоминание лучшей сети, обнаруженной в течение выполненного обучения. Имеются специальные, средства, чтобы идентифицировать наиболее значительные входные переменные для нейронной сети (генетический входной алгоритм выбора) и автоматически идентифицировать лучший тип и архитектуру сети.

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

     Используется меню «.Train —> Multilayer Perceptrons —► Back Propagation» и окно «Back Propagation Training» (см. рис. 6).

     Epochs - число циклов обучения (эпох), в течение которых алгоритм будет работать. На каждой эпохе, полный набор обучения (:Training Set) подается через сеть и используется для корректировки синаптических весов и порогов нейронной сети.

     Learning rate - скорость обучения. Управляет размером изменения веса. Большая скорость обучения может вести к более быстрой сходимости. Имеются два поля скорости обучения.

     
iidck ? x
Epochs ffj Ttein ;
Le-arnfrra tare ^ 6 P % Hsimhatee \
Momentum p* ^3 Jog Weights 1
tee ^'CP _]
(x Shulfle Cases Clo:e i
(x Cross vesication  

Рис. 6. Диалоговое окно «Back Propagation» 

Первое - стартовая скорость обучения, второе - скорость на которой обучение заканчивается, если эти поля отличаются. TRAJAN корректирует скорость обучения на каждом цикле обучения, интерполируя ее величину между двумя соседними значениями.

     Momentum — импульс. Добавление импульса заставляет алгоритм обратного распространения "подбирать скорость", если множество последовательных шагов меняет веса в одном и том же направлении. Импульс должен находиться в диапазоне [0,0; 1,0]. Вы можете определить его различные значения для старта и для окончания обучения.

     Shuffle cases - порядок представления обучающей выборки. Если выбрано это свойство, порядок представления обучающих выборок меняется в пределах каждого цикла обучения. Без этого свойства иногда страдает качество алгоритма обучения, поскольку алгоритм начинает обучать сеть на первых обучающих примерах, затем "отказывается" от них, обучая сеть на более поздних примерах. Перемешивание также добавляет некоторый шум в процесс обучения, который иногда помогает нейронной сети выйти из локальных минимумов. Хотя перемешивание достаточно выгодно, имеются случаи, в которых сеть учится лучше без него и это свойство может быть выключено.

     Noise - шум. Если это поле установлено в ненулевое значение, то случайный шум добавляется к каждой входной переменной в течение обучения. Шум - однородно распределенная случайная переменная в диапазоне (-ï, +ï). Добавление шума может позволить выйти из локальных минимумов в процессе обучения.

     Cross Verification - перекрестная проверка. Если выбрана эта особенность, то сеть будет тестироваться на каждом цикле обучения, используя любой определенный набор проверок.

     Reinitialize. Если вы хотите запустить заново обучение с алгоритмом обратного распространения, нажмите кнопку «Reinitialize» перед нажатием кнопки «Train». Кнопка «Reinitialize» сбрасывает веса нейронной сети в исходное случайное состояние.

     Jog Weights - «подталкивание» веса. Иногда алгоритм о(>рат ного распространения застревает в локальных минимумах, и не может делать продвижения, поскольку градиент ошибки положителен во всех направлениях. Jog Weights добавляет малое случайное число к каждому весу. Иногда этого бывает достаточно чтобы вынтн in локальных минимумов.

     Train - обучение. При нажатии данной кнопки начинается про цесс обучения.

     В табл. 1 приведены формулы изменения веса функции в инш симости от алгоритма обучения.

     
ГаГ

Алгоритмы обучения

Название Формула
Back Propagation Acoj- (t) = r|<5(o;- + aAcOjj (t -1)
Levenberg-Marquardt Aco = ~(ZTZ + \iyxZTz Z = —

«/

Quick Propagation A CO:; (0 =    Aco ::(t ~ 1) = (tAu)::

,J s[t-\)-s[t) J '

Delta-Bar-Delta 5(f) = (1- 0)5(0 -08(f-l)
 

     Условия останова обучения

     Окно Stopping Conditions (см. рис. 7) позволяет задан, различные условия остановки обучения. Используется меню: «'Train —> Auxiliary —> Stopping Conditions» и окно: «Stopping Conditions». Простейшее условие - остановка обучения после заданного количества эпох. 

1´нс 7. Диалоговое окно «Stopping Conditions»

 

      Окно «Stopping Conditions» позволяет задать следующие аль- терпатпипые уелонмя: прекратить обучение, если ошибка понижается ниже данного уровня; прекратить обучение, когда ошибка будет не в состоянии улучшаться па заданным числе циклов обучения.

     I'.ел11 определены несколько условий остановки, то обучение прекращается, когда любое из них удовлетворяется. Максимальное число всегда должно указываться.

     Статистика

     Training /èòîã Graph - Г рафик ошибки обучения вычерчивает RMS {Root Mean Stpiared) ошибку сети во время всего цикла обучения по алгоритмам: обратного распространения, сопряженных градиентов, «Lcvenhcrg-Maiyuardt», быстрого распространения, «Delta-Bar- Delta)) и «Êî/þïñï» (см. рис. 8). Ошибки автоматически вычерчиваются, пока выполняется обучение. 

     Case Error Bar Chart. Программа TRAJAN отображает индивидуальные ошибки каждого обучающего примера на гистограмме (см. рис. 9).

ттттттттт1ттш:лэ::

        -'I''' в Update III; Р 1-

 

Рис. 9. Диадогоше окно «Case Errors»

 

     Ошибки, отображаемые на гистограмме, генерируются автоматически в конце обучения. Они могут также отображаться в реальном масштабе времени во время всего цикла обучения. Используется меню: «Statistics —> Case Errors», окно «Case Errors».

     Запуск сети

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

Информация о работе Решение задачи распознавания образов с помощью нейронных сетей