Нейросетевые модели

Автор работы: Пользователь скрыл имя, 25 Ноября 2013 в 21:24, дипломная работа

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

Сегодняшний уровень теоретического понимания и практического использования нейронных сетей в мировой информационной индустрии все явственнее требует профессиональных знаний в этой области.
Быстрыми темпами растет использование искусственных нейронных сетей для решения задач в самых различных областях:
– промышленность (например, управление процессами, в частности, мониторинг процессов производства с непрерывным регулированием управляющих параметров);
– маркетинг (например, прогнозирование цен на сырье, золото, ценные бумаги);
– финансы (например, оценка кредитоспособности – по анкетным данным определить, надежен ли данный заемщик);
– другие отрасли (например, распознавание символов, звуков, лингвистический анализ) [1].

Содержание работы

ВВЕДЕНИЕ 10
1 СИСТЕМОТЕХНИЧЕСКАЯ ЧАСТЬ 12
1.1 Постановка задачи 12
1.2 Анализ существующих нейроимитаторов 14
1.3 Выбор нейросетевой модели для решения задач классификации и прогнозирования 20
1.3.1 Классификация 20
1.3.2 Использование нейронных сетей в качестве классификатора 21
1.3.3 Прогнозирование 22
1.3.4 Достоинства и недостатки прогнозирования с помощью нейронных сетей 23
1.3.5 Выбор нейросетевой модели 23
1.3.5.1 Классификация нейронных сетей по распространению сигнала. 23
1.3.5.2 Классификация по методу обучения. 24
1.4 Обучение радиально-базисной сети 25
1.4.1. Алгоритм k-средних 28
1.4.2. Алгоритм обратного распространения ошибки 30
2 РАЗРАБОТКА ЛОГИЧЕСКОГО ПРОЕКТА 34
2.1 Введение в UML 34
2.2 Диаграмма вариантов использования 34
2.3 Сценарии 37
2.3.1 Сценарий варианта использования «Выбрать архитектуру» 37
2.3.2 Сценарий варианта использования «Настроить функцию активации» 38
2.3.3 Сценарий варианта использования «Задать параметры обучения» 39
2.4 Диаграмма классов 41
2.4.1 Граничные классы 42
2.4.2 Классы прикладной логики 43
2.4.3 Классы реализации 43
2.5 Диаграмма состояний 46
2.6 Диаграмма последовательности 48
2.7 Диаграмма кооперации 48
2.8 Диаграмма деятельности 50
2.9 Диаграмма компонентов системы 52
3 КОНСТРУКТОРСКО-ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ 53
3.1 Выбор средств реализации Нейоримитатора радиально-базисной сети 53
3.1.1 Выбор и обоснование среды разработки проекта 53
3.1.2 Выбор операционной системы 53
3.1.3 Обоснование выбора среды разработки и языка программирования 54
3.2 Ресурсные расчеты 55
3.2.1 Расчет емкости внешней памяти 55
3.2.2 Расчет емкости ОЗУ 56
3.2.3 Расчет быстродействия 57
3.3 Разработка и описание модулей 58
3.4 Основные алгоритмы 59
3.4.1 Алгоритм обучения нейронной сети градиентным методом 59
3.4.2 Алгоритм настройки центров скрытых нейронов с помощью метода k-средних 62
3.5 Разработка методики испытаний 64
3.6 Описание контрольного примера 67
3.7 Анализ зависимости качества обучения от параметров сети 73
4 ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ СОЗДАНИЯ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ 76
4.1 Планирование и организация процесса разработки 76
4.2 Технико-экономическое обоснование нейроимитатора 79
4.3 Расчет затрат на разработку нейроимитатора 79
4.4 Расчет прогноз минимальной цены разработки нейроимитатора 81
4.5 Оценка безубыточности и расчет целесообразного объема продаж 81
4.6 Расчет единовременных затрат на внедрение нейроимитатора. 86
4.7 Расчет текущих затрат на функционирование нейроимитатора 86
4.8 Эффекты при внедрении системы 87
4.9 Оценка экономической эффективности инвестиционных (капитальных) затрат 87
5. БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ 90
5.1 Обеспечение безопасности нейроимитатора радиально-базисной сети 90
5.2 Обеспечение безопасности пользователя 93
5.2.1 Нагрузки интеллектуального характера 93
5.2.2 Сенсорные нагрузки 94
5.2.3 Эмоциональные нагрузки 97
5.2.4 Монотонность нагрузок 98
5.2.5 Режим работы 99
5.2.6 Общая оценка напряженности трудового процесса 99
ЗАКЛЮЧЕНИЕ 103
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 104

Файлы: 1 файл

Записка.docx

— 2.62 Мб (Скачать файл)

Отношение включения – указывает, что некоторое заданное поведение для одного варианта использования включается в качестве составного компонента в последовательность поведения другого варианта использования. Данное отношение является направленным и бинарным.

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

Пользователь – использует «Нейроимитатор» для генерации собственной нейронной сети с заданными параметрами, тестирования нейронной сети и работы с созданной нейронной сетью.

На диаграмме представлены следующие  варианты использования:

      • Войти в систему
        • Запустить «Нейроимитатор»
        • Выбрать радиально-базисню сеть
      • Настроить параметры сети
        • Выбрать архитектуру
        • Выбрать функцию активации
          • Настроить функцию активации
        • Выбрать метод распределения центров
        • Задать параметры обученя
      • Обучить сеть
        • Выбрать файл с обучающей выборкой
          • Создать новый файл
        • Запустить процесс обучения
      • Протестировать сеть
      • Работать с обученной сетью
      • Разрушить сеть

Диаграмма вариантов использования  нейроимитатора представлена на рисунке 2.1.

 

Рисунок 2.1 – Диаграмма вариантов использования нейроимитатора


 

    1. Сценарии

      1. Сценарий варианта использования «Выбрать архитектуру»

Вариант использования: Выбрать архитектуру.

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

Актант. Пользователь.

Предусловия. На экране главное окно приложения, визуально разделенная на 2 блока:

  • Панель управления с кнопками: «Настройка функции активации», «Инициализация сети», «Обучение сети», «Разрушение сети», «Справка» и «Выход».
  • Панель с закладками «Инициализация», «Обучение», «Работа сети»

 Основной поток событий.

        1. Пользователь изменяет количество входных нейронов.

А1: Меняется количество нейронов скрытого слоя.

А2: Меняется изменяет количество выходных нейронов.

А3: Меняется метод распределения  центров.

А4: Нажата кнопка «Обучить».

А5: Нажата кнопка «Тест».

А6: Нажата кнопка «Разрушить сеть».

А7: Нажата кнопка «Настройка функции активации»

А8: Изменяются параметры  обучения.

        1. Система конфигурирует параметры архитектуры сети в соответствии с выбранным количеством входных нейронов. В блоке «Архитектура сети» отображается соответствующая архитектура. Вариант использования завершается успешно.

Альтернативы.

А1: Пользователь изменяет количество нейронов скрытого слоя.

А1.1. Система конфигурирует  параметры архитектуры сети в  соответствии с выбранным количеством  нейронов скрытого слоя. В блоке  «Архитектура сети» отображается соответствующая  архитектура. Вариант использования  завершается успешно.

А2: Пользователь изменяет количество выходных нейронов.

А2.1. Запустить сценарий «Выбрать архитектуру». Переход к  пункту 3 основной последовательности.

А3: Меняется метод распределения  центров.

А3.1. Пользователь меняет метод  распределения центров.

А3.2. Система конфигурирует  параметры инициализации нейронной  сети в соответствии с выбранным  алгоритмом. Переход к пункту 3 основной последовательности

А4: Нажата кнопка «Обучить».

А4.1. Пользователь нажимает кнопку «Обучить»

А4.2. Система выводит  сообщение об ошибке: «Сеть не проинициализирована! Для начала следует выбрать файл с обучающими данными» с кнопкой  «ОК».

А4.3. Пользователь просматривает  сообщение и нажимает кнопку «ОК».

А4.4. Система закрывает  сообщение об ошибке. Переход к  пункту 1 основной последовательности.

А5: Нажата кнопка «Тест».

А5.1. Пользователь нажимает кнопку «Тест»

А5.2. Система выводит  сообщение об ошибке: «Сеть не проинициализирована!»  с кнопкой «ОК».

А5.3. Пользователь просматривает  сообщение и нажимает кнопку «ОК».

А5.4. Система закрывает  сообщение об ошибке. Переход к  пункту 1 основной последовательности.

А6: Нажата кнопка «Разрушить сеть».

А6.1. Пользователь нажимает кнопку «Разрушить сеть»

А6.2. Система выводит  сообщение об ошибке: «Сеть не создана!»  с кнопкой «ОК».

А6.3. Пользователь просматривает  сообщение и нажимает кнопку «ОК».

А6.4. Система закрывает  сообщение об ошибке. Переход к  пункту 1 основной последовательности.

А7: Нажата кнопка кнопку «Настройка функции активации».

А7.1. Пользователь нажимает кнопку «Настройка функции активации».

А7.2. Запустить сценарий «Настроить функцию активации». Переход  к пункту 3 основной последовательности.

А8: Изменяются параметры  обучения.

А8.1.Пользователь меняет параметры  обучения.

А8.2. Запустить сценарий «Задать параметры обучения». Переход  к пункту 3 основной последовательности.

      1. Сценарий варианта использования «Настроить функцию активации»

Вариант использования: Настроить функцию активации.

Краткое описание. Позволяет пользователю изменять параметр – α функции активации нейронов.

Актант. Пользователь.

Предусловия. Пользователь нажал «Настроить функцию активации» на главной форме.

Основной поток событий.

  1. Система отображает форму «Настроить функцию активации». На форме: график функции с текущем параметром (по умолчанию α=0,5), ползунок, позволяющий изменять значение α, отображаемое текущее значение α, кнопки «ОК» и «Отмена».
  2. Пользователь нажимает кнопку «ОК».

А1: Нажата кнопка «Отмена».

А2: Меняется положение  ползунка.

  1. Система сохраняет текущее значение α. Скрывает форму «Настроить функцию активации». Вариант использования завершается успешно.

Альтернативы.

А1: Нажата кнопка «Отмена».

А1.1. Пользователь нажимает кнопку «Отмена».

А1.2. Система не сохраняет  изменений α, скрывает форму «Настроить функцию активации». На экране главная форма приложения. Вариант использования завершается успешно.

А2: Меняется положение  ползунка.

А2.1. Пользователь меняет положение  ползунка.

А2.2. Система перерисовывает график функции активации и меняет отображаемое текущее значение параметра α. Переход к пункту 2 основной последовательности.

      1. Сценарий варианта использования «Задать параметры обучения»

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

Краткое описание. Позволяет пользователю изменять максимальное число циклов обучения и минимальную ошибку, при которой обучение останавливается.

Актант. Пользователь.

Предусловия. На экране главное окно приложения, визуально разделенная на 2 блока:

  • Панель управления с кнопками: «Настройка функции активации», «Инициализация сети», «Обучение сети», «Разрушение сети», «Справка» и «Выход».
  • Панель с закладками «Инициализация», «Обучение», «Работа сети»

 Основной поток событий.

  1. Пользователь изменяет максимальное число циклов обучения.

А1: Меняется минимальная  ошибка.

А2: Нажата кнопка «Обучить».

А3: Нажата кнопка «Тест».

А4: Нажата кнопка «Разрушить сеть».

А5: Нажата кнопка «Настройка функции активации»

А6: Нажата кнопка «ОК»

А7: Изменяется архитектура  сети.

  1. Система устанавливает максимальное число циклов обучения нейронной сети. Вариант использования завершается успешно.

Альтернативы.

А1: Меняется минимальная  ошибка.

А1.1. Пользователь изменяет минимальную ошибку.

А1.2. Система устанавливает  критерий остановки обучения равным выбранной минимальной ошибке. Вариант  использования завершается успешно.

А2: Нажата кнопка «Обучить».

А2.1. Пользователь нажимает кнопку «Обучить»

А2.2. Система выводит  сообщение об ошибке: «Сеть не проинициализирована! Для начала следует выбрать файл с обучающими данными» с кнопкой  «ОК».

А2.3. Пользователь просматривает  сообщение и нажимает кнопку «ОК».

А2.4. Система закрывает  сообщение об ошибке. Переход к  пункту 1 основной последовательности.

А3: Нажата кнопка «Тест».

А3.1. Пользователь нажимает кнопку «Тест»

А3.2. Система выводит  сообщение об ошибке: «Сеть не проинициализирована!»  с кнопкой «ОК».

А3.3. Пользователь просматривает  сообщение и нажимает кнопку «ОК».

А3.4. Система закрывает  сообщение об ошибке. Переход к  пункту 1 основной последовательности.

А4: Нажата кнопка «Разрушить сеть».

А4.1. Пользователь нажимает кнопку «Разрушить сеть»

А4.2. Система выводит  сообщение об ошибке: «Сеть не создана!»  с кнопкой «ОК».

А4.3. Пользователь просматривает  сообщение и нажимает кнопку «ОК».

А4.4. Система закрывает  сообщение об ошибке. Переход к  пункту 1 основной последовательности.

А5: Нажата кнопка кнопку «Настройка функции активации».

А5.1. Пользователь нажимает кнопку «Настройка функции активации».

А5.2. Запустить сценарий «Настроить функцию активации». Переход  к пункту 3 основной последовательности.

А6: Нажата кнопка «ОК».

А6.1. Пользователь нажимает кнопку «ОК».

А6.2. Система выводит  сообщение об ошибке: «Сначала нужно  выбрать метод распределения  центров!» с кнопкой «ОК».

А6.3. Пользователь просматривает  сообщение и нажимает кнопку «ОК».

А6.4. Система закрывает  сообщение об ошибке. Переход к  пункту 1 основной последовательности.

А7: Меняется архитектура  сети.

А7.1. Пользователь изменяет архитектуру сети, меняя значение любого спинэдита.

А7.2. Запустить сценарий «Выбрать архитектуру». Переход к  пункту 3 основной последовательности.

    1. Диаграмма классов

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

Диаграмма классов состоит из множества  элементов, которые в совокупности отражают декларативные знания о  предметной области. Эти знания интерпретируются в базовых понятиях языка UML, таких  как классы, интерфейсы и отношения  между ними и их составляющими  компонентами.

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

Кроме внутреннего устройства или  структуры классов, на соответствующей  диаграмме указываются различные  отношения между классами. Базовыми отношениями или связями в  языке UML являются:

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

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

Информация о работе Нейросетевые модели