Применение нейронных сетей в задачах прогнозирования финансовых ситуаций и принятия решений

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 27.06.2011
Размер файла 3,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

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

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

3.2 Автоматический конструктор сети

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

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

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

Выводы к главе 3

1. Рассмотрены типы нейронных сетей, используемых в программе Trajan, с указанием их преимуществ и недостатков.

2. Рассмотрено понятие поверхности ошибки.

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

4. Рассмотрен автоматический конструктор сети.

Глава 4. Процедуры решения задачи

4.1 Преобразование первичных данных

Перед началом работы в программе Trajan, необходимо преобразовать файл данных Exchange.dat в формат программы Trajan. Для этого надо воспользоваться конвертером, который был создан студентами группы А-1-96.

4.1.1 Назначение программы и системные требования

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

формат *.pat - основной формат Trajan

формат *.csv - значения атрибутов находятся в колонках и разделены запятыми

формат *.txt - значения атрибутов находятся в колонках и символами табуляции.

Программа написана в среде визуального программирования Delphi 5.0 компании Inprise на объектно-ориентированном языке Object Pascal и представляет собой единственный исполняемый файл BM2TRAJ.EXE.

Системные требования: IBM-совместимый ПК с ОС Windows95, Windows98, WindowsNT или их более поздние версии.

4.1.2 Описание программы

Основное окно программы содержит две строки выбора исходного и результирующего файла, а также кнопки “Конвертировать ” и “Выход”.

Рис. 4.1.2.1. Основное окно программы.

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

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

части строки ввода. При этом появится следующее окно:

Рис.4.1.2.2. Открытие файла.

После задания исходного и выходного файлов становится доступна кнопка “Конвертировать”, при нажатии на которую осуществляется процесс преобразования (конвертации) исходного файла в один из форматов нейросети Trojan.

В случае успешной конвертации выдается соответствующее

уведомление:

Рис.4.1.2.3. Успешная конвертации.

Листинг программы представлен в Приложении 1.

4.1.3 Порядок работы с программой (инструкция пользователя)

1. Выбрать файл в строке “Исходный файл” (Для открытия диалога задания имени и типа файла нужно нажать мышью на кнопку с открывающейся папкой в правой части строки ввода).

2. Указать имя результирующего файла и его формат в строке “Файл в формате Trajan”.

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

4. При необходимости повторить пункты 1-3 для каждого файла, нуждающегося в преобразовании форматов.

Пример преобразования файла в форматы Trajan представлен в Приложении 2.

4.2 Обработка данных в программе Trajan

4.2.1 Открытие файла данных

Откроем программу Trajan, запустив файл trajan.exe . Для того, чтобы открыть файл данных надо зайти в меню File выбрать Open Data Set и указав на файл нажать кнопку открыть. В результате этих действий откроется таблица с нужными данными.

Рис.4.2.1. Открытие данных.

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

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

· Перемещение активной ячейки. Осуществляется клавишами: стрелка влево, стрелка вправо, стрелка вверх, стрелка вниз, Home, End, Page Up, Page Down.

· Выделение диапазонов ячеек. Производится перетаскиванием указателя мыши или клавишами курсора при нажатой клавише Shift.

· Копирование и вставка. Чтобы скопировать выделенный диапазон ячеек в буфер обмена, нажмите Ctrl+C, чтобы вставить содержимое буфера обмена в таблицу - нажмите Ctrl+V. Можно копировать и вставлять целые строки и столбцы целиком. Также возможен обмен с другими приложениями.

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

· Чтобы назначить тип переменной - Входная - Input, Выходная - Output, Входная/Выходная - Input/Output или Неучитываемая - Ignore, выберите переменную, щелкнув на метке соответствующего столбца, затем нажмите правую кнопку мыши и выберите нужный тип из контекстного меню.

· Чтобы задать номинальную переменную (например, пол={муж, жен}), выберите переменную, щелкнув на метке соответствующего столбца, затем нажмите правую кнопку мыши и выберите команду Определение - Definition... из контекстного меню.

· Чтобы задать тип подмножества Обучающее - Training, Контрольное - Verification, Тестовое - Test или Неучитываемое - Ignored, выбирайте наблюдения, щелкая на метках их строк, нажимайте правую кнопку мыши и выбирайте нужный тип из контекстного меню.

· Все перечисленные возможности доступны также через команды Наблюдения - Cases... и Переменные - Variables... меню Правка - Edit.

4.2.2 Пре/пост-процессирование

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

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

2. Номинальные переменные. Номинальные переменные могут быть двузначными ( например, пол = {муж/жен}) или многозначными (то есть принимать более двух значений и состояний). Двузначную номинальную переменную легко преобразовать в числовую (например, муж = 0, жен = 1). С многозначными номинальными переменными дело обстоит сложнее. Их тоже можно представить числовыми значениями (например, собака = 0, овца = 1, кошка = 2), однако при этом может возникать ложное упорядочивание значений: в рассмотренном примере овца окажется чем-то средним между собакой и кошкой. Существует более точный способ, известный как кодирование 1-из-N, в котором одна номинальная переменная представляется несколькими числовыми переменными. Количество числовых переменных равно числу возможных значений номинальных переменных; при этом всякий раз ровно одна из N переменных принимает нулевое значение (например, собака = {1,0,0}, овца = {0,1,0}, кошка = {1,0,0}). В программе Trajan имеются возможности преобразования как двух-, так и многозначных номинальных переменных для последующего использования в нейронной сети.

4.3 Создание нейронной сети

Создать новую сеть в программе Trajan можно либо средствами диалогового окна Создать сеть - Create Network, доступ к которой осуществляется через команду Сеть… - Network... меню Файл-Создать - File-New, либо с помощи кнопки на панели инструментов. Кроме того, можно создать сеть, пользуясь автоматическим конструктором сети

(кнопка ). Диалоговое окно Создать сеть - Create Network показано на рисунке 4.3.1..

Рис.4.3.1. Диалоговое окно Создать сеть.

В программе Trajan для конструирования сетей реализованы довольно сложные возможности. Функция Совет - Advise, позволяет автоматически сконфигурировать большинство характеристик сети по набору исходных данных.

Диалоговое окно Creatr Network содержит две таблицы: левая предназначена для пре/пост-процессирования переменных, позволяет привести исходные данные в числовую форму, пригодную для обработки нейронной сети, а правая - собственно для задания параметров сети. Нажав кнопку Advise, вы можете быть уверенны, что пре/пост-процессирование переменных будет произведено в соответствии с типом данных и что число слоев в сети и элементов в каждом слое выбрано разумным образом. Обычно от пользователя требуется выполнить несколько действий:

1. Изменить, если потребуется, преобразующую функцию для пре/пост-процессирования.

2. Задать число слоев и скрытых элементов в сети. В программе Trajan на экран также выдается число элементов во входном и выходном слоях. Однако два последних параметра полностью определяются числом входных и выходных переменных, и их нельзя менять (они отображаются черным цветом).

Также в окне Сreate Network можно задать и некоторые другие параметры, в том числе; тип сети - Type, параметры временного ряда (Time Series) Временное окно - Steps и Горизонт - Lookahead, тип сети, параметры преобразования и подстановки пропущенных значений при пре/пост-процессировании, ширину слоев сети. После задания всех нужных параметров для создания нейронной сети нужно нажать кнопку Create.

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

Рис. 4.3.2. Автоматический конструктор сети.

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

Одна из трудностей, связанная с автоматическим построением сети, заключается в том, что сеть большего размера может давать такое же качество результата, как и небольшая и, следовательно, более предпочтительная сеть. Чтобы учесть это обстоятельство, можно задать специальный коэффициент Unit Penalty. Он определяет величину штрафа, которая умножается на число элементов в сети и прибавляется к ее ошибке перед решением вопроса о том, какая сеть лучше. Тем самым сеть с большим числом элементов должна оправдать свой размер, то есть давать существенно меньшую ошибку. Даже очень маленький коэффициент (например, 0,001) будет оказывать серьезное влияние на то, чтобы при прочих равных предпочтение отдавалось сетям, чьи размеры меньше. Также, при решении задач анализа временных рядов, нужно задать значения параметров Steps, число копий одной переменной, и Lookahed, величина прогнозирования.

4.4 Инструкция по обучению MLP сети на примере алгоритма обратного распространения

Параметры, влияющие на процесс обучения с использованием алгоритма обратного распространения, задаются в окне Back Propagation, которое открывается из меню Train /Back Propagation.

Рис. 4.4.1. Окно обучения методом обратного распространения.

Epochs - число эпох обучения, задаваемое при каждом нажатии кнопки Train. По умолчанию принимается равным 100.

Learning rate - степень или скорость обучаемости. Слишком высокий уровень обучаемости может приводить к неустойчивости некоторых показателей, особенно в зашумленных задачах. Trajan может постепенно повышать значение показателя относительно задаваемого в левой части поля начального значения до предельного - в правой части поля.

Momentum - инерция, показатель темпа обучения может способствовать ускорению процесса настройки при медленном изменении значений ошибки. Значение показателя выбирается в пределах [0.0, 1.0). Аналогично предыдущему Trajan в состоянии постепенно увеличивать значение показателя относительно задаваемого в левой части поля начального значения до предельного, задаваемого а правой части поля.

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

Для более наглядного представления процесса обучения есть окно Training Eror Graph, которое открывается с помощью команды Training Graph... меню Statistics.

Рис.4.4.2. График процесса обучения.

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

Окно обучения по методу сопряженных градиентов и методу Левенберга-Маркара тем же способом из меню Train, но в самом окне есть только параметр Epochs - число эпох обучения и возможность кросспроверки.

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

В программе Trajan есть возможность задать определенные условия остановки обучения сети. Это делается в окне Stopping Conditions, которое изображено на Рис. 4.4.2.1.(доступ через пункт Stopping Conditions… меню Train-Auxiliary).

Рис. 4.4.2.1. Условия остановки обучения.

Те или иные условия остановки используются во всех алгоритмах обучения программы Trajan. Кроме максимального числа эпох (Epochs), можно задать уровень допустимой ошибки (Target Error), при достижении которой обучение должно прекращаться, или величину минимального улучшения (Minimum Improvement) ошибки за фиксированное число эпох.

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

4.5 Запуск нейронной сети

После обучения сеть нужно запустить на исполнение. Это можно сделать в нескольких вариантах:

1. На текущем наборе данных - в целом или на отдельных наблюдениях; окно Run Single Case, доступ к которому осуществляется через команду Single Case меню Run.

Рис. 4.5.1. Окно запуска на одном наблюдении.

В поле Case No задается номер наблюдения, подлежащего обработке. Чтобы обработать текущее наблюдение, нажмите кнопку Run, а для обработки каково- либо другого наблюдения пользуются стрелками прокрутки на кнопке микропрокрутки, которая расположена справа от поля Case No. Значения входных переменных для текущего наблюдения отображаются в таблице, расположенной в верхней части окна, а выходные значения - в нижней таблице. Помимо фактического выходного значения, которое выдает сеть, выводится также целевое значение и ошибка, то есть разность между первым и вторым. Кроме того, ошибка, соответствующая данному наблюдению, выводится отдельно в верхней части окна (поле Error).

2. На другом наборе данных - в целом или на отдельных наблюдениях (такой набор данных уже может не содержать выходных значений и предназначаться исключительно для тестирования); окно Run Data Set, доступ к которому осуществляется через команду Data Set меню Run.

Рис. 4.5.2. Окно запуска на все наблюдениях.

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

3. На одном конкретном наблюдении, для которого значения переменных введены пользователем, а не взяты из какого-то файла данных; окно Run One-off Case, доступ к которому осуществляется через команду One-off меню Run.

Рис. 4.5.3. Окно запуска на одном наблюдении, которое введено пользователем.

Иногда необходимо протестировать сеть на отдельном наблюдении, не принадлежащем никакому набору данных. Причины для этого могут быть такие:

· Обученная сеть используется для построения прогнозов на новых данных с неизвестными выходными значениями.

· Вы хотите поэкспериментировать с сетью, например, проверить чувствительность результата к малым изменением данных.

Тестирование заданных пользователем наблюдений производится из окна Run One-off Case, в котором нужно ввести входные значения в таблицу, расположенную в верхней части окна, и нажать кнопку Run, результаты будут выведены в нижнюю таблицу.

4. Из другого приложения.

4.6 Оценка качества работы

После того как сеть обучена, стоит проверить, насколько хорошо она работает. Среднеквадратичная ошибка, которая выдается в окне Train Error Graph, представляет лишь грубую меру производительности. Более полезные характеристики выдаются в окне Regression Statistics,которое открывается через пункт Regression... меню Statistics.

Рис. 4.6.1. Окно статистик регрессии.

В этом окне подсчитываются среднее и стандартное отклонение для выходных переменных и ошибки сети, а также отношение стандартного отклонения ошибки к стандартному отклонению данных. Последняя статистика является хорошим показателем качества регрессии. Если величина S.D. Ratio меньше 0,1, это означает хорошее качество регрессии.

Выводы к главе 4

1. Даны инструкции для работы в программе конвертора.

2. Даны инструкции по работе с данными, созданию нейронной сети, обучению нейронной сети, тестированию нейронной сети в программе Trajan.

Глава 5. Решение поставленной задачи с помощью нейронной сети

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

5.1 Работа с исходными данными

Откроем таблицу с исходными данными файл Exchange.pat. В этой таблице пометим первый столбец как Ignore, а остальные как Input. Создадим в этой таблице еще один столбец и скопируем в него значения столбца Yen, начиная со 2. Озаглавим его как Exit и пометим его как Output. Также отметим 15 строк для тренировки сети, 5 строк для проверки, за обучением, а оставшиеся 4 для тестирования и еще 1 строку для предсказания. В результате должна получается таблица:

Рис. 5.1.1. Преобразованная таблица исходных данных.

5.2 Построение нейронной сети

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

1. Выберем все возможные типы сетей.

2. Выберем значение Unit Penalty равное 0,001.

3. Параметр Steps равный 1.

4. Параметр Lookahead равный 1.

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

Рис. 5.2.1. Нейронная сеть, построенная автоматическим конструктором.

Из рис. 5.2.1. видно, что автоматический конструктор выбрал для решения поставленной задачи MLP сеть с четырьмя слоями.

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

5.3 Обучение нейронной сети

Перед началом обучения нейронной сети, необходимо определить значение уровня допустимой ошибки, предположим, значение допустимой ошибки обучения будет равно 0,05.

5.3.1 Обучение нейронной сети по алгоритму обратного распространения

В окне настроек параметров алгоритма обратного распространения, смотри рис. 3.4.1., выставим следующие начальные параметры обучения: число эпох равное 500, скорость обучения равной 0,6, инерцию в начале равной 0,6, а в конце 0,1, и обучим нашу нейронную сеть.

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

Рис. 5.3.1.1. График обучения методом обратного распространения.

Изменим структуру нейронной сети, убрав из нее 3 слой. Сеть, полученная после удаления 3 слоя, представлена на рис. 5.3.1.4.

Рис.5.3.1.4. Измененная структура нейронной сети.

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

Рис.5.3.1.5. График обучения измененной сети методом обратного распространения.

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

5.3.2 Обучение нейронной сети методом сопряженных градиентов

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

Рис.5.3.2.1. График обучения методом сопряженных градиентов.

Изменим структуру нейронной сети, убрав из нее 3 слой (рис.5.3.1.4.) и обучим ее методом сопряженных градиентов. На рис.5.3.2.3. показан график обучения измененной нейронной сети.

Рис.5.3.2.3. График обучения методом сопряженных градиентов измененной нейронной сети.

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

Изменим нейронную сеть (рис.5.3.1.4.) убрав из среднего слоя один элемент. Полученная таким образом нейронная сеть представлена на рис.5.3.2.4..

Рис.5.3.2.4. Нейронная сеть, полученная из измененной нейронной сети.

Обучим нейронную сеть (рис.5.3.2.4.) методом сопряженных градиентов.

На рис.5.3.2.5. показан график обучения нейронной сети.

Рис.5.3.2.5. График обучения нейронной сети, полученной из измененной нейронной сети.

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

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

5.3.3 Обучение нейронной сети, с помощью метода Левенберга-Маркара

Обучим нейронную сеть, которая изображена на рис.5.2.1., методом Левенберга-Маркара. Как видно из рис.5.3.3.1., на котором изображен процесс обучения, ошибка обучения более, если сравнивать с другими методами

Рис.5.3.3.1. График обучения методом Левенберга-Маркара.

Изменим структуру сети так же, как и в предыдущем методе и обучим ее методом Левенберга-Маркара. На рис.5.3.3.3. и рис.5.3.3.4. показаны графики обучения нейронной сетей (структуры сетей соответственно изображены на рис.5.3.1.4. и рис.5.3.2.4.). При сравнении этих двух графиков можно заметить, что при дальнейшем упрощении сети качество обучения нейронной сети методом ней Левенберга-Маркара вначале улучшается, а потом ухудшается.

Рис.5.3.3.2. График обучения измененной нейронной сети методом Левенберга-Маркара.

Рис.5.3.3.3. График обучения методом Левенберга-Маркара измененной нейронной сети.

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

5.4 Запуск и тестирование нейронной сети

Запустим сеть с наилучшими показателями обучения. На рис.5.4.1. показан прогон всего набора данных. На основе ошибок можно сделать вывод о том, что хоть сеть и обучилась, но от эффекта переобучения полностью избавиться не удалось. Это может быть связанно с тем, что исходная таблица имеет мало данных.

Рис.5.4.1. Прогон всего набора данных.

Оценим качество регрессии полученной нейронной сети. Окно со значениями представлено на рис.5.4.2.

Рис. 5.4.2. Статистики регрессии.

Величина S.D. Ratio является хорошим показателем качества регрессии, так как она меньше 0,1, то это означает хорошее качество регрессии.

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

Рис.5.4.3. Предсказание на будущий день.

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

5.5 Основные результаты экспериментов

Результаты проведенных экспериментов сведены в таблицу 5.5.1..

Сеть

Структура сети

Метод обучения

n эпох

Ошибка обучения

Ошибка контроля

MLP

6; 2; 2; 1;

по алгоритму обратного распространения

2400

0,433

0,8044

MLP

6; 2; 1;

по алгоритму обратного распространения

2400

0,03873

1,874

MLP

6; 2; 2; 1;

по методу сопряженных градиентов

2

0,2414

2,045

MLP

6; 2; 1;

по методу сопряженных градиентов

25

0,08532

2,373

MLP

6; 1; 1;

по методу сопряженных градиентов

20

0,08402

2,262

MLP

6; 2; 2; 1;

по методу

Левенберга-Маркара

100

0,01016

1,223

MLP

6; 2; 1;

по методу

Левенберга-Маркара

100

0,000084

0,819

MLP

6; 1; 1;

по методу

Левенберга-Маркара

200

0,0775

1,869

Таблица 5.5.1. Результаты экспериментов.

В таблице 5.5.1. указаны следующие данные: сеть - тип нейронной сети; структура сети - число слоев и элементов в этих слоях; метод обучения - метод использованный при обучении нейронной сети; n эпох - число эпох обучения; ошибка обучения - ошибка получаемая при обучении нейронной сети; ошибка контроля - контрольная ошибка получаемая при обучении нейронной сети.

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

Выводы к главе 5

1. Сделан начальный выбор типа нейронной сети.

2. Проведены эксперименты для создания и обучения нейронной сети, решающей поставленную задачу.

3. Проведено тестирование построенной сети.

4. Сделан вывод о соответствии построенной сети нашей задачи.

5. Указаны основные результаты экспериментов.

Глава 6. Эргономическая оценка программы Trajan

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

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

Анализ нормативных и рекомендованных материалов показывает, что основным методом, применяемым для эргономической оценки, является экспертный метод. Оценку проводит экспертная комиссия, состав которой, задачи, организация и порядок проведения работы определяются в соответствии с ГОСТ 23554.0-79, ГОСТ 23554.1-79 и Р8 50-418 - 83.

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

Мнение экспертов по поводу оценки эргономических показателей выявляют путём опроса.

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

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

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

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

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

0 баллов (плохо) - состояние объекта соответствует недопустимому уровню.

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

В процессе выполнения задания предстояло оценить с эргономической точки зрения программу Trajan. Эта программа предназначена для работы с нейронными сетями и позволяет на основе статистических данных сформировать нейронную сеть, обучить ее и использовать в дальнейшем для прогнозирования. Исходя из вышесказанного, становится очевидным, что интерфейс этой программы должен быть понятен и легок в обращении людям работающим в этой области. На основе собственного опыта работы, а также рекомендаций, изложенных в литературе [1], был произведён выбор базовых эргономических показателей. Они же были сведены в три однородные группы, значимость которых определена цифровой последовательностью.

Список базовых эргономических показателей:

1. Размещение экранного интерфейса.

1.1. Основные меню (главное, контекстное, панель инструментов).

1.2. Элементы навигации (закладки и полосы прокрутки).

1.3. Строка подсказки (состояния).

1.4. Хелпы (вспомогательная и обучающая система).

1.5. Окна (панели) редактирования.

1.6. Взаимное расположение элементов навигации, меню и панелей отображения.

1.7. Последовательности управляющих и отображающих информацию элементов.

1.8. Частота использования (самые используемые должны быть легко доступны).

2. Факторы, характеризующие отображение информации.

2.1. Размеры воспроизводимых символов.

2.2. Яркость и контрастность символов (абстрагировано от конкретного монитора).

2.3. Информационная ёмкость символа (интуитивная ясность его функции).

3. Художественно-конструктивное решение.

3.1. Соответствие интерфейса современным идейно-эстетическим требованиям.

3.2. Цветовое решение.

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

В таблицы 6.2 - 6.4 из Приложения 2 сведены результаты расчётов нормированных весовых коэффициентов эргономических показателей, согласованности мнений экспертов о весовых коэффициентах и балльных значениях единичных эргономических показателей интерфейса программы.

Учитывая, что требование согласованности мнений экспертов о весомости и значениях эргономических показателей (Vi 0,25) выполнено, производится расчёт обобщённого эргономического показателя kэрг (Таблица 6.5 из Приложения 2). Следует заметить, что если значение хотя бы одного единичного показателя равняется нулю, то расчёт не производится и принимается kэрг = 0.

Сумма взвешенных эргономических показателей kэрг = 4,38. Полученное значение обобщённого эргономического показателя, равное 4,38, означает, что эргономичность оцениваемого интерфейса соответствует уровню, который не оказывает неблагоприятного влияния на состояние здоровья работающего, в полной мере удовлетворяет требованиям поддержания высокой и устойчивой работоспособности. Параметры исследуемого объекта соответствуют допустимым значениям нормативных требований и по некоторым показателям приближаются к оптимальным.

Выводы к главе 6

1. Дан расчет эргономических характеристик программы Trajan.

2. Сделан вывод о ее соответствии нормативным значениям.

Заключение

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

На основании проведенных мной экспериментов можно сделать вывод о том, что более подходящим типом нейронной сети для решения поставленной задачи является трехслойная MLP сеть с двумя элементами во внутреннем слое, обученная методом Левенберга-Маркара, со следующими параметрами: число эпох обучения равным 100, ошибкой обучения равной 0,00008493, ошибкой контроля равной 0,819.

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

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

Список литературы

1. Бокшицкий Л.В. «Основы эргономики и охраны труда» МЭИ 1990г.

2. Алексеев А.В. «Нейронные сети» МЭИ 2000г.

3. «Нейронные сети» перевод с английского StatSoft RUSSIА 2000г.

4. Уоссермен Ф. «Нейрокомпьютерная техника» Москва, «Мир»,1992 г.

5. «Международные валютно-кредитные и финансовые отношения» Москва, «Финансы и статистика» 1994 г.

6. «Словарь делового человека» Москва, «Экономика» 1992 г.

7. Кендалл М. и Стьюарт А. «Многомерный статистический анализ и временные ряды» Москва, «Наука» 1976 г.

Приложение 1. Листинг программы

Основной модуль программы:

program BM2TRAJ;

uses

Forms,

converter in 'converter.pas' {Form1};

{$R *.RES}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

Функциональный модуль:

unit converter;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Mask, ToolEdit, ExtCtrls, Buttons, PSock;

type

TForm1 = class(TForm)

OutputFile: TFilenameEdit;

Label1: TLabel;

Label2: TLabel;

ConvertBtn: TBitBtn;

BitBtn2: TBitBtn;

Bevel1: TBevel;

InputFile: TFilenameEdit;

procedure BitBtn2Click(Sender: TObject);

procedure ConvertBtnClick(Sender: TObject);

procedure OutputFileAfterDialog(Sender: TObject; var Name: String;

var Action: Boolean);

procedure InputFileAfterDialog(Sender: TObject; var Name: String;

var Action: Boolean);

procedure OutputFileChange(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

F1, F2 :Text;

implementation

{$R *.DFM}

procedure DeleteTabs(var s:string);

var p:integer;

begin

s := Trim(s);

while pos(#9, s)>0 do

begin

p := pos(#9, s);

Delete(s, p, 1);

insert(' ', s, p);

end;

s := s + ' ';

end;

function GetNumCols(s: string): integer;

var cols: integer;

begin

DeleteTabs(s);

cols := 0;

while Length(s) > 1 do

begin

inc(cols);

Delete(s, 1, Pos(' ', s)-1);

s := TrimLeft(s);

end;

Result := Cols;

end;

function FindInStrList(var list:TStringList;s:String): integer;

var i: byte;

index: integer;

begin

if list.Find(s,Index)=True then Result := Index+1

else

begin

list.Add(s);

Result := list.Count;

end;

end;

procedure WriteToMatrix(s: string; var Matrix: variant; NumCols: integer);

var p,col: integer;

begin

col:=0;

DeleteTabs(s);

while Length(s) > 1 do

begin

Inc(col);

if Col > NumCols then

raise Exception.Create('Число столбцов больше намеченного !!!');

Matrix[Col, VarArrayHighBound(Matrix,2)]:=copy(s, 1, Pos(' ', s)-1);

Delete(s, 1, Pos(' ', s)-1);

s := TrimLeft(s);

end;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

Close

end;

procedure TForm1.ConvertBtnClick(Sender: TObject);

var s: string;

Matrix: Variant;

i,j : integer;

Line: integer;

NumCols : integer;

IzvrColsNum, Err: integer;

IsIzvrCol: array of boolean;

SL: array of TStringList;

num: double;

//==========================================================================

begin

// открываем исходный файл

AssignFile(F1, InputFile.FileName);

Reset(F1);

Line := 1;

ReadLn(F1, s);

// если первая строка служебная, то читаем еще одну

if (Pos(' Input ', s)>0)or(Pos(' NotUsed ', s)>0)

or(Pos(' Annote ', s)>0)or(Pos(' Pattern ', s)>0) then

begin

ReadLn(F1, s);

end;

NumCols := GetNumCols(s);

// сохраняем исходный файл в матрицу

Matrix := VarArrayCreate([1, NumCols, 1, 1],varVariant);

WriteToMatrix(s, Matrix, NumCols);

while not EOF(F1) do

begin

inc(Line);

ReadLn(F1, s);

j := VarArrayHighBound(Matrix,1);

VarArrayRedim(Matrix, Line);

WriteToMatrix(s, Matrix, NumCols);

end;

CloseFile(F1);

//============================

// собственно конвертация

//============================

// *.PAT

if OutputFile.FilterIndex=1 then

begin

AssignFile(F2, OutputFile.FileName);

rewrite(F2);

WriteLn(F2, '# Trajan v1.0 Patterns');

WriteLn(F2, '# Automatically generated by BrainMaker --> Trajan converter');

WriteLn(F2, '');

WriteLn(F2, 'no_attributes ', NumCols);

WriteLn(F2, 'no_patterns ',VarArrayHighBound(Matrix,2)-1);

WriteLn(F2, 'attributes ');

// определяем, какие столбцы нормальные, а какие символьные

SetLength(IsIzvrCol, NumCols);

SetLength(SL, NumCols);

for i := 1 to NumCols do

begin

Val(VarToStr(Matrix[i,2]), num, Err);

if Err=0 then IsIzvrCol[i-1]:= false

else IsIzvrCol[i-1]:= true;

end;

// создаем стринглисты для символьных столбцов

// и заносим в них набор значений столбца

for i := 0 to NumCols-1 do

if IsIzvrCol[i] then

begin

SL[i]:=TStringList.Create;

SL[i].Sorted :=TRUE;

for j:=2 to VarArrayHighBound(Matrix,2) do

FindInStrList(SL[i], VarToStr(Matrix[i+1, j]));

end;

// записываем атрибуты

for i := 1 to NumCols do

begin

if IsIzvrCol[i-1] then

begin

Write(F2, 'i ',Matrix[i,1]);

s:='={';

for j:=1 to SL[i-1].Count do

s:=s+SL[i-1].Strings[j-1]+',';

s := Copy(s, 1 , Length(s)-1)+'}';;

WriteLn(F2, s);

end

else

WriteLn(F2, 'i ',Matrix[i,1]);

end;

// записываем значения атрибутов

for i := 2 to VarArrayHighBound(Matrix,2) do

begin

s:=IntToStr(i-1);

if Length(s)=1 then s := '0'+s;

writeln(F2, '!',s,' T');

s := '';

for j:=1 to NumCols do

begin

if IsIzvrCol[j-1] then

s:=s+IntToStr(FindInStrList(SL[j-1], VarToStr(Matrix[j,i])))+#9

else

s:=s+VarToStr(Matrix[j,i])+#9;

end;

WriteLn(F2,s);

end;

CloseFile(F2);

for j:=0 to NumCols-1 do

if IsIzvrCol[j] then

begin

SL[j].Free;

// SL[j]:=nil;

end;

end;

// *.CSV

if OutputFile.FilterIndex=2 then

begin

AssignFile(F2, OutputFile.FileName);

rewrite(F2);

for i := 1 to VarArrayHighBound(Matrix,2) do

begin

s:=',';

for j:=1 to NumCols do

begin

s:=s+VarToStr(Matrix[j,i])+',';

end;

s := Copy(s, 1 , Length(s)-1);

WriteLn(F2,s);

end;

CloseFile(F2);

end;

// *.TXT

if OutputFile.FilterIndex=3 then

begin

AssignFile(F2, OutputFile.FileName);

rewrite(F2);

for i := 1 to VarArrayHighBound(Matrix,2) do

begin

s:=#9;

for j:=1 to NumCols do s:=s+VarToStr(Matrix[j,i])+#9;

s := Copy(s, 1 , Length(s)-1);

WriteLn(F2,s);

end;

CloseFile(F2);

end;

//====================================================================

MessageDlg('Конвертирование успешно завершено. ', mtInformation, [mbOK], 0);

end;

procedure TForm1.OutputFileAfterDialog(Sender: TObject; var Name: String;

var Action: Boolean);

begin

if (InputFile.FileName <> '')and(Name<>'') then

ConvertBtn.Enabled := true

else

ConvertBtn.Enabled := false;

end;

procedure TForm1.InputFileAfterDialog(Sender: TObject; var Name: String;

var Action: Boolean);

begin

if (OutputFile.FileName <> '')and(Name<>'') then

ConvertBtn.Enabled := true

else

ConvertBtn.Enabled := false;

end;

procedure TForm1.OutputFileChange(Sender: TObject);

var s:string;

begin

case OutputFile.FilterIndex of

1: s:='.pat';

2: s:='.csv';

3: s:='.txt';

end;

if ExtractFileExt(OutputFile.FileName)='' then

OutputFile.FileName:=OutputFile.FileName+s;

end;

end.

Приложение 2. Пример работы программы конвертора

Исходный файл (в формате BrainMaker):

Patient PrimDia Diags Admit# Age Heredity Gender LOS

0144 11 2 1 30 low male 142

0195 32 5 4 18 high male 182

0357 25 2 3 37 low female 60

0665 12 2 4 33 high female 80

0892 32 1 2 18 low male 22

0965 1 1 5 26 high male 50

1026 1 1 4 8 unknown female 7

1143 15 5 4 1 unknown male 7

1351 22 2 2 11 low male 7

1758 32 2 1 4 unknown female 14

1853 12 2 4 22 low female 48

1844 21 1 3 30 unknown female 12

Преобразованный файл в формате Trajan (основной формат *.pat):

# Trajan v1.0 Patterns

# Automatically generated by BrainMaker --> Trajan converter

no_attributes 8

no_patterns 12

attributes

i Patient

i PrimDia

i Diags

i Admit#

i Age

i Heredity={high,low,unknown}

i Gender={female,male}

i LOS

!01 T

0144 11 2 1 30 2 2 142

!02 T

0195 32 5 4 18 1 2 182

!03 T

0357 25 2 3 37 2 1 60

!04 T

0665 12 2 4 33 1 1 80

!05 T

0892 32 1 2 18 2 2 22

!06 T

0965 1 1 5 26 1 2 50

!07 T

1026 1 1 4 8 3 1 7

!08 T

1143 15 5 4 1 3 2 7

!09 T

1351 22 2 2 11 2 2 7

!10 T

1758 32 2 1 4 3 1 14

!11 T

1853 12 2 4 22 2 1 48

!12 T

1844 21 1 3 30 3 1 12

Преобразованный файл в формате Trаjan (формат *.csv):

,Patient,PrimDia,Diags,Admit#,Age,Heredity,Gender,LOS

,0144,11,2,1,30,low,male,142

,0195,32,5,4,18,high,male,182

,0357,25,2,3,37,low,female,60

,0665,12,2,4,33,high,female,80

,0892,32,1,2,18,low,male,22

,0965,1,1,5,26,high,male,50

,1026,1,1,4,8,unknown,female,7

,1143,15,5,4,1,unknown,male,7

,1351,22,2,2,11,low,male,7

,1758,32,2,1,4,unknown,female,14

,1853,12,2,4,22,low,female,48

,1844,21,1,3,30,unknown,female,12

Преобразованный файл в формате Trojan (текстовый формат *.txt):

Patient PrimDia Diags Admit# Age Heredity Gender LOS

0144 11 2 1 30 low male 142

0195 32 5 4 18 high male 182

0357 25 2 3 37 low female 60

0665 12 2 4 33 high female 80

0892 32 1 2 18 low male 22

0965 1 1 5 26 high male 50

1026 1 1 4 8 unknown female 7

1143 15 5 4 1 unknown male 7

1351 22 2 2 11 low male 7

1758 32 2 1 4 unknown female 14

1853 12 2 4 22 low female 48

1844 21 1 3 30 unknown female 12

Размещено на Allbest.ru


Подобные документы

  • Задача анализа деловой активности, факторы, влияющие на принятие решений. Современные информационные технологии и нейронные сети: принципы их работы. Исследование применения нейронных сетей в задачах прогнозирования финансовых ситуаций и принятия решений.

    дипломная работа [955,3 K], добавлен 06.11.2011

  • Исследование задачи и перспектив использования нейронных сетей на радиально-базисных функциях для прогнозирования основных экономических показателей: валовый внутренний продукт, национальный доход Украины и индекс потребительских цен. Оценка результатов.

    курсовая работа [4,9 M], добавлен 14.12.2014

  • Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.

    дипломная работа [4,6 M], добавлен 22.09.2011

  • Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.

    дипломная работа [2,3 M], добавлен 13.10.2015

  • Описание технологического процесса напуска бумаги. Конструкция бумагоделательной машины. Обоснование применения нейронных сетей в управлении формованием бумажного полотна. Математическая модель нейрона. Моделирование двух структур нейронных сетей.

    курсовая работа [1,5 M], добавлен 15.10.2012

  • Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.

    контрольная работа [135,5 K], добавлен 30.11.2015

  • Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.

    дипломная работа [814,6 K], добавлен 29.09.2014

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

    курсовая работа [527,2 K], добавлен 28.05.2009

  • Способы применения нейронных сетей для решения различных математических и логических задач. Принципы архитектуры их построения и цели работы программных комплексов. Основные достоинства и недостатки каждой из них. Пример рекуррентной сети Элмана.

    курсовая работа [377,4 K], добавлен 26.02.2015

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

    реферат [158,2 K], добавлен 16.03.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.