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

Автор работы: Пользователь скрыл имя, 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 Мб (Скачать файл)

Рассмотрим более подробно этот алгоритм.

      1.  Алгоритм k-средних

        1. Первоначальное распределение объектов по кластерам

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

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

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

Выбирается число  , и на первом шаге эти точки считаются «центрами» кластеров. Каждому кластеру соответствует один центр.

Выбор начальных центроидов может  осуществляться следующим образом:

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

В результате каждый объект назначен определенному кластеру.

        1. Итеративный процесс

Вычисляются центры кластеров, которыми затем и далее считаются покоординатные средние кластеров. Объекты опять  перераспределяются.

 

Процесс вычисления центров и перераспределения  объектов продолжается до тех пор, пока не выполнено одно из условий:

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

На рисунке 1.10 приведен пример работы алгоритма -средних для равного двум.

Выбор числа кластеров является сложным вопросом. Если нет предположений  относительно этого числа, рекомендуют  создать 2 кластера, затем 3, 4, 5 и т.д., сравнивая полученные результаты.

Рисунок 1.10 – Пример работы алгоритма

-средних (
=2)

Следующим шагом является проверка качества кластеризации.

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

Достоинства алгоритма  -средних:

    • простота использования;
    • быстрота использования;
    • понятность и прозрачность алгоритма.

На основании этого алгоритма  активизируются центры RBF-сети, инициализируются функции [14].

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

      1. Алгоритм обратного распространения ошибки

        1.  Математическое обоснование

Градиентный метод обучения с учителем, в котором используется алгоритм обратного распространения ошибки, заключающийся в распространении  сигналов ошибки от выходов нейросети  к ее входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы. Согласно методу наименьших квадратов, минимизируемой целевой функцией ошибки нейросети  является величина, определенная для всех P пар обучающих выборок (xt,dt):

     (1.6)

где – реальное выходное состояние нейрона выходного слоя;

 – идеальное (желаемое) выходное  состояние этого нейрона.

Функция - одна из функций активации нейронов скрытого слоя, рассмотренных в разделе 1.1 дипломного проекта и представленных в формулах (1.1), (1.2) и (1.3).

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

  (1.8)

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

 – коэффициент скорости  обучения, .

На рисунке 1.9 представлена структура  нейронной сети с одним выходным нейроном, в данном случае формула 1.8 приводится к виду

 (1.9)

Для перерасчета коэффициентов  в радиально-базисной сети воспользуемся  следующими формулами [15].

Пусть – номер нейрона во входном векторе;

 – номер нейрона в выходном векторе;

 – номер нейрона в скрытом слое;

 – номер вектора в обучающей выборке.

Тогда – входной вектор в обучающей выборке,

 – выходной вектор  в обучающей выборке.

На выходе нейрона скрытого слоя получим

 
Для примера подставим (1.1) в (1.9), получим:

 

 

На выходе нейрона выходного  слоя получим:

 

В процессе обучения веса меняются следующим  образом:

        1. Полный алгоритм обучения нейросети с помощью процедуры обратного распространения
  • Шаг 1. Подать на входы сети один из возможных образов и в режиме обычного функционирования нейросети, когда сигналы распространяются от входов к выходам, рассчитать значения последних.
  • Шаг 2. Определить величину градиента ощибки для каждого нейрона скрытого слоя.
  • Шаг 3. Скорректировать все веса в нейросети.
  • Шаг4. Если ошибка сети существенна, перейти на шаг 1. В противном случае – работа алгоритма закончена.

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

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

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

Рисунок 1.11 наглядно демонстрирует  процесс обучения при различных  значениях скорости обучения.

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

 

Рисунок 1.11 – Процесс обучения при различных значениях 

а)

<
opt   
б)
=
opt   
в) 2
opt
>
>
opt   
г)
>2
opt

 

  1. РАЗРАБОТКА ЛОГИЧЕСКОГО ПРОЕКТА

    1. Введение в UML

UML (сокр. от англ. Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем.

В рамках языка UML все представления  о модели сложной системы фиксируются  в виде специальных графических  конструкций – диаграмм. Процесс объектно-ориентированного анализа и проектирования неразрывно связан с процессом построения диаграмм. При этом совокупность построенных диаграмм является самодостаточной в том смысле, что в них содержится вся информация, которая необходима для реализации проекта сложной системы [17].

В процессе разработки UML-проекта осуществляется постепенный переход от анализа и проектирования к описанию реализации программы.

Построение диаграмм нейроимитатора радиально-базисной сети для проведения лабораторных работ по курсу «ОЭС»  было произведено с помощью CASE-средства UML-проектирования Rational Rose 2003.

    1. Диаграмма вариантов использования

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

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

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

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

Помимо актантов и вариантов  использования, данная диаграмма содержит:

Отношения – описывающие взаимодействия экземпляров одних актантов и вариантов использования с экземплярами других актантов и вариантов. В языке UML имеется несколько стандартных видов отношений между актантами и вариантами использования:

Отношение ассоциации – служит для обозначения специфической роли актанта в отдельном варианте использования.

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

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