Мегаобучалка Главная | О нас | Обратная связь


МОДЕЛИРОВАНИЕ РАБОТЫ НЕЙРОННОЙ СЕТИ



2020-03-19 261 Обсуждений (0)
МОДЕЛИРОВАНИЕ РАБОТЫ НЕЙРОННОЙ СЕТИ 0.00 из 5.00 0 оценок




Федеральное агентство по образованию (Рособразование)

 

Архангельский государственный технический университет

 
 

 

   
 

Кафедра вычислительных систем и телекоммуникаций

   
 

(наименование кафедры)

   
 

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

   
  по

Интеллектуальные информационные системы

   
 

 

(наименование дисциплины)

   
 

студенту

ОИТ

образования

5

курса

1251

группы

   
 

 

   
 

(фамилия, имя, отчество студента)

   
 

 

   
 

ТЕМА:

Генетический алгоритм

   
 

 

   
 

ИСХОДНЫЕ ДАННЫЕ:

 

   
 

1) Дать обзор моделированию нейронных сетей

   
 

2) Смоделировать нейронную сеть

   
 

3) Обучит сеть при помощи генетического алгоритма

   
 

 

   
 

 

   
 

 

   
     

 

 

   
 

Срок проектирования с «18» декабря 2009г.       По «24» декабря 2009г.

 

 

 

Руководитель проекта

ассистент

 

 

 

 

   
 

 

 

(должность)

 

(подпись)

 

(и.,о., фамилия)

   
                                       

 

ЛИСТ ЗАМЕЧАНИЙ


СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ. 2

1 МОДЕЛИРОВАНИЕ РАБОТЫ НЕЙРОННОЙ СЕТИ. 2

2 АЛГОРИТМ ОБРАТНОГО РАСПРОСТРОНЕНИЯ ОШИБКИ. 2

3 ГЕНЕТИЧЕСКИЙ АЛГОРИТМ.. 2

4 ЭФФЕКТИВНОСТЬ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ. 2

4.1 Показатели эффективности генетических алгоритмов. 2

4.2 Скорость работы генетических алгоритмов. 2

4.3 Устойчивость работы генетических алгоритмов. 2

4.4 Направления развития генетических алгоритмов. 2

ЗАКЛЮЧЕНИЕ. 2

СПИСОК ЛИТЕРАТУРЫ.. 2

ПРИЛОЖЕНИЕ. 2

 


ВВЕДЕНИЕ

 

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

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

 

 


 

 

МОДЕЛИРОВАНИЕ РАБОТЫ НЕЙРОННОЙ СЕТИ

 

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

Как отмечалось, искусственная нейронная сеть (ИНС, нейросеть) - это набор нейронов, соединенных между собой. Как правило, передаточные (активационные) функции всех нейронов в сети фиксированы, а веса являются параметрами сети и могут изменяться. Некоторые входы нейронов помечены как внешние входы сети, а некоторые выходы - как внешние выходы сети. Подавая любые числа на входы сети, мы получаем какой-то набор чисел на выходах сети. Таким образом, работа нейросети состоит в преобразовании входного вектора X в выходной вектор Y, причем это преобразование задается весами сети. Практически любую задачу можно свести к задаче, решаемой нейросетью.

Моделирование сети начинается с выбора архитектуры. На данном этапе необходимо учесть:

-     какие нейроны мы хотим использовать (число входов, передаточные функции);

-     каким образом следует соединить их между собой;

-     что взять в качестве входов и выходов сети.

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

В зависимости от функций, выполняемых нейронами в сети, можно выделить три их типа:

-     входные нейроны - это нейроны, на которые подается входной вектор, кодирующий входное воздействие или образ внешней среды; в них обычно не осуществляется вычислительных процедур, информация передается с входа на выход нейрона путем изменения его активации;

-     выходные нейроны - это нейроны, выходные значения которых представляют выход сети;

-     промежуточные нейроны - это нейроны, составляющие основу искусственных нейронных сетей.

Обучить нейросеть - значит, сообщить ей, чего мы от нее добиваемся. Этот процесс очень похож на обучение ребенка алфавиту. Показав ребенку изображение буквы «А», мы спрашиваем его: «Какая это буква?» Если ответ неверен, мы сообщаем ребенку тот ответ, который мы хотели бы от него получить: «Это буква А». Ребенок запоминает этот пример вместе с верным ответом, т.е. в его памяти происходят некоторые изменения в нужном направлении. Мы будем повторять процесс предъявления букв снова и снова до тех пор, когда все буквы будут твердо запомнены. Такой процесс называют «обучение с учителем».

При обучении сети мы действуем совершенно аналогично. У нас имеется некоторая база данных, содержащая примеры (набор рукописных изображений букв). Предъявляя изображение буквы «А» на вход сети, мы получаем от нее некоторый ответ, не обязательно верный. Нам известен и верный (желаемый) ответ, в данном случае нам хотелось бы, чтобы на выходе с меткой «А» уровень сигнала был максимален. Обычно в качестве желаемого выхода в задаче классификации берут набор (1, 0, 0,...), где 1 стоит на выходе с меткой «А», а 0 - на всех остальных выходах. Вычисляя разность между желаемым ответом и реальным ответом сети, мы получаем (для букв русского алфавита) 33 числа - вектор ошибки. Алгоритм обучения - это набор формул, который позволяет по вектору ошибки вычислить требуемые поправки для весов сети. Одну и ту же букву (а также различные изображения одной и той же буквы) мы можем предъявлять сети много раз. В этом смысле обучение скорее напоминает повторение упражнений в спорте - тренировку.

Оказывается, что после многократного предъявления примеров веса сети стабилизируются, причем сеть дает правильные ответы на все (или почти все) примеры из базы данных. В таком случае говорят, что «сеть выучила все примеры», «сеть обучена», или «сеть натренирована». В программных реализациях можно видеть, что в процессе обучения функция ошибки (например, сумма квадратов ошибок по всем выходам) постепенно уменьшается. Когда функция ошибки достигает нуля или приемлимого малого уровня, тренировку останавливают, а полученную сеть считают натренированной и готовой к применению на новых данных.

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

Математически процесс обучения можно описать следующим образом. В процессе функционирования нейронная сеть формирует выходной сигнал Y в соответствии с входным сигналом X, реализуя некоторую функцию Y = G(X). Если архитектура сети задана, то вид функции G определяется значениями синоптических весов и смещений сети. Пусть решением некоторой задачи является функция Y = = F(X), заданная парами входных - выходных данных (X 1, Y 1 ), (X 2, Y 2 ), ..., (Xw, Yw), для которых Y k = F(X k ) (к = 1, 2, …,N).

 

Рисунок 5- Схема обучения сети




2020-03-19 261 Обсуждений (0)
МОДЕЛИРОВАНИЕ РАБОТЫ НЕЙРОННОЙ СЕТИ 0.00 из 5.00 0 оценок









Обсуждение в статье: МОДЕЛИРОВАНИЕ РАБОТЫ НЕЙРОННОЙ СЕТИ

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему в редких случаях у отдельных людей появляются атавизмы?
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Почему в черте города у деревьев заболеваемость больше, а продолжительность жизни меньше?
Почему стероиды повышают давление?: Основных причин три...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (261)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)